private void extractTransactionalInformationFromLogs( String path, File customLogLocation, DatabaseLayout databaseLayout, File storeDir ) throws IOException
{
LogService logService = new SimpleLogService( NullLogProvider.getInstance(), NullLogProvider.getInstance() );
File neoStore = databaseLayout.metadataStore();
GraphDatabaseService database = new TestGraphDatabaseFactory().newEmbeddedDatabaseBuilder( storeDir )
.setConfig( logical_logs_location, path ).newGraphDatabase();
for ( int i = 0; i < 10; i++ )
{
try ( Transaction transaction = database.beginTx() )
{
Node node = database.createNode();
transaction.success();
}
}
database.shutdown();
MetaDataStore.setRecord( pageCache, neoStore, MetaDataStore.Position.LAST_CLOSED_TRANSACTION_LOG_VERSION,
MetaDataRecordFormat.FIELD_NOT_PRESENT );
Config config = Config.defaults( logical_logs_location, path );
StoreMigrator migrator = new StoreMigrator( fileSystemRule.get(), pageCache, config, logService, jobScheduler );
LogPosition logPosition = migrator.extractTransactionLogPosition( neoStore, databaseLayout, 100 );
File[] logFiles = customLogLocation.listFiles();
assertNotNull( logFiles );
assertEquals( 0, logPosition.getLogVersion() );
assertEquals( logFiles[0].length(), logPosition.getByteOffset() );
}