public static File [ ] getLogFiles ( File [ ] logDirList , long snapshotZxid ) { List < File > files = Util . sortDataDir ( logDirList , "log" , true ) ; long logZxid = 0 ; // Find the log file that starts before or at the same time as the // zxid of the snapshot for ( File f : files ) { long fzxid = Util . getZxidFromName ( f . getName ( ) , "log" ) ; if ( fzxid > snapshotZxid ) { continue ; } // the files // are sorted with zxid's if ( fzxid > logZxid ) { logZxid = fzxid ; } } List < File > v = new ArrayList < File > ( 5 ) ; for ( File f : files ) { long fzxid = Util . getZxidFromName ( f . getName ( ) , "log" ) ; if ( fzxid < logZxid ) { continue ; } v . add ( f ) ; } return v . toArray ( new File [ 0 ] ) ; }
Find the log file that starts at or just before the snapshot . Return this and all subsequent logs . Results are ordered by zxid of file ascending order .