void mergeExpiredTransactions ( Session session ) { long timestamp = getFirstLiveTransactionTimestamp ( ) ; while ( true ) { long commitTimestamp = 0 ; Object [ ] actions = null ; synchronized ( committedTransactionTimestamps ) { if ( committedTransactionTimestamps . isEmpty ( ) ) { break ; } commitTimestamp = committedTransactionTimestamps . getFirst ( ) ; if ( commitTimestamp < timestamp ) { committedTransactionTimestamps . removeFirst ( ) ; actions = ( Object [ ] ) committedTransactions . removeFirst ( ) ; } else { break ; } } mergeTransaction ( session , actions , 0 , actions . length , commitTimestamp ) ; rowActionMapRemoveTransaction ( actions , 0 , actions . length , true ) ; } }
expire all committed transactions that are no longer in scope