mirror of
https://github.com/usatiuk/dhfs.git
synced 2025-10-28 12:37:48 +01:00
Sync-base: remove our referrers from canDelete
This commit is contained in:
@@ -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;
|
||||
|
||||
|
||||
@@ -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 {
|
||||
|
||||
@@ -32,7 +32,6 @@ message GetObjectReply {
|
||||
|
||||
message CanDeleteRequest {
|
||||
dhfs.persistence.JObjectKeyP name = 2;
|
||||
repeated dhfs.persistence.JObjectKeyP ourReferrers = 3;
|
||||
}
|
||||
|
||||
message CanDeleteReply {
|
||||
|
||||
Reference in New Issue
Block a user