private void pingTransactions ( ) { log . info ( "Start sending transaction pings." ) ; txnList . stream ( ) . forEach ( uuid -> { try { log . debug ( "Sending ping request for txn ID: {} with lease: {}" , uuid , txnLeaseMillis ) ; controller . pingTransaction ( stream , uuid , txnLeaseMillis ) . exceptionally ( e -> { log . warn ( "Ping Transaction for txn ID:{} failed" , uuid , e ) ; return null ; } ) ; } catch ( Exception e ) { // Suppressing exception to prevent future pings from not being executed. log . warn ( "Encountered exception when attepting to ping transactions" , e ) ; } } ) ; log . trace ( "Completed sending transaction pings." ) ; }
Ping all the transactions present in the list . Controller client performs retries in case of a failures . On a failure the particular transaction it is removed from the ping list .