@@ -684,26 +684,25 @@ public void onResponse(Releasable releasable) {
684684                shardOperationOnReplica (
685685                    replicaRequest .getRequest (),
686686                    replica ,
687-                     ActionListener .wrap ((replicaResult ) -> replicaResult .runPostReplicaActions (ActionListener .wrap (r  -> {
688-                         final  ReplicaResponse  response  = new  ReplicaResponse (
689-                             replica .getLocalCheckpoint (),
690-                             replica .getLastSyncedGlobalCheckpoint ()
691-                         );
692-                         releasable .close (); // release shard operation lock before responding to caller 
693-                         if  (logger .isTraceEnabled ()) {
694-                             logger .trace (
695-                                 "action [{}] completed on shard [{}] for request [{}]" ,
696-                                 transportReplicaAction ,
697-                                 replicaRequest .getRequest ().shardId (),
698-                                 replicaRequest .getRequest ()
699-                             );
700-                         }
701-                         setPhase (task , "finished" );
702-                         onCompletionListener .onResponse (response );
687+                     ActionListener .wrap ((replicaResult ) -> {
688+                         final  var  response  = new  ReplicaResponse (replica .getLocalCheckpoint (), replica .getLastSyncedGlobalCheckpoint ());
689+                         replicaResult .runPostReplicaActions (ActionListener .wrap (r  -> {
690+                             releasable .close (); // release shard operation lock before responding to caller 
691+                             if  (logger .isTraceEnabled ()) {
692+                                 logger .trace (
693+                                     "action [{}] completed on shard [{}] for request [{}]" ,
694+                                     transportReplicaAction ,
695+                                     replicaRequest .getRequest ().shardId (),
696+                                     replicaRequest .getRequest ()
697+                                 );
698+                             }
699+                             setPhase (task , "finished" );
700+                             onCompletionListener .onResponse (response );
701+                         }, e  -> {
702+                             Releasables .closeWhileHandlingException (releasable ); // release shard operation lock before responding to caller 
703+                             responseWithFailure (e );
704+                         }));
703705                    }, e  -> {
704-                         Releasables .closeWhileHandlingException (releasable ); // release shard operation lock before responding to caller 
705-                         responseWithFailure (e );
706-                     })), e  -> {
707706                        Releasables .closeWhileHandlingException (releasable ); // release shard operation lock before responding to caller 
708707                        AsyncReplicaAction .this .onFailure (e );
709708                    })
0 commit comments