diff --git a/community/community-it/it-test-support/src/main/java/org/neo4j/test/TestGraphDatabaseFactory.java b/community/community-it/it-test-support/src/main/java/org/neo4j/test/TestGraphDatabaseFactory.java index 6d25fae95711..b8c9bc478bed 100644 --- a/community/community-it/it-test-support/src/main/java/org/neo4j/test/TestGraphDatabaseFactory.java +++ b/community/community-it/it-test-support/src/main/java/org/neo4j/test/TestGraphDatabaseFactory.java @@ -25,7 +25,6 @@ import java.util.function.Function; import javax.annotation.Nonnull; -import org.neo4j.dbms.database.DatabaseManager; import org.neo4j.graphdb.GraphDatabaseService; import org.neo4j.graphdb.config.Setting; import org.neo4j.graphdb.facade.GraphDatabaseDependencies; @@ -42,6 +41,7 @@ import org.neo4j.io.fs.FileSystemAbstraction; import org.neo4j.kernel.configuration.BoltConnector; import org.neo4j.kernel.configuration.Config; +import org.neo4j.kernel.configuration.Settings; import org.neo4j.kernel.extension.KernelExtensionFactory; import org.neo4j.kernel.impl.factory.DatabaseInfo; import org.neo4j.kernel.impl.logging.LogService; @@ -265,15 +265,18 @@ protected TestGraphDatabaseFacadeFactory( TestGraphDatabaseFactoryState state, b @Override protected PlatformModule createPlatform( File storeDir, Config config, Dependencies dependencies ) { - config.augment( GraphDatabaseSettings.database_path, new File( storeDir, DatabaseManager.DEFAULT_DATABASE_NAME ).getAbsolutePath() ); + File databasesRoot = storeDir.getParentFile(); + config.augment( GraphDatabaseSettings.ephemeral, Settings.FALSE ); + config.augment( GraphDatabaseSettings.active_database, storeDir.getName() ); + config.augment( GraphDatabaseSettings.databases_root_path, databasesRoot.getAbsolutePath() ); if ( impermanent ) { config.augment( ephemeral, TRUE ); - return new ImpermanentTestDatabasePlatformModule( storeDir, config, dependencies, this.databaseInfo ); + return new ImpermanentTestDatabasePlatformModule( databasesRoot, config, dependencies, this.databaseInfo ); } else { - return new TestDatabasePlatformModule( storeDir, config, dependencies, this.databaseInfo ); + return new TestDatabasePlatformModule( databasesRoot, config, dependencies, this.databaseInfo ); } } diff --git a/community/neo4j/src/main/java/org/neo4j/graphdb/factory/GraphDatabaseFactory.java b/community/neo4j/src/main/java/org/neo4j/graphdb/factory/GraphDatabaseFactory.java index 242e391bdd9d..c39c5da4e0ea 100644 --- a/community/neo4j/src/main/java/org/neo4j/graphdb/factory/GraphDatabaseFactory.java +++ b/community/neo4j/src/main/java/org/neo4j/graphdb/factory/GraphDatabaseFactory.java @@ -28,6 +28,7 @@ import org.neo4j.graphdb.factory.module.CommunityEditionModule; import org.neo4j.graphdb.security.URLAccessRule; import org.neo4j.kernel.configuration.Config; +import org.neo4j.kernel.configuration.Settings; import org.neo4j.kernel.impl.factory.DatabaseInfo; import org.neo4j.kernel.impl.factory.Edition; import org.neo4j.kernel.monitoring.Monitors; @@ -109,7 +110,6 @@ protected GraphDatabaseBuilder.DatabaseCreator createDatabaseCreator( @Override public GraphDatabaseService newDatabase( @Nonnull Config config ) { - config.augment( GraphDatabaseSettings.ephemeral, "false" ); return GraphDatabaseFactory.this.newEmbeddedDatabase( storeDir, config, state.databaseDependencies() ); } }; @@ -139,8 +139,12 @@ protected GraphDatabaseService newEmbeddedDatabase( File storeDir, Config config protected GraphDatabaseService newDatabase( File storeDir, Config config, GraphDatabaseFacadeFactory.Dependencies dependencies ) { + File databasesRoot = storeDir.getParentFile(); + config.augment( GraphDatabaseSettings.ephemeral, Settings.FALSE ); + config.augment( GraphDatabaseSettings.active_database, storeDir.getName() ); + config.augment( GraphDatabaseSettings.databases_root_path, databasesRoot.getAbsolutePath() ); return new GraphDatabaseFacadeFactory( DatabaseInfo.COMMUNITY, CommunityEditionModule::new ) - .newFacade( storeDir, config, dependencies ); + .newFacade( databasesRoot, config, dependencies ); } public GraphDatabaseFactory addURLAccessRule( String protocol, URLAccessRule rule ) diff --git a/enterprise/com/src/main/java/org/neo4j/com/storecopy/ExternallyManagedPageCache.java b/enterprise/com/src/main/java/org/neo4j/com/storecopy/ExternallyManagedPageCache.java index ceac59b9042e..6a9fe5c5f065 100644 --- a/enterprise/com/src/main/java/org/neo4j/com/storecopy/ExternallyManagedPageCache.java +++ b/enterprise/com/src/main/java/org/neo4j/com/storecopy/ExternallyManagedPageCache.java @@ -31,6 +31,7 @@ import org.neo4j.graphdb.GraphDatabaseService; import org.neo4j.graphdb.facade.GraphDatabaseFacadeFactory; import org.neo4j.graphdb.factory.GraphDatabaseFactory; +import org.neo4j.graphdb.factory.GraphDatabaseSettings; import org.neo4j.graphdb.factory.module.PlatformModule; import org.neo4j.io.fs.FileSystemAbstraction; import org.neo4j.io.pagecache.IOLimiter; @@ -38,6 +39,7 @@ import org.neo4j.io.pagecache.PagedFile; import org.neo4j.io.pagecache.tracing.cursor.context.VersionContextSupplier; import org.neo4j.kernel.configuration.Config; +import org.neo4j.kernel.configuration.Settings; import org.neo4j.kernel.extension.KernelExtensionFactory; import org.neo4j.kernel.impl.enterprise.EnterpriseEditionModule; import org.neo4j.kernel.impl.factory.DatabaseInfo; @@ -135,6 +137,10 @@ public static class GraphDatabaseFactoryWithPageCacheFactory extends GraphDataba protected GraphDatabaseService newDatabase( File storeDir, Config config, GraphDatabaseFacadeFactory.Dependencies dependencies ) { + File databasesRoot = storeDir.getParentFile(); + config.augment( GraphDatabaseSettings.ephemeral, Settings.FALSE ); + config.augment( GraphDatabaseSettings.active_database, storeDir.getName() ); + config.augment( GraphDatabaseSettings.databases_root_path, databasesRoot.getAbsolutePath() ); return new GraphDatabaseFacadeFactory( DatabaseInfo.ENTERPRISE, EnterpriseEditionModule::new ) { @Override @@ -150,7 +156,7 @@ protected PageCache createPageCache( FileSystemAbstraction fileSystem, Config co } }; } - }.newFacade( storeDir, config, dependencies ); + }.newFacade( databasesRoot, config, dependencies ); } public GraphDatabaseFactoryWithPageCacheFactory setKernelExtensions( Iterable> newKernelExtensions ) diff --git a/enterprise/ha/src/main/java/org/neo4j/graphdb/factory/HighlyAvailableGraphDatabaseFactory.java b/enterprise/ha/src/main/java/org/neo4j/graphdb/factory/HighlyAvailableGraphDatabaseFactory.java index 0d9ff1db25a5..b2d0cf12293c 100644 --- a/enterprise/ha/src/main/java/org/neo4j/graphdb/factory/HighlyAvailableGraphDatabaseFactory.java +++ b/enterprise/ha/src/main/java/org/neo4j/graphdb/factory/HighlyAvailableGraphDatabaseFactory.java @@ -27,6 +27,7 @@ import org.neo4j.cluster.ClusterSettings; import org.neo4j.graphdb.GraphDatabaseService; import org.neo4j.kernel.configuration.Config; +import org.neo4j.kernel.configuration.Settings; import org.neo4j.kernel.ha.HaSettings; import org.neo4j.kernel.ha.HighlyAvailableGraphDatabase; import org.neo4j.kernel.impl.factory.Edition; @@ -61,7 +62,10 @@ protected GraphDatabaseBuilder.DatabaseCreator createDatabaseCreator( @Override public GraphDatabaseService newDatabase( Config config ) { - config.augment( GraphDatabaseSettings.ephemeral, "false" ); + File databasesRoot = storeDir.getParentFile(); + config.augment( GraphDatabaseSettings.ephemeral, Settings.FALSE ); + config.augment( GraphDatabaseSettings.active_database, storeDir.getName() ); + config.augment( GraphDatabaseSettings.databases_root_path, databasesRoot.getAbsolutePath() ); return new HighlyAvailableGraphDatabase( storeDir, config, state.databaseDependencies() ); } }; diff --git a/enterprise/kernel/src/main/java/org/neo4j/graphdb/factory/EnterpriseGraphDatabaseFactory.java b/enterprise/kernel/src/main/java/org/neo4j/graphdb/factory/EnterpriseGraphDatabaseFactory.java index f136414c476e..0b05d45d739b 100644 --- a/enterprise/kernel/src/main/java/org/neo4j/graphdb/factory/EnterpriseGraphDatabaseFactory.java +++ b/enterprise/kernel/src/main/java/org/neo4j/graphdb/factory/EnterpriseGraphDatabaseFactory.java @@ -26,11 +26,10 @@ import org.neo4j.graphdb.GraphDatabaseService; import org.neo4j.kernel.configuration.Config; +import org.neo4j.kernel.configuration.Settings; import org.neo4j.kernel.enterprise.EnterpriseGraphDatabase; import org.neo4j.kernel.impl.factory.Edition; -import static org.neo4j.kernel.configuration.Settings.FALSE; - /** * Factory for Neo4j database instances with Enterprise Edition features. * @@ -47,7 +46,10 @@ protected GraphDatabaseBuilder.DatabaseCreator createDatabaseCreator( final File @Override public GraphDatabaseService newDatabase( Config config ) { - config.augment( GraphDatabaseSettings.ephemeral, FALSE ); + File databasesRoot = storeDir.getParentFile(); + config.augment( GraphDatabaseSettings.ephemeral, Settings.FALSE ); + config.augment( GraphDatabaseSettings.active_database, storeDir.getName() ); + config.augment( GraphDatabaseSettings.databases_root_path, databasesRoot.getAbsolutePath() ); return new EnterpriseGraphDatabase( storeDir, config, state.databaseDependencies() ); } };