Sync-base: remove our referrers from canDelete

This commit is contained in:
2025-04-26 16:07:23 +02:00
parent 8d3244fe64
commit f87eb365c3
3 changed files with 2 additions and 7 deletions

View File

@@ -138,7 +138,7 @@ public class RemoteObjectDeleter {
.map(PeerInfo::id)
.filter(id -> !finalTarget.confirmedDeletes().contains(id)).toList();
var ret = remoteObjectServiceClient.canDelete(missing, objName, target.refsFrom());
var ret = remoteObjectServiceClient.canDelete(missing, objName);
long ok = 0;

View File

@@ -117,15 +117,11 @@ public class RemoteObjectServiceClient {
return OpPushReply.getDefaultInstance();
}
public Collection<Pair<PeerId, CanDeleteReply>> canDelete(Collection<PeerId> targets, JObjectKey objKey, Collection<JDataRef> ourReferrers) {
public Collection<Pair<PeerId, CanDeleteReply>> canDelete(Collection<PeerId> targets, JObjectKey objKey) {
Log.trace("Asking canDelete for " + objKey + " from " + targets.stream().map(PeerId::toString).collect(Collectors.joining(", ")));
try {
return _batchExecutor.invokeAll(targets.stream().<Callable<Pair<PeerId, CanDeleteReply>>>map(h -> () -> {
var req = CanDeleteRequest.newBuilder().setName(JObjectKeyP.newBuilder().setName(objKey.toString()).build());
assert ourReferrers.isEmpty();
for (var ref : ourReferrers) {
req.addOurReferrers(JObjectKeyP.newBuilder().setName(ref.obj().toString()).build());
}
return Pair.of(h, rpcClientFactory.withObjSyncClient(h, (p, client) -> client.canDelete(req.build())));
}).toList()).stream().map(f -> {
try {

View File

@@ -32,7 +32,6 @@ message GetObjectReply {
message CanDeleteRequest {
dhfs.persistence.JObjectKeyP name = 2;
repeated dhfs.persistence.JObjectKeyP ourReferrers = 3;
}
message CanDeleteReply {