private void placeMetaDataStoreLast( List<StoreFileMetadata> files ) { int index = 0; for ( StoreFileMetadata file : files ) { if ( databaseLayout.metadataStore().equals( file.file() ) ) { break; } index++; } if ( index < files.size() - 1 ) { StoreFileMetadata metaDataStoreFile = files.remove( index ); files.add( metaDataStoreFile ); } }
@Test public void shouldListTxLogFiles() throws Exception { assertTrue( neoStoreDataSource.listStoreFiles( true ).stream() .map( metaData -> metaData.file().getName() ) .anyMatch( fileName -> TransactionLogFiles.DEFAULT_FILENAME_FILTER.accept( null, fileName ) ) ); }
@Test public void shouldNotListTxLogFiles() throws Exception { assertTrue( neoStoreDataSource.listStoreFiles( false ).stream() .map( metaData -> metaData.file().getName() ) .noneMatch( fileName -> TransactionLogFiles.DEFAULT_FILENAME_FILTER.accept( null, fileName ) ) ); }
@Test public void doNotListFilesFromAdditionalProviderThatRegisterTwice() throws IOException { NeoStoreFileListing neoStoreFileListing = neoStoreDataSource.getNeoStoreFileListing(); MarkerFileProvider provider = new MarkerFileProvider(); neoStoreFileListing.registerStoreFileProvider( provider ); neoStoreFileListing.registerStoreFileProvider( provider ); ResourceIterator<StoreFileMetadata> metadataResourceIterator = neoStoreFileListing.builder().build(); assertEquals( 1, metadataResourceIterator.stream().filter( metadata -> "marker".equals( metadata.file().getName() ) ).count() ); }
private void verifyLogFilesWithCustomPathListing( String path ) throws IOException { GraphDatabaseAPI graphDatabase = (GraphDatabaseAPI) new TestGraphDatabaseFactory() .newEmbeddedDatabaseBuilder( testDirectory.databaseDir( "customDb" ) ) .setConfig( GraphDatabaseSettings.logical_logs_location, path ) .newGraphDatabase(); NeoStoreDataSource dataSource = graphDatabase.getDependencyResolver().resolveDependency( NeoStoreDataSource.class ); LogFiles logFiles = graphDatabase.getDependencyResolver().resolveDependency( LogFiles.class ); assertTrue( dataSource.listStoreFiles( true ).stream() .anyMatch( metadata -> metadata.isLogFile() && logFiles.isLogFile( metadata.file() ) ) ); assertEquals( Paths.get( path ).getFileName().toString(), logFiles.logFilesDirectory().getName() ); graphDatabase.shutdown(); }
@Test public void shouldListMetaDataStoreLastWithTxLogs() throws Exception { StoreFileMetadata fileMetadata = Iterators.last( neoStoreDataSource.listStoreFiles( true ) ); assertEquals( fileMetadata.file(), neoStoreDataSource.getDatabaseLayout().metadataStore() ); }
@Test public void shouldListMetaDataStoreLast() throws Exception { StoreFileMetadata fileMetadata = Iterators.last( neoStoreDataSource.listStoreFiles( false ) ); assertEquals( fileMetadata.file(), neoStoreDataSource.getDatabaseLayout().metadataStore() ); }
private static Predicate<StoreFileMetadata> matchesRequested( String fileName ) { return f -> f.file().getName().equals( fileName ); }
private static Predicate<StoreFileMetadata> isCountFile() { return storeFileMetadata -> StoreType.typeOf( storeFileMetadata.file().getName() ).filter( f -> f == StoreType.COUNTS ).isPresent(); }
private void placeMetaDataStoreLast( List<StoreFileMetadata> files ) { int index = 0; for ( StoreFileMetadata file : files ) { if ( databaseLayout.metadataStore().equals( file.file() ) ) { break; } index++; } if ( index < files.size() - 1 ) { StoreFileMetadata metaDataStoreFile = files.remove( index ); files.add( metaDataStoreFile ); } }
private void sendFiles( ChannelHandlerContext ctx ) throws IOException { try ( ResourceIterator<StoreFileMetadata> files = dataSource.get().listStoreFiles( false ) ) { while ( files.hasNext() ) { sendFile( ctx, files.next().file() ); } } }
private StoreResource toStoreResource( StoreFileMetadata storeFileMetadata ) throws IOException { File storeDir = neoStoreDataSource.getStoreDir(); File file = storeFileMetadata.file(); String relativePath = relativePath( storeDir, file ); return new StoreResource( file, relativePath, storeFileMetadata.recordSize(), pageCache, fileSystemAbstraction ); }
File file = meta.file(); boolean isLogFile = meta.isLogFile(); int recordSize = meta.recordSize();