private void handleNullRead ( ) throws IOException { if ( curStreamFinished && readNullAfterStreamFinished ) { // If we read a null operation after the NameNode closed // the stream, then we surely reached the end of the file. curStreamConsumed = true ; } else { try { // This affects how much we wait after we reached the end of the // current stream. Thread . sleep ( 100 ) ; } catch ( InterruptedException e ) { throw new IOException ( e ) ; } } if ( curStreamFinished ) readNullAfterStreamFinished = true ; refreshStreamPosition ( ) ; }
Called after we read a null operation from the transaction log .