mirror of
https://github.com/usatiuk/dhfs.git
synced 2025-10-28 20:47:49 +01:00
Sync-base: remove our referrers from canDelete
This commit is contained in:
@@ -138,7 +138,7 @@ public class RemoteObjectDeleter {
|
|||||||
.map(PeerInfo::id)
|
.map(PeerInfo::id)
|
||||||
.filter(id -> !finalTarget.confirmedDeletes().contains(id)).toList();
|
.filter(id -> !finalTarget.confirmedDeletes().contains(id)).toList();
|
||||||
|
|
||||||
var ret = remoteObjectServiceClient.canDelete(missing, objName, target.refsFrom());
|
var ret = remoteObjectServiceClient.canDelete(missing, objName);
|
||||||
|
|
||||||
long ok = 0;
|
long ok = 0;
|
||||||
|
|
||||||
|
|||||||
@@ -117,15 +117,11 @@ public class RemoteObjectServiceClient {
|
|||||||
return OpPushReply.getDefaultInstance();
|
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(", ")));
|
Log.trace("Asking canDelete for " + objKey + " from " + targets.stream().map(PeerId::toString).collect(Collectors.joining(", ")));
|
||||||
try {
|
try {
|
||||||
return _batchExecutor.invokeAll(targets.stream().<Callable<Pair<PeerId, CanDeleteReply>>>map(h -> () -> {
|
return _batchExecutor.invokeAll(targets.stream().<Callable<Pair<PeerId, CanDeleteReply>>>map(h -> () -> {
|
||||||
var req = CanDeleteRequest.newBuilder().setName(JObjectKeyP.newBuilder().setName(objKey.toString()).build());
|
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())));
|
return Pair.of(h, rpcClientFactory.withObjSyncClient(h, (p, client) -> client.canDelete(req.build())));
|
||||||
}).toList()).stream().map(f -> {
|
}).toList()).stream().map(f -> {
|
||||||
try {
|
try {
|
||||||
|
|||||||
@@ -32,7 +32,6 @@ message GetObjectReply {
|
|||||||
|
|
||||||
message CanDeleteRequest {
|
message CanDeleteRequest {
|
||||||
dhfs.persistence.JObjectKeyP name = 2;
|
dhfs.persistence.JObjectKeyP name = 2;
|
||||||
repeated dhfs.persistence.JObjectKeyP ourReferrers = 3;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
message CanDeleteReply {
|
message CanDeleteReply {
|
||||||
|
|||||||
Reference in New Issue
Block a user