private CompletableFuture < Void > forwardCompleteCommand ( ByteString cacheName , RpcManager rpcManager , TxState state ) { //TODO what if the originator crashes in the meanwhile? //actually, the reaper would rollback the transaction later... Address originator = state . getOriginator ( ) ; CacheRpcCommand command = buildForwardCommand ( cacheName , state . getTimeout ( ) ) ; return rpcManager . invokeCommand ( originator , command , validOnly ( ) , rpcManager . getSyncRpcOptions ( ) ) . handle ( handler ( ) ) . toCompletableFuture ( ) ; }
Completes the transaction in the cache when the originator is still in the cache topology .