From 2a2a87e2651ecdaf8fdfeac79ba6c53ae80d7650 Mon Sep 17 00:00:00 2001 From: Stepan Usatiuk Date: Sun, 23 Jun 2024 22:11:40 +0200 Subject: [PATCH] use OutdatedUpdateException in Synchandler --- .../repository/distributed/SyncHandler.java | 15 +++++++-------- 1 file changed, 7 insertions(+), 8 deletions(-) diff --git a/server/src/main/java/com/usatiuk/dhfs/storage/objects/repository/distributed/SyncHandler.java b/server/src/main/java/com/usatiuk/dhfs/storage/objects/repository/distributed/SyncHandler.java index b827e7be..0451e447 100644 --- a/server/src/main/java/com/usatiuk/dhfs/storage/objects/repository/distributed/SyncHandler.java +++ b/server/src/main/java/com/usatiuk/dhfs/storage/objects/repository/distributed/SyncHandler.java @@ -20,6 +20,9 @@ import java.util.UUID; @ApplicationScoped public class SyncHandler { + private static class OutdatedUpdateException extends RuntimeException { + } + @Inject JObjectManager jObjectManager; @@ -77,7 +80,7 @@ public class SyncHandler { if (md.getRemoteCopies().getOrDefault(from, 0L) > receivedTotalVer) { Log.error("Received older index update than was known for host: " + from + " " + header.getName()); - throw new StatusRuntimeException(Status.INVALID_ARGUMENT.withDescription("Outdated!")); + throw new OutdatedUpdateException(); } String rcv = ""; @@ -102,7 +105,7 @@ public class SyncHandler { if (md.getOurVersion() > receivedTotalVer) { Log.info("Received older index update than known: " + from + " " + header.getName()); - throw new StatusRuntimeException(Status.INVALID_ARGUMENT.withDescription("Outdated!")); + throw new OutdatedUpdateException(); } if (Objects.equals(md.getOurVersion(), receivedTotalVer)) { @@ -147,13 +150,9 @@ public class SyncHandler { for (var u : request.getHeaderList()) { try { handleOneUpdate(UUID.fromString(request.getSelfUuid()), u); + } catch (OutdatedUpdateException ignored) { + Log.info("Outdated update of " + u.getName() + " from " + request.getSelfUuid()); } catch (Exception ex) { - if (ex instanceof StatusRuntimeException sr) { - if (sr.getStatus().equals(Status.INVALID_ARGUMENT)) { - Log.info("Not reporting error when updating index of " + u.getName() + " from " + request.getSelfUuid() + ": " + sr.getMessage()); - continue; - } - } Log.info("Error when handling update from " + request.getSelfUuid() + " of " + u.getName(), ex); builder.addErrors(IndexUpdateError.newBuilder().setObjectName(u.getName()).setError(ex.toString() + Arrays.toString(ex.getStackTrace())).build()); }