diff --git a/dhfs-parent/server/src/main/java/com/usatiuk/dhfs/repository/RemoteObjectServiceServerImpl.java b/dhfs-parent/server/src/main/java/com/usatiuk/dhfs/repository/RemoteObjectServiceServerImpl.java index 54153859..7b7d1fab 100644 --- a/dhfs-parent/server/src/main/java/com/usatiuk/dhfs/repository/RemoteObjectServiceServerImpl.java +++ b/dhfs-parent/server/src/main/java/com/usatiuk/dhfs/repository/RemoteObjectServiceServerImpl.java @@ -110,7 +110,7 @@ public class RemoteObjectServiceServerImpl { }); } } catch (Exception e) { - Log.error(e, e); + Log.error("Error handling ops", e); throw e; } return Uni.createFrom().item(OpPushReply.getDefaultInstance()); diff --git a/dhfs-parent/server/src/main/java/com/usatiuk/dhfs/repository/invalidation/InvalidationQueueService.java b/dhfs-parent/server/src/main/java/com/usatiuk/dhfs/repository/invalidation/InvalidationQueueService.java index 94a6df33..294d7318 100644 --- a/dhfs-parent/server/src/main/java/com/usatiuk/dhfs/repository/invalidation/InvalidationQueueService.java +++ b/dhfs-parent/server/src/main/java/com/usatiuk/dhfs/repository/invalidation/InvalidationQueueService.java @@ -117,7 +117,6 @@ public class InvalidationQueueService { try { ArrayListValuedHashMap ops = new ArrayListValuedHashMap<>(); ArrayListValuedHashMap commits = new ArrayListValuedHashMap<>(); - for (var e : data) { // TODO: Race? if (!peerInfoService.existsPeer(e.peer())) { @@ -162,6 +161,11 @@ public class InvalidationQueueService { remoteObjectServiceClient.pushOps(p, list); commits.get(p).forEach(Runnable::run); } + } catch (Exception e) { + Log.warnv("Failed to send invalidations, will retry", e); + for (var inv : data) { + pushInvalidationToOne(inv); + } } finally { locks.forEach(AutoCloseableNoThrow::close); }