public static GenericNativeIndexProvider create( PageCache pageCache, File storeDir, FileSystemAbstraction fs, IndexProvider.Monitor monitor, Config config, OperationalMode mode, RecoveryCleanupWorkCollector recoveryCleanupWorkCollector ) { IndexDirectoryStructure.Factory directoryStructure = directoriesByProvider( storeDir ); boolean readOnly = config.get( GraphDatabaseSettings.read_only ) && (OperationalMode.single == mode); return new GenericNativeIndexProvider( directoryStructure, pageCache, fs, monitor, recoveryCleanupWorkCollector, readOnly, config ); }
public static FusionIndexProvider newInstance( PageCache pageCache, File databaseDirectory, FileSystemAbstraction fs, IndexProvider.Monitor monitor, Config config, OperationalMode operationalMode, RecoveryCleanupWorkCollector recoveryCleanupWorkCollector ) { boolean readOnly = IndexProviderFactoryUtil.isReadOnly( config, operationalMode ); boolean archiveFailedIndex = config.get( GraphDatabaseSettings.archive_failed_index ); IndexDirectoryStructure.Factory luceneDirStructure = directoriesByProviderKey( databaseDirectory ); IndexDirectoryStructure.Factory childDirectoryStructure = subProviderDirectoryStructure( databaseDirectory ); LuceneIndexProvider lucene = IndexProviderFactoryUtil.luceneProvider( fs, luceneDirStructure, monitor, config, operationalMode ); TemporalIndexProvider temporal = IndexProviderFactoryUtil.temporalProvider( pageCache, fs, childDirectoryStructure, monitor, recoveryCleanupWorkCollector, readOnly ); SpatialIndexProvider spatial = IndexProviderFactoryUtil.spatialProvider( pageCache, fs, childDirectoryStructure, monitor, recoveryCleanupWorkCollector, readOnly, config ); return new FusionIndexProvider( EMPTY, EMPTY, spatial, temporal, lucene, new FusionSlotSelector00(), PROVIDER_DESCRIPTOR, directoriesByProvider( databaseDirectory ), fs, archiveFailedIndex ); }
private static IndexDirectoryStructure.Factory subProviderDirectoryStructure( File storeDir ) { IndexDirectoryStructure parentDirectoryStructure = directoriesByProvider( storeDir ).forProvider( DESCRIPTOR ); return directoriesBySubProvider( parentDirectoryStructure ); }
public static IndexDirectoryStructure.Factory subProviderDirectoryStructure( File databaseDirectory, IndexProviderDescriptor descriptor ) { IndexDirectoryStructure parentDirectoryStructure = directoriesByProvider( databaseDirectory ).forProvider( descriptor ); return directoriesBySubProvider( parentDirectoryStructure ); } }
static IndexDirectoryStructure nativeIndexDirectoryStructure( DatabaseLayout databaseLayout ) { return IndexDirectoryStructure.directoriesByProvider( databaseLayout.databaseDirectory() ).forProvider( GenericNativeIndexProvider.DESCRIPTOR ); } }
@Override public Lifecycle newInstance( KernelContext context, Supplier noDependencies ) return new IndexProvider( INDEX_PROVIDER, directoriesByProvider( new File( "not-even-persistent" ) ) )
private SpatialIndexProvider newSpatialIndexProvider( Config config ) { return new SpatialIndexProvider( pageCache, fs, directoriesByProvider( directory.databaseDir() ), monitor, immediate(), false, config ); }
private IndexDirectoryStructure.Factory directory() { File storeDir = rules.directory().databaseDir(); return directoriesBySubProvider( directoriesByProvider( storeDir ).forProvider( PROVIDER ) ); }
@Test public void shouldHandleWeirdCharactersInProviderKey() { IndexProviderDescriptor providerWithWeirdName = new IndexProviderDescriptor( "native+lucene", "1.0" ); assertCorrectDirectories( directoriesByProvider( databaseStoreDir ).forProvider( providerWithWeirdName ), path( baseIndexDirectory, "native_lucene-1.0" ), path( baseIndexDirectory, "native_lucene-1.0", String.valueOf( indexId ) ) ); }
private IndexProvider newProvider() { return newProvider( pageCache(), fs(), directoriesByProvider( baseDir() ), monitor, immediate(), false ); }
private IndexProvider newReadOnlyProvider() { return newProvider( pageCache(), fs(), directoriesByProvider( baseDir() ), monitor, immediate(), true ); }
public static FusionIndexProvider create( PageCache pageCache, File databaseDirectory, FileSystemAbstraction fs, IndexProvider.Monitor monitor, Config config, OperationalMode operationalMode, RecoveryCleanupWorkCollector recoveryCleanupWorkCollector ) { IndexDirectoryStructure.Factory childDirectoryStructure = subProviderDirectoryStructure( databaseDirectory ); boolean readOnly = IndexProviderFactoryUtil.isReadOnly( config, operationalMode ); boolean archiveFailedIndex = config.get( GraphDatabaseSettings.archive_failed_index ); NumberIndexProvider number = IndexProviderFactoryUtil.numberProvider( pageCache, fs, childDirectoryStructure, monitor, recoveryCleanupWorkCollector, readOnly ); SpatialIndexProvider spatial = IndexProviderFactoryUtil.spatialProvider( pageCache, fs, childDirectoryStructure, monitor, recoveryCleanupWorkCollector, readOnly, config ); TemporalIndexProvider temporal = IndexProviderFactoryUtil.temporalProvider( pageCache, fs, childDirectoryStructure, monitor, recoveryCleanupWorkCollector, readOnly ); LuceneIndexProvider lucene = IndexProviderFactoryUtil.luceneProvider( fs, childDirectoryStructure, monitor, config, operationalMode ); return new FusionIndexProvider( EMPTY, number, spatial, temporal, lucene, new FusionSlotSelector10(), DESCRIPTOR, directoriesByProvider( databaseDirectory ), fs, archiveFailedIndex ); }
@Test public void shouldSeeCorrectDirectoriesForProvider() { assertCorrectDirectories( directoriesByProvider( databaseStoreDir ).forProvider( provider ), path( baseIndexDirectory, provider.getKey() + "-" + provider.getVersion() ), path( baseIndexDirectory, provider.getKey() + "-" + provider.getVersion(), String.valueOf( indexId ) ) ); }
public static FusionIndexProvider create( PageCache pageCache, File databaseDirectory, FileSystemAbstraction fs, IndexProvider.Monitor monitor, Config config, OperationalMode operationalMode, RecoveryCleanupWorkCollector recoveryCleanupWorkCollector ) { IndexDirectoryStructure.Factory childDirectoryStructure = subProviderDirectoryStructure( databaseDirectory ); boolean readOnly = IndexProviderFactoryUtil.isReadOnly( config, operationalMode ); boolean archiveFailedIndex = config.get( GraphDatabaseSettings.archive_failed_index ); StringIndexProvider string = IndexProviderFactoryUtil.stringProvider( pageCache, fs, childDirectoryStructure, monitor, recoveryCleanupWorkCollector, readOnly ); NumberIndexProvider number = IndexProviderFactoryUtil.numberProvider( pageCache, fs, childDirectoryStructure, monitor, recoveryCleanupWorkCollector, readOnly ); SpatialIndexProvider spatial = IndexProviderFactoryUtil.spatialProvider( pageCache, fs, childDirectoryStructure, monitor, recoveryCleanupWorkCollector, readOnly, config ); TemporalIndexProvider temporal = IndexProviderFactoryUtil.temporalProvider( pageCache, fs, childDirectoryStructure, monitor, recoveryCleanupWorkCollector, readOnly ); LuceneIndexProvider lucene = IndexProviderFactoryUtil.luceneProvider( fs, childDirectoryStructure, monitor, config, operationalMode ); return new FusionIndexProvider( string, number, spatial, temporal, lucene, new FusionSlotSelector20(), DESCRIPTOR, directoriesByProvider( databaseDirectory ), fs, archiveFailedIndex ); }
@Before public void setup() throws IOException { valueCreatorUtil = createValueCreatorUtil(); indexDescriptor = valueCreatorUtil.indexDescriptor(); layout = createLayout(); indexDirectoryStructure = directoriesByProvider( directory.directory( "root" ) ).forProvider( indexDescriptor.providerDescriptor() ); indexFile = indexDirectoryStructure.directoryForIndex( indexDescriptor.getId() ); fs.mkdirs( indexFile.getParentFile() ); pageCache = pageCacheRule.getPageCache( fs ); }
@Test public void dropShouldDeleteEntireIndexFolder() { // given File root = storage.directory().directory( "root" ); IndexDirectoryStructure directoryStructure = IndexDirectoryStructure.directoriesByProvider( root ).forProvider( GenericNativeIndexProvider.DESCRIPTOR ); long indexId = 8; File indexDirectory = directoryStructure.directoryForIndex( indexId ); File indexFile = new File( indexDirectory, "my-index" ); StoreIndexDescriptor descriptor = IndexDescriptorFactory.forSchema( SchemaDescriptorFactory.forLabel( 1, 1 ) ).withId( indexId ); IndexSpecificSpaceFillingCurveSettingsCache spatialSettings = mock( IndexSpecificSpaceFillingCurveSettingsCache.class ); FileSystemAbstraction fs = storage.fileSystem(); GenericNativeIndexAccessor accessor = new GenericNativeIndexAccessor( storage.pageCache(), fs, indexFile, new GenericLayout( 1, spatialSettings ), immediate(), EMPTY, descriptor, spatialSettings, directoryStructure, mock( SpaceFillingCurveConfiguration.class ) ); // when accessor.drop(); // then assertFalse( fs.fileExists( indexDirectory ) ); } }
@Test public void shouldSeeCorrectDirectoriesForSubProvider() { IndexDirectoryStructure parentStructure = directoriesByProvider( databaseStoreDir ).forProvider( provider ); IndexProviderDescriptor subProvider = new IndexProviderDescriptor( "sub", "0.3" ); assertCorrectDirectories( directoriesBySubProvider( parentStructure ).forProvider( subProvider ), path( baseIndexDirectory, provider.getKey() + "-" + provider.getVersion() ), path( baseIndexDirectory, provider.getKey() + "-" + provider.getVersion(), String.valueOf( indexId ), subProvider.getKey() + "-" + subProvider.getVersion() ) ); }
@Before public void setup() { DefaultFileSystemAbstraction fs = this.fs.get(); PageCache pc = pageCacheRule.getPageCache( fs ); File file = directory.file( "index" ); GenericLayout layout = new GenericLayout( 1, indexSettings ); RecoveryCleanupWorkCollector collector = RecoveryCleanupWorkCollector.ignore(); descriptor = TestIndexDescriptorFactory.forLabel( 1, 1 ).withId( 1 ); IndexDirectoryStructure.Factory factory = IndexDirectoryStructure.directoriesByProvider( directory.storeDir() ); IndexDirectoryStructure structure = factory.forProvider( GenericNativeIndexProvider.DESCRIPTOR ); accessor = new GenericNativeIndexAccessor( pc, fs, file, layout, collector, EMPTY, descriptor, indexSettings, structure, new StandardConfiguration() ); }
public static GenericNativeIndexProvider create( PageCache pageCache, File storeDir, FileSystemAbstraction fs, IndexProvider.Monitor monitor, Config config, OperationalMode mode, RecoveryCleanupWorkCollector recoveryCleanupWorkCollector ) { IndexDirectoryStructure.Factory directoryStructure = directoriesByProvider( storeDir ); boolean readOnly = config.get( GraphDatabaseSettings.read_only ) && (OperationalMode.single == mode); return new GenericNativeIndexProvider( directoryStructure, pageCache, fs, monitor, recoveryCleanupWorkCollector, readOnly, config ); }