|
|
@@ -81,21 +81,20 @@ public class TransportShardRefreshAction extends TransportReplicationAction<
|
|
|
IndexShard primary,
|
|
|
ActionListener<PrimaryResult<ShardRefreshReplicaRequest, ReplicationResponse>> listener
|
|
|
) {
|
|
|
- ActionListener.completeWith(listener, () -> {
|
|
|
- ShardRefreshReplicaRequest replicaRequest = new ShardRefreshReplicaRequest(shardRequest.shardId(), primary.refresh(SOURCE_API));
|
|
|
+ primary.externalRefresh(SOURCE_API, listener.delegateFailure((l, refreshResult) -> {
|
|
|
+ ShardRefreshReplicaRequest replicaRequest = new ShardRefreshReplicaRequest(shardRequest.shardId(), refreshResult);
|
|
|
replicaRequest.setParentTask(shardRequest.getParentTask());
|
|
|
logger.trace("{} refresh request executed on primary", primary.shardId());
|
|
|
- return new PrimaryResult<>(replicaRequest, new ReplicationResponse());
|
|
|
- });
|
|
|
+ l.onResponse(new PrimaryResult<>(replicaRequest, new ReplicationResponse()));
|
|
|
+ }));
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
protected void shardOperationOnReplica(ShardRefreshReplicaRequest request, IndexShard replica, ActionListener<ReplicaResult> listener) {
|
|
|
- ActionListener.completeWith(listener, () -> {
|
|
|
- replica.refresh(SOURCE_API);
|
|
|
+ replica.externalRefresh(SOURCE_API, listener.delegateFailure((l, refreshResult) -> {
|
|
|
logger.trace("{} refresh request executed on replica", replica.shardId());
|
|
|
- return new ReplicaResult();
|
|
|
- });
|
|
|
+ l.onResponse(new ReplicaResult());
|
|
|
+ }));
|
|
|
}
|
|
|
|
|
|
@Override
|