MappedFileCounter( DatabaseLayout layout ) { this.layout = layout; mappedCandidates = Arrays.stream( StoreType.values() ) .filter( StoreType::isRecordStore ) .map( StoreType::getDatabaseFile ) .flatMap( layout::file ) .collect( toList() ); mappedIndexFilter = new NativeIndexFileFilter( layout.databaseDirectory() ); }
private void manuallyCountTotalMappedFileSize( File dir, MutableLong result, NativeIndexFileFilter nativeIndexFilter ) { Set<String> storeFiles = Stream.of( StoreType.values() ).filter( StoreType::isRecordStore ).map( type -> type.getDatabaseFile().getName() ).collect( Collectors.toSet() ); for ( File file : dir.listFiles() ) { if ( file.isDirectory() ) { manuallyCountTotalMappedFileSize( file, result, nativeIndexFilter ); } else if ( storeFiles.contains( file.getName() ) || file.getName().equals( DatabaseFile.LABEL_SCAN_STORE.getName() ) || nativeIndexFilter.accept( file ) ) { result.add( file.length() ); } } }
private void shouldAcceptNativeIndexFileFromFusionProvider( IndexProviderDescriptor descriptor ) throws IOException { // given File dir = subProviderDirectoryStructure( storeDir, descriptor ).forProvider( descriptor ).directoryForIndex( 1 ); File file = new File( dir, "some-file" ); createFile( file ); // when boolean accepted = filter.accept( file ); // then assertTrue( accepted ); }
private FilenameFilter getNativeIndexFileFilter( File storeDir, boolean inverse ) { FileFilter nativeIndexFilter = new NativeIndexFileFilter( storeDir ); return ( dir, name ) -> { File file = new File( dir, name ); if ( outsideWorld.fileSystem().isDirectory( file ) ) { // Always go down directories return true; } if ( name.equals( FailureStorage.DEFAULT_FAILURE_FILE_NAME ) ) { // Never include failure-storage files return false; } return inverse != nativeIndexFilter.accept( file ); }; }
@Test public void shouldNotAcceptFileFromPureLuceneProvider() throws IOException { // given File dir = directoriesByProviderKey( storeDir ).forProvider( LUCENE_DESCRTIPTOR ).directoryForIndex( 1 ); File file = new File( dir, "some-file" ); createFile( file ); // when boolean accepted = filter.accept( file ); // then assertFalse( accepted ); }
@Before public void before() { storeDir = directory.directory(); filter = new NativeIndexFileFilter( storeDir ); }
@Test public void shouldNotAcceptLuceneFileFromFusionProvider() throws IOException { // given File dir = subProviderDirectoryStructure( storeDir, LUCENE_DESCRTIPTOR ).forProvider( LUCENE_DESCRTIPTOR ).directoryForIndex( 1 ); File file = new File( dir, "some-file" ); createFile( file ); // when boolean accepted = filter.accept( file ); // then assertFalse( accepted ); }
private long manuallyCountTotalMappedFileSize( File dbDir ) { MutableLong result = new MutableLong(); NativeIndexFileFilter nativeIndexFilter = new NativeIndexFileFilter( dbDir ); manuallyCountTotalMappedFileSize( dbDir, result, nativeIndexFilter ); return result.getValue(); }