public synchronized List < TransactionTask > getBacklogTasks ( ) { List < TransactionTask > pendingTasks = new ArrayList <> ( ) ; Iterator < TransactionTask > iter = m_backlog . iterator ( ) ; // skip the first fragments which is streaming snapshot TransactionTask mpTask = iter . next ( ) ; assert ( ! mpTask . getTransactionState ( ) . isSinglePartition ( ) ) ; while ( iter . hasNext ( ) ) { TransactionTask task = iter . next ( ) ; // Skip all fragments of current transaction if ( task . getTxnId ( ) == mpTask . getTxnId ( ) ) { continue ; } assert ( task . getTransactionState ( ) . isSinglePartition ( ) ) ; pendingTasks . add ( task ) ; } return pendingTasks ; }
Called from streaming snapshot execution