4 Commits

5 changed files with 19 additions and 8 deletions

View File

@@ -215,7 +215,7 @@ public class JObjectResolver {
for (var cb : _writeListeners.get(t))
cb.apply((JObject) self);
}
if (externalChanged) {
if (externalChanged && hasLocalCopy(self)) {
invalidationQueueService.pushInvalidationToAll(self.getName());
}
}

View File

@@ -80,13 +80,22 @@ public class RemoteObjectServiceServer implements DhfsObjectSyncGrpc {
continue;
}
builder.addPushedMoves(PushedMove.newBuilder()
.setParent((ObjectHeader) obj.get().runReadLocked(JObject.ResolutionStrategy.NO_RESOLUTION, (m, d) -> {
if (m.getKnownClass().isAnnotationPresent(PushResolution.class))
throw new NotImplementedException();
ObjectHeader header;
return m.toRpcHeader();
}))
try {
header = obj.get().runReadLocked(JObject.ResolutionStrategy.NO_RESOLUTION, (m, d) -> {
if (m.getKnownClass().isAnnotationPresent(PushResolution.class))
throw new NotImplementedException();
return m.toRpcHeader();
});
} catch (DeletedObjectAccessException e) {
it.remove();
continue;
}
builder.addPushedMoves(PushedMove.newBuilder()
.setParent(header)
.setKid(next.child())
.build());
}

View File

@@ -80,7 +80,7 @@ public class SyncHandler {
boolean updatedRemoteVersion = false;
var oldRemoteVer = md.getRemoteCopies().put(from, receivedTotalVer);
if (oldRemoteVer != null && !oldRemoteVer.equals(receivedTotalVer)) updatedRemoteVersion = true;
if (oldRemoteVer == null || !oldRemoteVer.equals(receivedTotalVer)) updatedRemoteVersion = true;
boolean hasLower = false;
boolean hasHigher = false;

View File

@@ -8,6 +8,7 @@ set -x || true
exec java \
-Xmx512M \
--add-exports java.base/sun.nio.ch=ALL-UNNAMED \
--add-exports java.base/jdk.internal.access=ALL-UNNAMED \
-Ddhfs.objects.persistence.files.root=/dhfs_root/p \
-Ddhfs.objects.root=/dhfs_root/d \
-Ddhfs.fuse.root=/dhfs_root_fuse \

View File

@@ -28,6 +28,7 @@ java \
-Ddhfs.objects.writeback.limit=134217728 \
-Ddhfs.objects.lru.limit=134217728 \
--add-exports java.base/sun.nio.ch=ALL-UNNAMED \
--add-exports java.base/jdk.internal.access=ALL-UNNAMED \
-Ddhfs.objects.persistence.files.root="$SCRIPT_DIR"/../data/objects \
-Ddhfs.objects.root="$SCRIPT_DIR"/../data/configs \
-Ddhfs.fuse.root="$SCRIPT_DIR"/../fuse \