public void open ( ) throws IOException { synchronized ( lockObject ) { lastAccessTime = System . nanoTime ( ) ; initFile ( ) ; long pagesCount = segChannel . size ( ) / OWALPage . PAGE_SIZE ; if ( segChannel . size ( ) % OWALPage . PAGE_SIZE > 0 ) { OLogManager . instance ( ) . error ( this , "Last WAL page was written partially, auto fix" , null ) ; segChannel . truncate ( OWALPage . PAGE_SIZE * pagesCount ) ; } firstCachedPage = - 1 ; pageCache . clear ( ) ; lastWrittenPage = null ; lastWrittenPageIndex = - 1 ; } }
Initializes cache and opens underlying file .