@Test
public void shouldHandleWritesProperlyAfterRecovery() throws Exception
{
EphemeralFileSystemAbstraction fs = fsRule.get();
GraphDatabaseService db = newDB( fs );
long node1 = createNode( db );
try ( EphemeralFileSystemAbstraction crashedFs = fs.snapshot() )
{
db.shutdown();
db = newDB( crashedFs );
long node2 = createNode( db );
db.shutdown();
File logFile = testDirectory.databaseLayout().file( TransactionLogFiles.DEFAULT_NAME + ".0" );
assertThat( logEntries( crashedFs, logFile ), containsExactly(
startEntry( -1, -1 ), commandEntry( node1, NodeCommand.class ),
commandEntry( StatementConstants.ANY_LABEL, NodeCountsCommand.class ), commitEntry( 2 ),
startEntry( -1, -1 ), commandEntry( node2, NodeCommand.class ),
commandEntry( StatementConstants.ANY_LABEL, NodeCountsCommand.class ), commitEntry( 3 ),
checkPoint( new LogPosition( 0, 250 ) ) ) );
}
}