From af307e1bf541950ac125f46039aaa9e1e2ef5d7f Mon Sep 17 00:00:00 2001 From: Mikhaylo Demianenko Date: Sat, 23 Jul 2016 16:46:26 +0200 Subject: [PATCH] Pass operational mode to platform module factory method, label scan store and lucene schema indexes directly instead of using config --- .../consistency/ConsistencyCheckService.java | 9 ++++-- .../checking/GraphStoreFixture.java | 11 +++++-- .../consistency/ConsistencyCheckService.java | 7 +++-- .../consistency/ConsistencyCheckToolTest.java | 7 +++-- .../checking/GraphStoreFixture.java | 10 +++++-- .../impl/factory/CommunityFacadeFactory.java | 5 ++-- .../factory/GraphDatabaseFacadeFactory.java | 29 ++++++++++++++----- .../kernel/impl/factory/PlatformModule.java | 7 +++-- .../neo4j/graphdb/LabelsAcceptanceTest.java | 5 +++- .../GraphDatabaseFacadeFactoryTest.java | 20 ++++++++----- .../org/neo4j/kernel/impl/api/KernelTest.java | 9 ++++-- .../kernel/impl/core/BigJumpingStoreIT.java | 7 +++-- ...dGeneratorRebuildFailureEmulationTest.java | 7 +++-- .../transaction/CommitContentionTests.java | 7 +++-- .../PartialTransactionFailureIT.java | 8 +++-- .../neo4j/test/ImpermanentGraphDatabase.java | 12 +++++--- .../test/LimitedFileSystemGraphDatabase.java | 5 +++- .../neo4j/test/TestGraphDatabaseFactory.java | 7 +++-- .../lucene/LuceneLabelScanStoreBuilder.java | 6 +++- .../api/impl/index/LuceneLabelScanStore.java | 14 ++++----- .../index/LuceneLabelScanStoreExtension.java | 3 +- .../impl/index/LuceneSchemaIndexProvider.java | 12 ++++---- .../LuceneSchemaIndexProviderFactory.java | 3 +- .../impl/lucene/NonUniqueIndexTests.java | 9 ++++-- .../api/impl/index/LuceneIndexRecoveryIT.java | 5 ++-- .../impl/index/LuceneLabelScanStoreTest.java | 3 +- .../LuceneSchemaIndexCorruptionTest.java | 4 ++- .../index/LuceneSchemaIndexPopulatorTest.java | 4 ++- .../index/LuceneSchemaIndexProviderTest.java | 3 +- .../storecopy/ExternallyManagedPageCache.java | 9 ++++-- .../ccheck/ConsistencyPerformanceCheck.java | 6 ++-- .../factory/HighlyAvailableFacadeFactory.java | 5 ++-- .../org/neo4j/kernel/api/SchemaIndexHaIT.java | 4 +-- .../enterprise/EnterpriseFacadeFactory.java | 5 ++-- .../TestEnterpriseGraphDatabaseFactory.java | 4 ++- 35 files changed, 177 insertions(+), 94 deletions(-) diff --git a/community/consistency-check-legacy/src/main/java/org/neo4j/legacy/consistency/ConsistencyCheckService.java b/community/consistency-check-legacy/src/main/java/org/neo4j/legacy/consistency/ConsistencyCheckService.java index c677e313234d..75c887e01f0f 100644 --- a/community/consistency-check-legacy/src/main/java/org/neo4j/legacy/consistency/ConsistencyCheckService.java +++ b/community/consistency-check-legacy/src/main/java/org/neo4j/legacy/consistency/ConsistencyCheckService.java @@ -52,6 +52,7 @@ import org.neo4j.logging.DuplicatingLog; import org.neo4j.logging.Log; import org.neo4j.logging.LogProvider; +import org.neo4j.udc.UsageDataKeys.OperationalMode; import static org.neo4j.io.file.Files.createOrOpenAsOuputStream; @@ -140,11 +141,13 @@ public PrintWriter get() LabelScanStore labelScanStore = null; try { - labelScanStore = new LuceneLabelScanStoreBuilder( - storeDir, store.getRawNeoStores(), fileSystem, consistencyCheckerConfig, logProvider ).build(); + OperationalMode operationalMode = OperationalMode.single; + labelScanStore = new LuceneLabelScanStoreBuilder( storeDir, store.getRawNeoStores(), fileSystem, + consistencyCheckerConfig, operationalMode, logProvider ) + .build(); SchemaIndexProvider indexes = new LuceneSchemaIndexProvider( fileSystem, DirectoryFactory.PERSISTENT, - storeDir, tuningConfiguration ); + storeDir, tuningConfiguration, operationalMode ); DirectStoreAccess stores = new DirectStoreAccess( store, labelScanStore, indexes ); FullCheck check = new FullCheck( tuningConfiguration, progressFactory ); summary = check.execute( stores, new DuplicatingLog( log, reportLog ) ); diff --git a/community/consistency-check-legacy/src/test/java/org/neo4j/legacy/consistency/checking/GraphStoreFixture.java b/community/consistency-check-legacy/src/test/java/org/neo4j/legacy/consistency/checking/GraphStoreFixture.java index 2f5216a76540..846d38abb256 100644 --- a/community/consistency-check-legacy/src/test/java/org/neo4j/legacy/consistency/checking/GraphStoreFixture.java +++ b/community/consistency-check-legacy/src/test/java/org/neo4j/legacy/consistency/checking/GraphStoreFixture.java @@ -65,6 +65,7 @@ import org.neo4j.test.PageCacheRule; import org.neo4j.test.TargetDirectory; import org.neo4j.test.TestGraphDatabaseFactory; +import org.neo4j.udc.UsageDataKeys.OperationalMode; import static java.lang.System.currentTimeMillis; @@ -85,6 +86,7 @@ public DirectStoreAccess directStoreAccess() PageCache pageCache = getPageCache( fileSystem ); StoreAccess nativeStores = new StoreAccess( fileSystem, pageCache, directory ).initialize(); Config config = new Config(); + OperationalMode operationalMode = OperationalMode.single; directStoreAccess = new DirectStoreAccess( nativeStores, new LuceneLabelScanStoreBuilder( @@ -92,17 +94,20 @@ public DirectStoreAccess directStoreAccess() nativeStores.getRawNeoStores(), fileSystem, config, + operationalMode, FormattedLogProvider.toOutputStream( System.out ) ).build(), - createIndexes( fileSystem, config ) + createIndexes( fileSystem, config, operationalMode ) ); } return directStoreAccess; } - private SchemaIndexProvider createIndexes( FileSystemAbstraction fileSystem, Config config ) + private SchemaIndexProvider createIndexes( FileSystemAbstraction fileSystem, Config config, + OperationalMode operationalMode ) { - return new LuceneSchemaIndexProvider( fileSystem, DirectoryFactory.PERSISTENT, directory, config ); + return new LuceneSchemaIndexProvider( fileSystem, DirectoryFactory.PERSISTENT, directory, config, + operationalMode ); } public File directory() diff --git a/community/consistency-check/src/main/java/org/neo4j/consistency/ConsistencyCheckService.java b/community/consistency-check/src/main/java/org/neo4j/consistency/ConsistencyCheckService.java index b9de7f875b8a..164e0f6824a4 100644 --- a/community/consistency-check/src/main/java/org/neo4j/consistency/ConsistencyCheckService.java +++ b/community/consistency-check/src/main/java/org/neo4j/consistency/ConsistencyCheckService.java @@ -58,6 +58,7 @@ import org.neo4j.logging.DuplicatingLog; import org.neo4j.logging.Log; import org.neo4j.logging.LogProvider; +import org.neo4j.udc.UsageDataKeys.OperationalMode; import static org.neo4j.io.file.Files.createOrOpenAsOuputStream; @@ -144,12 +145,14 @@ public PrintWriter get() LabelScanStore labelScanStore = null; try { + OperationalMode operationalMode = OperationalMode.single; labelScanStore = new LuceneLabelScanStoreBuilder( - storeDir, neoStores, fileSystem, consistencyCheckerConfig, logProvider ).build(); + storeDir, neoStores, fileSystem, consistencyCheckerConfig, operationalMode, logProvider ) + .build(); SchemaIndexProvider indexes = new LuceneSchemaIndexProvider( fileSystem, DirectoryFactory.PERSISTENT, - storeDir, consistencyCheckerConfig ); + storeDir, consistencyCheckerConfig, operationalMode ); int numberOfThreads = defaultConsistencyCheckThreadsNumber(); Statistics statistics; diff --git a/community/consistency-check/src/test/java/org/neo4j/consistency/ConsistencyCheckToolTest.java b/community/consistency-check/src/test/java/org/neo4j/consistency/ConsistencyCheckToolTest.java index fa4bcbfb737c..3ef81d02a693 100644 --- a/community/consistency-check/src/test/java/org/neo4j/consistency/ConsistencyCheckToolTest.java +++ b/community/consistency-check/src/test/java/org/neo4j/consistency/ConsistencyCheckToolTest.java @@ -62,6 +62,7 @@ import org.neo4j.test.TargetDirectory; import org.neo4j.test.TestGraphDatabaseFactory; import org.neo4j.test.TestGraphDatabaseFactoryState; +import org.neo4j.udc.UsageDataKeys.OperationalMode; import static org.hamcrest.CoreMatchers.containsString; import static org.hamcrest.CoreMatchers.instanceOf; @@ -340,10 +341,12 @@ private static class NonEphemeralImpermanentFacadeFactory extends CommunityFacad } @Override - protected PlatformModule createPlatform( File storeDir, Map params, Dependencies dependencies, GraphDatabaseFacade graphDatabaseFacade ) + protected PlatformModule createPlatform( File storeDir, Map params, + Dependencies dependencies, GraphDatabaseFacade graphDatabaseFacade, + OperationalMode operationalMode ) { params.put( Configuration.ephemeral.name(), "false" ); - return new PlatformModule( storeDir, params, dependencies, graphDatabaseFacade ) + return new PlatformModule( storeDir, params, dependencies, graphDatabaseFacade, operationalMode ) { @Override protected FileSystemAbstraction createFileSystemAbstraction() diff --git a/community/consistency-check/src/test/java/org/neo4j/consistency/checking/GraphStoreFixture.java b/community/consistency-check/src/test/java/org/neo4j/consistency/checking/GraphStoreFixture.java index c2d23d01958f..f49df2ff4187 100644 --- a/community/consistency-check/src/test/java/org/neo4j/consistency/checking/GraphStoreFixture.java +++ b/community/consistency-check/src/test/java/org/neo4j/consistency/checking/GraphStoreFixture.java @@ -73,6 +73,7 @@ import org.neo4j.test.PageCacheRule; import org.neo4j.test.TargetDirectory; import org.neo4j.test.TestGraphDatabaseFactory; +import org.neo4j.udc.UsageDataKeys.OperationalMode; import static java.lang.System.currentTimeMillis; import static org.neo4j.consistency.ConsistencyCheckService.defaultConsistencyCheckThreadsNumber; @@ -121,6 +122,7 @@ public DirectStoreAccess directStoreAccess() } nativeStores.initialize(); Config config = new Config(); + OperationalMode operationalMode = OperationalMode.single; directStoreAccess = new DirectStoreAccess( nativeStores, new LuceneLabelScanStoreBuilder( @@ -128,17 +130,19 @@ public DirectStoreAccess directStoreAccess() nativeStores.getRawNeoStores(), fileSystem, config, + operationalMode, FormattedLogProvider.toOutputStream( System.out ) ).build(), - createIndexes( fileSystem, config ) + createIndexes( fileSystem, config, operationalMode ) ); } return directStoreAccess; } - private SchemaIndexProvider createIndexes( FileSystemAbstraction fileSystem, Config config ) + private SchemaIndexProvider createIndexes( FileSystemAbstraction fileSystem, Config config, + OperationalMode operationalMode ) { - return new LuceneSchemaIndexProvider( fileSystem, DirectoryFactory.PERSISTENT, directory, config ); + return new LuceneSchemaIndexProvider( fileSystem, DirectoryFactory.PERSISTENT, directory, config, operationalMode ); } public File directory() diff --git a/community/kernel/src/main/java/org/neo4j/kernel/impl/factory/CommunityFacadeFactory.java b/community/kernel/src/main/java/org/neo4j/kernel/impl/factory/CommunityFacadeFactory.java index 338a5fa1b077..cc6e7b5117fb 100644 --- a/community/kernel/src/main/java/org/neo4j/kernel/impl/factory/CommunityFacadeFactory.java +++ b/community/kernel/src/main/java/org/neo4j/kernel/impl/factory/CommunityFacadeFactory.java @@ -23,7 +23,7 @@ import java.util.Map; import org.neo4j.graphdb.factory.GraphDatabaseSettings; -import org.neo4j.udc.UsageDataKeys; +import org.neo4j.udc.UsageDataKeys.OperationalMode; import static org.neo4j.helpers.collection.Iterables.append; import static org.neo4j.helpers.collection.Iterables.toList; @@ -40,10 +40,9 @@ public GraphDatabaseFacade newFacade( File storeDir, Map params, graphDatabaseFacade ) { params.put( Configuration.editionName.name(), "Community" ); - params.put( Configuration.operationalMode.name(), UsageDataKeys.OperationalMode.single.name() ); return super.newFacade( storeDir, params, newDependencies( dependencies ).settingsClasses( toList( append( GraphDatabaseSettings.class, dependencies.settingsClasses() ) ) ), - graphDatabaseFacade ); + graphDatabaseFacade, OperationalMode.single ); } protected EditionModule createEdition( PlatformModule platformModule ) diff --git a/community/kernel/src/main/java/org/neo4j/kernel/impl/factory/GraphDatabaseFacadeFactory.java b/community/kernel/src/main/java/org/neo4j/kernel/impl/factory/GraphDatabaseFacadeFactory.java index 86775f902d51..5942bed8bb8b 100644 --- a/community/kernel/src/main/java/org/neo4j/kernel/impl/factory/GraphDatabaseFacadeFactory.java +++ b/community/kernel/src/main/java/org/neo4j/kernel/impl/factory/GraphDatabaseFacadeFactory.java @@ -33,7 +33,7 @@ import org.neo4j.kernel.monitoring.Monitors; import org.neo4j.logging.LogProvider; import org.neo4j.logging.Logger; -import org.neo4j.udc.UsageDataKeys; +import org.neo4j.udc.UsageDataKeys.OperationalMode; import static org.neo4j.kernel.configuration.Settings.ANY; import static org.neo4j.kernel.configuration.Settings.STRING; @@ -94,8 +94,7 @@ public static class Configuration setting( "dbms.tracer", Settings.STRING, (String) null ); // 'null' default. public static final Setting editionName = setting( "edition", Settings.STRING, "Community" ); - public static final Setting operationalMode = setting( "operationalMode", - Settings.options( UsageDataKeys.OperationalMode.class ), UsageDataKeys.OperationalMode.single.name() ); + } /** @@ -111,6 +110,20 @@ public GraphDatabaseFacade newFacade( File storeDir, Map params, return newFacade( storeDir, params, dependencies, new GraphDatabaseFacade() ); } + /** + * Instantiate a graph database given configuration and dependencies in single instance operational mode + * @param storeDir + * @param params + * @param dependencies + * @param graphDatabaseFacade + * @return + */ + public GraphDatabaseFacade newFacade( File storeDir, Map params, final Dependencies dependencies, + final GraphDatabaseFacade graphDatabaseFacade) + { + return newFacade( storeDir, params, dependencies, new GraphDatabaseFacade(), OperationalMode.single ); + } + /** * Instantiate a graph database given configuration, dependencies, and a custom implementation of {@link org * .neo4j.kernel.impl.factory.GraphDatabaseFacade}. @@ -122,9 +135,10 @@ public GraphDatabaseFacade newFacade( File storeDir, Map params, * @return */ public GraphDatabaseFacade newFacade( File storeDir, Map params, final Dependencies dependencies, - final GraphDatabaseFacade graphDatabaseFacade ) + final GraphDatabaseFacade graphDatabaseFacade, + OperationalMode operationalMode ) { - PlatformModule platform = createPlatform( storeDir, params, dependencies, graphDatabaseFacade ); + PlatformModule platform = createPlatform( storeDir, params, dependencies, graphDatabaseFacade, operationalMode ); EditionModule edition = createEdition( platform ); final DataSourceModule dataSource = createDataSource( dependencies, platform, edition ); @@ -179,9 +193,10 @@ public GraphDatabaseFacade newFacade( File storeDir, Map params, * @return */ protected PlatformModule createPlatform( File storeDir, Map params, final Dependencies dependencies, - final GraphDatabaseFacade graphDatabaseFacade ) + final GraphDatabaseFacade graphDatabaseFacade, + OperationalMode operationalMode ) { - return new PlatformModule( storeDir, params, dependencies, graphDatabaseFacade ); + return new PlatformModule( storeDir, params, dependencies, graphDatabaseFacade, operationalMode ); } /** diff --git a/community/kernel/src/main/java/org/neo4j/kernel/impl/factory/PlatformModule.java b/community/kernel/src/main/java/org/neo4j/kernel/impl/factory/PlatformModule.java index 5122e62b464b..59189f386606 100644 --- a/community/kernel/src/main/java/org/neo4j/kernel/impl/factory/PlatformModule.java +++ b/community/kernel/src/main/java/org/neo4j/kernel/impl/factory/PlatformModule.java @@ -64,6 +64,7 @@ import org.neo4j.logging.LogProvider; import org.neo4j.udc.UsageData; import org.neo4j.udc.UsageDataKeys; +import org.neo4j.udc.UsageDataKeys.OperationalMode; /** * Platform module for {@link org.neo4j.kernel.impl.factory.GraphDatabaseFacadeFactory}. This creates @@ -106,7 +107,8 @@ public class PlatformModule public final TransactionCounters transactionMonitor; public PlatformModule( File storeDir, Map params, final GraphDatabaseFacadeFactory.Dependencies externalDependencies, - final GraphDatabaseFacade graphDatabaseFacade) + final GraphDatabaseFacade graphDatabaseFacade, + OperationalMode operationalMode ) { dependencies = new org.neo4j.kernel.impl.util.Dependencies( new Supplier() { @@ -171,7 +173,6 @@ public DependencyResolver get() transactionMonitor = dependencies.satisfyDependency( createTransactionCounters() ); - UsageDataKeys.OperationalMode operationalMode = config.get( GraphDatabaseFacadeFactory.Configuration.operationalMode ); KernelContext kernelContext = dependencies.satisfyDependency( new SimpleKernelContext( this.fileSystem, this.storeDir, operationalMode )); @@ -190,7 +191,7 @@ private void publishPlatformInfo( UsageData sysInfo ) { sysInfo.set( UsageDataKeys.version, Version.getKernel().getReleaseVersion() ); sysInfo.set( UsageDataKeys.revision, Version.getKernel().getVersion() ); - sysInfo.set( UsageDataKeys.operationalMode, UsageDataKeys.OperationalMode.ha ); + sysInfo.set( UsageDataKeys.operationalMode, OperationalMode.ha ); } public LifeSupport createLife() diff --git a/community/kernel/src/test/java/org/neo4j/graphdb/LabelsAcceptanceTest.java b/community/kernel/src/test/java/org/neo4j/graphdb/LabelsAcceptanceTest.java index abc291e038c4..1290a5ff29c0 100644 --- a/community/kernel/src/test/java/org/neo4j/graphdb/LabelsAcceptanceTest.java +++ b/community/kernel/src/test/java/org/neo4j/graphdb/LabelsAcceptanceTest.java @@ -60,6 +60,7 @@ import org.neo4j.test.TestGraphDatabaseFactoryState; import org.neo4j.test.impl.EphemeralIdGenerator; import org.neo4j.tooling.GlobalGraphOperations; +import org.neo4j.udc.UsageDataKeys.OperationalMode; import static org.hamcrest.Matchers.hasItems; import static org.hamcrest.Matchers.not; @@ -683,7 +684,9 @@ protected IdGeneratorFactory createIdGeneratorFactory( } @Override - protected PlatformModule createPlatform( File storeDir, Map params, Dependencies dependencies, GraphDatabaseFacade graphDatabaseFacade ) + protected PlatformModule createPlatform( File storeDir, Map params, + Dependencies dependencies, GraphDatabaseFacade graphDatabaseFacade, + OperationalMode operationalMode ) { return new ImpermanentPlatformModule( storeDir, params, dependencies, graphDatabaseFacade ); } diff --git a/community/kernel/src/test/java/org/neo4j/kernel/GraphDatabaseFacadeFactoryTest.java b/community/kernel/src/test/java/org/neo4j/kernel/GraphDatabaseFacadeFactoryTest.java index 89af943a2120..7ff63a154375 100644 --- a/community/kernel/src/test/java/org/neo4j/kernel/GraphDatabaseFacadeFactoryTest.java +++ b/community/kernel/src/test/java/org/neo4j/kernel/GraphDatabaseFacadeFactoryTest.java @@ -19,15 +19,15 @@ */ package org.neo4j.kernel; -import java.io.File; -import java.util.Collections; -import java.util.Map; - import org.junit.Rule; import org.junit.Test; import org.mockito.invocation.InvocationOnMock; import org.mockito.stubbing.Answer; +import java.io.File; +import java.util.Collections; +import java.util.Map; + import org.neo4j.graphdb.mockfs.EphemeralFileSystemAbstraction; import org.neo4j.helpers.Exceptions; import org.neo4j.kernel.impl.factory.DataSourceModule; @@ -38,6 +38,7 @@ import org.neo4j.kernel.lifecycle.LifeSupport; import org.neo4j.kernel.lifecycle.Lifecycle; import org.neo4j.test.TargetDirectory; +import org.neo4j.udc.UsageDataKeys.OperationalMode; import static org.junit.Assert.assertEquals; import static org.junit.Assert.fail; @@ -67,7 +68,8 @@ public void shouldThrowAppropriateExceptionIfStartFails() try { // When - db.newFacade( dir.graphDbDir(), Collections.emptyMap(), deps, mockFacade ); + db.newFacade( dir.graphDbDir(), Collections.emptyMap(), deps, mockFacade, + OperationalMode.single ); fail( "Should have thrown " + RuntimeException.class ); } catch ( RuntimeException exception ) @@ -89,7 +91,8 @@ public void shouldThrowAppropriateExceptionIfBothStartAndShutdownFail() try { // When - db.newFacade( dir.graphDbDir(), Collections.emptyMap(), deps, mockFacade ); + db.newFacade( dir.graphDbDir(), Collections.emptyMap(), deps, mockFacade, + OperationalMode.single ); fail( "Should have thrown " + RuntimeException.class ); } catch ( RuntimeException exception ) @@ -106,7 +109,8 @@ private GraphDatabaseFacadeFactory newFaultyGraphDatabaseFacadeFactory( final Ru { @Override protected PlatformModule createPlatform( File storeDir, Map params, - Dependencies dependencies, GraphDatabaseFacade graphDatabaseFacade ) + Dependencies dependencies, GraphDatabaseFacade graphDatabaseFacade, + OperationalMode operationalMode ) { final LifeSupport lifeMock = mock( LifeSupport.class ); doThrow( startupError ).when( lifeMock ).start(); @@ -120,7 +124,7 @@ public Object answer( InvocationOnMock invocationOnMock ) throws Throwable } ).when( lifeMock ).add( any( Lifecycle.class ) ); - return new PlatformModule( storeDir, params, dependencies, graphDatabaseFacade ) + return new PlatformModule( storeDir, params, dependencies, graphDatabaseFacade, operationalMode ) { @Override public LifeSupport createLife() diff --git a/community/kernel/src/test/java/org/neo4j/kernel/impl/api/KernelTest.java b/community/kernel/src/test/java/org/neo4j/kernel/impl/api/KernelTest.java index 426ca4b4b3d8..f090e4350631 100644 --- a/community/kernel/src/test/java/org/neo4j/kernel/impl/api/KernelTest.java +++ b/community/kernel/src/test/java/org/neo4j/kernel/impl/api/KernelTest.java @@ -19,11 +19,11 @@ */ package org.neo4j.kernel.impl.api; +import org.junit.Test; + import java.io.File; import java.util.Map; -import org.junit.Test; - import org.neo4j.graphdb.Transaction; import org.neo4j.kernel.GraphDatabaseAPI; import org.neo4j.kernel.api.Statement; @@ -36,6 +36,7 @@ import org.neo4j.kernel.impl.factory.GraphDatabaseFacadeFactory; import org.neo4j.kernel.impl.factory.PlatformModule; import org.neo4j.test.ImpermanentGraphDatabase; +import org.neo4j.udc.UsageDataKeys.OperationalMode; import static org.hamcrest.Matchers.containsString; import static org.junit.Assert.assertThat; @@ -78,7 +79,9 @@ protected void create( File storeDir, Map params, GraphDatabaseF new CommunityFacadeFactory() { @Override - protected PlatformModule createPlatform( File storeDir, Map params, Dependencies dependencies, GraphDatabaseFacade graphDatabaseFacade ) + protected PlatformModule createPlatform( File storeDir, Map params, + Dependencies dependencies, GraphDatabaseFacade graphDatabaseFacade, + OperationalMode operationalMode ) { return new ImpermanentPlatformModule( storeDir, params, dependencies, graphDatabaseFacade ); } diff --git a/community/kernel/src/test/java/org/neo4j/kernel/impl/core/BigJumpingStoreIT.java b/community/kernel/src/test/java/org/neo4j/kernel/impl/core/BigJumpingStoreIT.java index c8c45c80b9a9..938cd2ce26a5 100644 --- a/community/kernel/src/test/java/org/neo4j/kernel/impl/core/BigJumpingStoreIT.java +++ b/community/kernel/src/test/java/org/neo4j/kernel/impl/core/BigJumpingStoreIT.java @@ -45,6 +45,7 @@ import org.neo4j.kernel.impl.factory.EditionModule; import org.neo4j.kernel.impl.factory.GraphDatabaseFacade; import org.neo4j.kernel.impl.factory.PlatformModule; +import org.neo4j.udc.UsageDataKeys.OperationalMode; import static org.junit.Assert.assertEquals; import static org.junit.Assert.fail; @@ -74,9 +75,11 @@ public void doBefore() db = new CommunityFacadeFactory() { @Override - protected PlatformModule createPlatform( File storeDir, Map params, Dependencies dependencies, GraphDatabaseFacade graphDatabaseFacade ) + protected PlatformModule createPlatform( File storeDir, Map params, + Dependencies dependencies, GraphDatabaseFacade graphDatabaseFacade, + OperationalMode operationalMode) { - return new PlatformModule( storeDir, params, dependencies, graphDatabaseFacade ) + return new PlatformModule( storeDir, params, dependencies, graphDatabaseFacade, operationalMode ) { protected FileSystemAbstraction createFileSystemAbstraction() { diff --git a/community/kernel/src/test/java/org/neo4j/kernel/impl/store/IdGeneratorRebuildFailureEmulationTest.java b/community/kernel/src/test/java/org/neo4j/kernel/impl/store/IdGeneratorRebuildFailureEmulationTest.java index 374ff5872567..ecbc668eeeaa 100644 --- a/community/kernel/src/test/java/org/neo4j/kernel/impl/store/IdGeneratorRebuildFailureEmulationTest.java +++ b/community/kernel/src/test/java/org/neo4j/kernel/impl/store/IdGeneratorRebuildFailureEmulationTest.java @@ -40,10 +40,10 @@ import org.neo4j.graphdb.Transaction; import org.neo4j.graphdb.factory.GraphDatabaseSettings; import org.neo4j.graphdb.mockfs.EphemeralFileSystemAbstraction; -import org.neo4j.kernel.configuration.Settings; import org.neo4j.io.fs.FileSystemAbstraction; import org.neo4j.kernel.DefaultIdGeneratorFactory; import org.neo4j.kernel.configuration.Config; +import org.neo4j.kernel.configuration.Settings; import org.neo4j.kernel.impl.factory.CommunityFacadeFactory; import org.neo4j.kernel.impl.factory.GraphDatabaseFacade; import org.neo4j.kernel.impl.factory.GraphDatabaseFacadeFactory; @@ -52,6 +52,7 @@ import org.neo4j.test.ImpermanentGraphDatabase; import org.neo4j.test.PageCacheRule; import org.neo4j.tooling.GlobalGraphOperations; +import org.neo4j.udc.UsageDataKeys.OperationalMode; import static org.hamcrest.Matchers.startsWith; import static org.junit.Assert.assertEquals; @@ -237,7 +238,9 @@ protected void create( File storeDir, Map params, GraphDatabaseF new CommunityFacadeFactory() { @Override - protected PlatformModule createPlatform( File storeDir, Map params, Dependencies dependencies, GraphDatabaseFacade graphDatabaseFacade ) + protected PlatformModule createPlatform( File storeDir, Map params, + Dependencies dependencies, GraphDatabaseFacade graphDatabaseFacade, + OperationalMode operationalMode ) { return new ImpermanentPlatformModule( storeDir, params, dependencies, graphDatabaseFacade ) { diff --git a/community/kernel/src/test/java/org/neo4j/kernel/impl/transaction/CommitContentionTests.java b/community/kernel/src/test/java/org/neo4j/kernel/impl/transaction/CommitContentionTests.java index 81a44b508f62..c9f7ba13a0bc 100644 --- a/community/kernel/src/test/java/org/neo4j/kernel/impl/transaction/CommitContentionTests.java +++ b/community/kernel/src/test/java/org/neo4j/kernel/impl/transaction/CommitContentionTests.java @@ -37,6 +37,7 @@ import org.neo4j.kernel.impl.factory.GraphDatabaseFacade; import org.neo4j.kernel.impl.factory.PlatformModule; import org.neo4j.test.TargetDirectory; +import org.neo4j.udc.UsageDataKeys.OperationalMode; import static java.util.concurrent.TimeUnit.SECONDS; import static org.neo4j.helpers.collection.MapUtil.stringMap; @@ -131,9 +132,11 @@ private GraphDatabaseService createDb() return new CommunityFacadeFactory() { @Override - protected PlatformModule createPlatform( File storeDir, Map params, Dependencies dependencies, GraphDatabaseFacade graphDatabaseFacade ) + protected PlatformModule createPlatform( File storeDir, Map params, + Dependencies dependencies, GraphDatabaseFacade graphDatabaseFacade, + OperationalMode operationalMode ) { - return new PlatformModule( storeDir, params, dependencies, graphDatabaseFacade ) + return new PlatformModule( storeDir, params, dependencies, graphDatabaseFacade, operationalMode ) { @Override protected TransactionCounters createTransactionCounters() diff --git a/community/kernel/src/test/java/org/neo4j/kernel/impl/transaction/PartialTransactionFailureIT.java b/community/kernel/src/test/java/org/neo4j/kernel/impl/transaction/PartialTransactionFailureIT.java index 3402e6b83b2d..e020d63764ed 100644 --- a/community/kernel/src/test/java/org/neo4j/kernel/impl/transaction/PartialTransactionFailureIT.java +++ b/community/kernel/src/test/java/org/neo4j/kernel/impl/transaction/PartialTransactionFailureIT.java @@ -49,6 +49,7 @@ import org.neo4j.kernel.impl.transaction.log.checkpoint.SimpleTriggerInfo; import org.neo4j.kernel.impl.transaction.log.rotation.LogRotation; import org.neo4j.test.TargetDirectory; +import org.neo4j.udc.UsageDataKeys.OperationalMode; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertFalse; @@ -84,9 +85,12 @@ protected void create( File storeDir, Map params, GraphDatabaseF new CommunityFacadeFactory() { @Override - protected PlatformModule createPlatform( File storeDir, Map params, Dependencies dependencies, GraphDatabaseFacade graphDatabaseFacade ) + protected PlatformModule createPlatform( File storeDir, Map params, + Dependencies dependencies, GraphDatabaseFacade graphDatabaseFacade, + OperationalMode operationalMode ) { - return new PlatformModule( storeDir, params, dependencies, graphDatabaseFacade ) + return new PlatformModule( storeDir, params, dependencies, graphDatabaseFacade, + operationalMode ) { @Override protected FileSystemAbstraction createFileSystemAbstraction() diff --git a/community/kernel/src/test/java/org/neo4j/test/ImpermanentGraphDatabase.java b/community/kernel/src/test/java/org/neo4j/test/ImpermanentGraphDatabase.java index f78fe64b172d..4fd5282e8203 100644 --- a/community/kernel/src/test/java/org/neo4j/test/ImpermanentGraphDatabase.java +++ b/community/kernel/src/test/java/org/neo4j/test/ImpermanentGraphDatabase.java @@ -38,10 +38,11 @@ import org.neo4j.kernel.impl.logging.SimpleLogService; import org.neo4j.logging.LogProvider; import org.neo4j.logging.NullLogProvider; +import org.neo4j.udc.UsageDataKeys.OperationalMode; import static org.neo4j.graphdb.factory.GraphDatabaseSettings.pagecache_memory; -import static org.neo4j.kernel.configuration.Settings.TRUE; import static org.neo4j.kernel.GraphDatabaseDependencies.newDependencies; +import static org.neo4j.kernel.configuration.Settings.TRUE; import static org.neo4j.kernel.impl.factory.GraphDatabaseFacadeFactory.Configuration.ephemeral; import static org.neo4j.test.GraphDatabaseServiceCleaner.cleanDatabaseContent; @@ -140,11 +141,13 @@ protected void create( File storeDir, Map params, GraphDatabaseF new CommunityFacadeFactory() { @Override - protected PlatformModule createPlatform( File storeDir, Map params, Dependencies dependencies, GraphDatabaseFacade graphDatabaseFacade ) + protected PlatformModule createPlatform( File storeDir, Map params, + Dependencies dependencies, GraphDatabaseFacade graphDatabaseFacade, + OperationalMode operationalMode ) { return new ImpermanentPlatformModule( storeDir, params, dependencies, graphDatabaseFacade ); } - }.newFacade( storeDir, new HashMap<>( params ), dependencies, this ); + }.newFacade( storeDir, new HashMap<>( params ), dependencies, this, OperationalMode.single ); } private void trackUnclosedUse( File storeDir ) @@ -194,7 +197,8 @@ public ImpermanentPlatformModule( File storeDir, Map params, GraphDatabaseFacadeFactory.Dependencies dependencies, GraphDatabaseFacade graphDatabaseFacade ) { - super( storeDir, withForcedInMemoryConfiguration(params), dependencies, graphDatabaseFacade ); + super( storeDir, withForcedInMemoryConfiguration(params), dependencies, graphDatabaseFacade, + OperationalMode.single ); } @Override diff --git a/community/kernel/src/test/java/org/neo4j/test/LimitedFileSystemGraphDatabase.java b/community/kernel/src/test/java/org/neo4j/test/LimitedFileSystemGraphDatabase.java index 1982a9deaaf4..a3547477a569 100644 --- a/community/kernel/src/test/java/org/neo4j/test/LimitedFileSystemGraphDatabase.java +++ b/community/kernel/src/test/java/org/neo4j/test/LimitedFileSystemGraphDatabase.java @@ -28,6 +28,7 @@ import org.neo4j.kernel.impl.factory.GraphDatabaseFacade; import org.neo4j.kernel.impl.factory.GraphDatabaseFacadeFactory; import org.neo4j.kernel.impl.factory.PlatformModule; +import org.neo4j.udc.UsageDataKeys.OperationalMode; public class LimitedFileSystemGraphDatabase extends ImpermanentGraphDatabase { @@ -44,7 +45,9 @@ protected void create( File storeDir, Map params, GraphDatabaseF new CommunityFacadeFactory() { @Override - protected PlatformModule createPlatform( File storeDir, Map params, Dependencies dependencies, GraphDatabaseFacade graphDatabaseFacade ) + protected PlatformModule createPlatform( File storeDir, Map params, + Dependencies dependencies, GraphDatabaseFacade graphDatabaseFacade, + OperationalMode operationalMode ) { return new ImpermanentPlatformModule( storeDir, params, dependencies, graphDatabaseFacade ) { diff --git a/community/kernel/src/test/java/org/neo4j/test/TestGraphDatabaseFactory.java b/community/kernel/src/test/java/org/neo4j/test/TestGraphDatabaseFactory.java index 6dc57a619537..dc6d85b801ae 100644 --- a/community/kernel/src/test/java/org/neo4j/test/TestGraphDatabaseFactory.java +++ b/community/kernel/src/test/java/org/neo4j/test/TestGraphDatabaseFactory.java @@ -27,6 +27,7 @@ import org.neo4j.graphdb.factory.GraphDatabaseBuilder; import org.neo4j.graphdb.factory.GraphDatabaseFactory; import org.neo4j.graphdb.factory.GraphDatabaseSettings; +import org.neo4j.graphdb.security.URLAccessRule; import org.neo4j.io.fs.FileSystemAbstraction; import org.neo4j.kernel.GraphDatabaseDependencies; import org.neo4j.kernel.extension.KernelExtensionFactory; @@ -36,9 +37,9 @@ import org.neo4j.kernel.impl.logging.AbstractLogService; import org.neo4j.kernel.impl.logging.LogService; import org.neo4j.kernel.monitoring.Monitors; -import org.neo4j.graphdb.security.URLAccessRule; import org.neo4j.logging.LogProvider; import org.neo4j.logging.NullLogProvider; +import org.neo4j.udc.UsageDataKeys.OperationalMode; /** * Test factory for graph databases @@ -171,7 +172,9 @@ public GraphDatabaseService newDatabase( Map config ) return new CommunityFacadeFactory() { @Override - protected PlatformModule createPlatform( File storeDir, Map params, Dependencies dependencies, GraphDatabaseFacade graphDatabaseFacade ) + protected PlatformModule createPlatform( File storeDir, Map params, + Dependencies dependencies, GraphDatabaseFacade graphDatabaseFacade, + OperationalMode operationalMode ) { return new ImpermanentGraphDatabase.ImpermanentPlatformModule( storeDir, params, dependencies, graphDatabaseFacade ) { diff --git a/community/lucene-index/src/main/java/org/neo4j/index/lucene/LuceneLabelScanStoreBuilder.java b/community/lucene-index/src/main/java/org/neo4j/index/lucene/LuceneLabelScanStoreBuilder.java index 29d2debfd10d..8bdab7aa6533 100644 --- a/community/lucene-index/src/main/java/org/neo4j/index/lucene/LuceneLabelScanStoreBuilder.java +++ b/community/lucene-index/src/main/java/org/neo4j/index/lucene/LuceneLabelScanStoreBuilder.java @@ -34,6 +34,7 @@ import org.neo4j.kernel.impl.transaction.state.NeoStoresSupplier; import org.neo4j.kernel.impl.transaction.state.SimpleNeoStoresSupplier; import org.neo4j.logging.LogProvider; +import org.neo4j.udc.UsageDataKeys.OperationalMode; import static org.neo4j.kernel.impl.api.scan.LabelScanStoreProvider.fullStoreLabelUpdateStream; @@ -50,6 +51,7 @@ public class LuceneLabelScanStoreBuilder private final NeoStoresSupplier neoStoresSupplier; private final FileSystemAbstraction fileSystem; private final Config config; + private final OperationalMode operationalMode; private final LogProvider logProvider; private LuceneLabelScanStore labelScanStore = null; @@ -58,12 +60,14 @@ public LuceneLabelScanStoreBuilder( File storeDir, NeoStores neoStores, FileSystemAbstraction fileSystem, Config config, + OperationalMode operationalMode, LogProvider logProvider ) { this.storeDir = storeDir; this.neoStoresSupplier = new SimpleNeoStoresSupplier( neoStores ); this.fileSystem = fileSystem; this.config = config; + this.operationalMode = operationalMode; this.logProvider = logProvider; } @@ -79,7 +83,7 @@ public LabelScanStore build() new File( new File( new File( storeDir, "schema" ), "label" ), "lucene" ), fileSystem, IndexWriterFactories.tracking(), fullStoreLabelUpdateStream( neoStoresSupplier ), - config, LuceneLabelScanStore.loggerMonitor( logProvider ) ); + config, operationalMode, LuceneLabelScanStore.loggerMonitor( logProvider ) ); try { diff --git a/community/lucene-index/src/main/java/org/neo4j/kernel/api/impl/index/LuceneLabelScanStore.java b/community/lucene-index/src/main/java/org/neo4j/kernel/api/impl/index/LuceneLabelScanStore.java index 786850b9ca6c..6724eba4961a 100644 --- a/community/lucene-index/src/main/java/org/neo4j/kernel/api/impl/index/LuceneLabelScanStore.java +++ b/community/lucene-index/src/main/java/org/neo4j/kernel/api/impl/index/LuceneLabelScanStore.java @@ -46,11 +46,10 @@ import org.neo4j.kernel.api.labelscan.NodeLabelUpdate; import org.neo4j.kernel.configuration.Config; import org.neo4j.kernel.impl.api.scan.LabelScanStoreProvider.FullStoreChangeStream; -import org.neo4j.kernel.impl.factory.GraphDatabaseFacadeFactory; import org.neo4j.kernel.impl.store.UnderlyingStorageException; import org.neo4j.logging.Log; import org.neo4j.logging.LogProvider; -import org.neo4j.udc.UsageDataKeys; +import org.neo4j.udc.UsageDataKeys.OperationalMode; import org.neo4j.unsafe.batchinsert.LabelScanWriter; public class LuceneLabelScanStore @@ -132,7 +131,8 @@ public void rebuilt( long highNodeId ) public LuceneLabelScanStore( LabelScanStorageStrategy strategy, DirectoryFactory directoryFactory, File directoryLocation, FileSystemAbstraction fs, IndexWriterFactory writerFactory, - FullStoreChangeStream fullStoreStream, Config config, Monitor monitor ) + FullStoreChangeStream fullStoreStream, Config config, OperationalMode operationalMode, + Monitor monitor ) { this.strategy = strategy; this.directoryFactory = directoryFactory; @@ -140,7 +140,7 @@ public LuceneLabelScanStore( LabelScanStorageStrategy strategy, DirectoryFactory this.fs = fs; this.writerFactory = writerFactory; this.fullStoreStream = fullStoreStream; - this.readOnly = isReadOnly( config ); + this.readOnly = isReadOnly( config, operationalMode ); this.monitor = monitor; } @@ -373,10 +373,8 @@ private void prepareRebuildOfIndex() throws IOException directory = directoryFactory.open( directoryLocation ); } - private static boolean isReadOnly( Config config ) + private static boolean isReadOnly( Config config, OperationalMode operationalMode ) { - UsageDataKeys.OperationalMode operationalMode = config.get( GraphDatabaseFacadeFactory.Configuration.operationalMode ); - return config.get( GraphDatabaseSettings.read_only ) && - (UsageDataKeys.OperationalMode.ha != operationalMode); + return config.get( GraphDatabaseSettings.read_only ) && (OperationalMode.ha != operationalMode); } } diff --git a/community/lucene-index/src/main/java/org/neo4j/kernel/api/impl/index/LuceneLabelScanStoreExtension.java b/community/lucene-index/src/main/java/org/neo4j/kernel/api/impl/index/LuceneLabelScanStoreExtension.java index 79392751483f..7dc5adfd8898 100644 --- a/community/lucene-index/src/main/java/org/neo4j/kernel/api/impl/index/LuceneLabelScanStoreExtension.java +++ b/community/lucene-index/src/main/java/org/neo4j/kernel/api/impl/index/LuceneLabelScanStoreExtension.java @@ -78,7 +78,8 @@ directoryFactory, new File( new File( new File( context.storeDir(), "schema" ), context.fileSystem(), tracking(), fullStoreLabelUpdateStream( dependencies.getNeoStoreSupplier() ), - config, monitor != null ? monitor : loggerMonitor( dependencies.getLogService().getInternalLogProvider() ) ); + config, context.operationalMode(), + monitor != null ? monitor : loggerMonitor( dependencies.getLogService().getInternalLogProvider() ) ); return new LabelScanStoreProvider( scanStore, priority ); } diff --git a/community/lucene-index/src/main/java/org/neo4j/kernel/api/impl/index/LuceneSchemaIndexProvider.java b/community/lucene-index/src/main/java/org/neo4j/kernel/api/impl/index/LuceneSchemaIndexProvider.java index 559127ede1e9..73f00e02c0f4 100644 --- a/community/lucene-index/src/main/java/org/neo4j/kernel/api/impl/index/LuceneSchemaIndexProvider.java +++ b/community/lucene-index/src/main/java/org/neo4j/kernel/api/impl/index/LuceneSchemaIndexProvider.java @@ -42,11 +42,10 @@ import org.neo4j.kernel.api.index.util.FolderLayout; import org.neo4j.kernel.configuration.Config; import org.neo4j.kernel.impl.api.index.sampling.IndexSamplingConfig; -import org.neo4j.kernel.impl.factory.GraphDatabaseFacadeFactory; import org.neo4j.kernel.impl.store.StoreFactory; import org.neo4j.kernel.impl.storemigration.SchemaIndexMigrator; import org.neo4j.kernel.impl.storemigration.StoreMigrationParticipant; -import org.neo4j.udc.UsageDataKeys; +import org.neo4j.udc.UsageDataKeys.OperationalMode; public class LuceneSchemaIndexProvider extends SchemaIndexProvider { @@ -58,14 +57,14 @@ public class LuceneSchemaIndexProvider extends SchemaIndexProvider private final Map failures = new HashMap<>(); public LuceneSchemaIndexProvider( FileSystemAbstraction fileSystem, DirectoryFactory directoryFactory, - File storeDir, Config config ) + File storeDir, Config config, OperationalMode operationalMode ) { super( LuceneSchemaIndexProviderFactory.PROVIDER_DESCRIPTOR, 1 ); this.directoryFactory = directoryFactory; File rootDirectory = getRootDirectory( storeDir, LuceneSchemaIndexProviderFactory.KEY ); this.folderLayout = new FolderLayout( rootDirectory ); this.failureStorage = new FailureStorage( fileSystem, folderLayout ); - this.readOnly = isReadOnly( config ); + this.readOnly = isReadOnly( config, operationalMode ); } @Override @@ -171,10 +170,9 @@ public String getPopulationFailure( long indexId ) throws IllegalStateException return failure; } - private static boolean isReadOnly( Config config ) + private static boolean isReadOnly( Config config, OperationalMode operationalMode ) { - UsageDataKeys.OperationalMode operationalMode = config.get( GraphDatabaseFacadeFactory.Configuration.operationalMode ); return config.get( GraphDatabaseSettings.read_only ) && - (UsageDataKeys.OperationalMode.ha != operationalMode); + (OperationalMode.ha != operationalMode); } } diff --git a/community/lucene-index/src/main/java/org/neo4j/kernel/api/impl/index/LuceneSchemaIndexProviderFactory.java b/community/lucene-index/src/main/java/org/neo4j/kernel/api/impl/index/LuceneSchemaIndexProviderFactory.java index 4b4caa60b73d..cbf6e880a7f9 100644 --- a/community/lucene-index/src/main/java/org/neo4j/kernel/api/impl/index/LuceneSchemaIndexProviderFactory.java +++ b/community/lucene-index/src/main/java/org/neo4j/kernel/api/impl/index/LuceneSchemaIndexProviderFactory.java @@ -57,6 +57,7 @@ public LuceneSchemaIndexProvider newInstance( KernelContext context, Dependencie FileSystemAbstraction fileSystem = context.fileSystem(); DirectoryFactory directoryFactory = directoryFactory( ephemeral, fileSystem ); - return new LuceneSchemaIndexProvider( fileSystem, directoryFactory, context.storeDir(), config ); + return new LuceneSchemaIndexProvider( fileSystem, directoryFactory, context.storeDir(), config, + context.operationalMode() ); } } diff --git a/community/lucene-index/src/test/java/org/neo4j/index/impl/lucene/NonUniqueIndexTests.java b/community/lucene-index/src/test/java/org/neo4j/index/impl/lucene/NonUniqueIndexTests.java index d9ecfc2df492..aa5007ef5912 100644 --- a/community/lucene-index/src/test/java/org/neo4j/index/impl/lucene/NonUniqueIndexTests.java +++ b/community/lucene-index/src/test/java/org/neo4j/index/impl/lucene/NonUniqueIndexTests.java @@ -50,6 +50,7 @@ import org.neo4j.kernel.impl.util.Neo4jJobScheduler; import org.neo4j.logging.LogProvider; import org.neo4j.test.TargetDirectory; +import org.neo4j.udc.UsageDataKeys.OperationalMode; import static java.util.Collections.singletonList; import static org.hamcrest.CoreMatchers.equalTo; @@ -94,9 +95,11 @@ private GraphDatabaseService newEmbeddedGraphDatabaseWithSlowJobScheduler() return new CommunityFacadeFactory() { @Override - protected PlatformModule createPlatform( File storeDir, Map params, Dependencies dependencies, GraphDatabaseFacade graphDatabaseFacade ) + protected PlatformModule createPlatform( File storeDir, Map params, + Dependencies dependencies, GraphDatabaseFacade graphDatabaseFacade, + OperationalMode operationalMode) { - return new PlatformModule( storeDir, params, dependencies, graphDatabaseFacade ) + return new PlatformModule( storeDir, params, dependencies, graphDatabaseFacade, operationalMode ) { @Override protected Neo4jJobScheduler createJobScheduler() @@ -150,7 +153,7 @@ private List nodeIdsInIndex( int indexId, String value ) throws IOExceptio { Config config = new Config(); SchemaIndexProvider indexProvider = new LuceneSchemaIndexProvider( new DefaultFileSystemAbstraction(), - DirectoryFactory.PERSISTENT, directory.graphDbDir(), new Config() ); + DirectoryFactory.PERSISTENT, directory.graphDbDir(), new Config(), OperationalMode.single ); IndexConfiguration indexConfig = new IndexConfiguration( false ); IndexSamplingConfig samplingConfig = new IndexSamplingConfig( config ); try ( IndexAccessor accessor = indexProvider.getOnlineAccessor( indexId, indexConfig, samplingConfig ); diff --git a/community/lucene-index/src/test/java/org/neo4j/kernel/api/impl/index/LuceneIndexRecoveryIT.java b/community/lucene-index/src/test/java/org/neo4j/kernel/api/impl/index/LuceneIndexRecoveryIT.java index 0531dcdcfce9..86fce5d5a980 100644 --- a/community/lucene-index/src/test/java/org/neo4j/kernel/api/impl/index/LuceneIndexRecoveryIT.java +++ b/community/lucene-index/src/test/java/org/neo4j/kernel/api/impl/index/LuceneIndexRecoveryIT.java @@ -48,6 +48,7 @@ import org.neo4j.kernel.lifecycle.Lifecycle; import org.neo4j.test.EphemeralFileSystemRule; import org.neo4j.test.TestGraphDatabaseFactory; +import org.neo4j.udc.UsageDataKeys.OperationalMode; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertNotNull; @@ -342,7 +343,7 @@ public Lifecycle newInstance( KernelContext context, LuceneSchemaIndexProviderFa throws Throwable { return new LuceneSchemaIndexProvider( fs.get(), ignoreCloseDirectoryFactory, context.storeDir(), - dependencies.getConfig() ) + dependencies.getConfig(), OperationalMode.single ) { @Override public InternalIndexState getInitialState( long indexId ) @@ -365,7 +366,7 @@ public Lifecycle newInstance( KernelContext context, LuceneSchemaIndexProviderFa throws Throwable { return new LuceneSchemaIndexProvider( fs.get(), ignoreCloseDirectoryFactory, context.storeDir(), - dependencies.getConfig() ) + dependencies.getConfig(), OperationalMode.single ) { @Override public int compareTo( SchemaIndexProvider o ) diff --git a/community/lucene-index/src/test/java/org/neo4j/kernel/api/impl/index/LuceneLabelScanStoreTest.java b/community/lucene-index/src/test/java/org/neo4j/kernel/api/impl/index/LuceneLabelScanStoreTest.java index 450633293c3c..422993c8cb7f 100644 --- a/community/lucene-index/src/test/java/org/neo4j/kernel/api/impl/index/LuceneLabelScanStoreTest.java +++ b/community/lucene-index/src/test/java/org/neo4j/kernel/api/impl/index/LuceneLabelScanStoreTest.java @@ -67,6 +67,7 @@ import org.neo4j.kernel.lifecycle.LifeSupport; import org.neo4j.kernel.lifecycle.LifecycleException; import org.neo4j.test.TargetDirectory; +import org.neo4j.udc.UsageDataKeys.OperationalMode; import org.neo4j.unsafe.batchinsert.LabelScanWriter; import static java.util.Arrays.asList; @@ -541,7 +542,7 @@ private void startLabelScanStore( List existingData, Map co return new EnterpriseFacadeFactory() { @Override - protected PlatformModule createPlatform( File storeDir, Map params, Dependencies dependencies, GraphDatabaseFacade graphDatabaseFacade ) + protected PlatformModule createPlatform( File storeDir, Map params, + Dependencies dependencies, GraphDatabaseFacade graphDatabaseFacade, + OperationalMode operationalMode ) { - return new PlatformModule( storeDir, params, dependencies, graphDatabaseFacade ) + return new PlatformModule( storeDir, params, dependencies, graphDatabaseFacade, operationalMode ) { @Override diff --git a/enterprise/enterprise-performance-tests/src/main/java/org/neo4j/perftest/enterprise/ccheck/ConsistencyPerformanceCheck.java b/enterprise/enterprise-performance-tests/src/main/java/org/neo4j/perftest/enterprise/ccheck/ConsistencyPerformanceCheck.java index 96738cfd85ae..df68a0d12930 100644 --- a/enterprise/enterprise-performance-tests/src/main/java/org/neo4j/perftest/enterprise/ccheck/ConsistencyPerformanceCheck.java +++ b/enterprise/enterprise-performance-tests/src/main/java/org/neo4j/perftest/enterprise/ccheck/ConsistencyPerformanceCheck.java @@ -48,6 +48,7 @@ import org.neo4j.perftest.enterprise.util.Configuration; import org.neo4j.perftest.enterprise.util.Parameters; import org.neo4j.perftest.enterprise.util.Setting; +import org.neo4j.udc.UsageDataKeys.OperationalMode; import static org.neo4j.consistency.ConsistencyCheckService.defaultConsistencyCheckThreadsNumber; import static org.neo4j.perftest.enterprise.util.Configuration.SYSTEM_PROPERTIES; @@ -143,12 +144,13 @@ private static DirectStoreAccess createScannableStores( File storeDir, Config tu StoreFactory factory = new StoreFactory( storeDir, tuningConfiguration, new DefaultIdGeneratorFactory( fileSystem ), pageCache, fileSystem, NullLogProvider.getInstance() ); NeoStores neoStores = factory.openAllNeoStores( true ); + OperationalMode operationalMode = OperationalMode.single; SchemaIndexProvider indexes = new LuceneSchemaIndexProvider( fileSystem, DirectoryFactory.PERSISTENT, - storeDir, tuningConfiguration ); + storeDir, tuningConfiguration, operationalMode ); LuceneLabelScanStoreBuilder labelScanStoreBuilder = new LuceneLabelScanStoreBuilder( storeDir, neoStores, - fileSystem, tuningConfiguration, NullLogProvider.getInstance() ); + fileSystem, tuningConfiguration, operationalMode, NullLogProvider.getInstance() ); LabelScanStore labelScanStore = labelScanStoreBuilder.build(); return new DirectStoreAccess( new StoreAccess( neoStores ).initialize(), labelScanStore, indexes ); } diff --git a/enterprise/ha/src/main/java/org/neo4j/kernel/ha/factory/HighlyAvailableFacadeFactory.java b/enterprise/ha/src/main/java/org/neo4j/kernel/ha/factory/HighlyAvailableFacadeFactory.java index 4f92a03775da..0163ef2829c2 100644 --- a/enterprise/ha/src/main/java/org/neo4j/kernel/ha/factory/HighlyAvailableFacadeFactory.java +++ b/enterprise/ha/src/main/java/org/neo4j/kernel/ha/factory/HighlyAvailableFacadeFactory.java @@ -26,7 +26,7 @@ import org.neo4j.kernel.impl.factory.GraphDatabaseFacade; import org.neo4j.kernel.impl.factory.GraphDatabaseFacadeFactory; import org.neo4j.kernel.impl.factory.PlatformModule; -import org.neo4j.udc.UsageDataKeys; +import org.neo4j.udc.UsageDataKeys.OperationalMode; /** * This facade creates instances of the Enterprise edition of Neo4j. @@ -38,8 +38,7 @@ public GraphDatabaseFacade newFacade( File storeDir, Map params, GraphDatabaseFacade graphDatabaseFacade ) { params.put( Configuration.editionName.name(), "Enterprise"); - params.put( Configuration.operationalMode.name(), UsageDataKeys.OperationalMode.ha.name()); - return super.newFacade( storeDir, params, dependencies, graphDatabaseFacade ); + return super.newFacade( storeDir, params, dependencies, graphDatabaseFacade, OperationalMode.ha ); } @Override diff --git a/enterprise/ha/src/test/java/org/neo4j/kernel/api/SchemaIndexHaIT.java b/enterprise/ha/src/test/java/org/neo4j/kernel/api/SchemaIndexHaIT.java index 3ddc9213bae7..bcba20297b9d 100644 --- a/enterprise/ha/src/test/java/org/neo4j/kernel/api/SchemaIndexHaIT.java +++ b/enterprise/ha/src/test/java/org/neo4j/kernel/api/SchemaIndexHaIT.java @@ -556,14 +556,14 @@ public Lifecycle newInstance( KernelContext context, SchemaIndexHaIT.IndexProvid { ControlledSchemaIndexProvider provider = new ControlledSchemaIndexProvider( new LuceneSchemaIndexProvider( new DefaultFileSystemAbstraction(), - DirectoryFactory.PERSISTENT, context.storeDir(), deps.config() ) ); + DirectoryFactory.PERSISTENT, context.storeDir(), deps.config(), context.operationalMode() ) ); perDbIndexProvider.put( deps.db(), provider ); return provider; } else { return new LuceneSchemaIndexProvider( new DefaultFileSystemAbstraction(), - DirectoryFactory.PERSISTENT, context.storeDir(), deps.config() ); + DirectoryFactory.PERSISTENT, context.storeDir(), deps.config(), context.operationalMode() ); } } } diff --git a/enterprise/kernel/src/main/java/org/neo4j/kernel/impl/enterprise/EnterpriseFacadeFactory.java b/enterprise/kernel/src/main/java/org/neo4j/kernel/impl/enterprise/EnterpriseFacadeFactory.java index 09db989b1cc4..b5bcbd34a86a 100644 --- a/enterprise/kernel/src/main/java/org/neo4j/kernel/impl/enterprise/EnterpriseFacadeFactory.java +++ b/enterprise/kernel/src/main/java/org/neo4j/kernel/impl/enterprise/EnterpriseFacadeFactory.java @@ -26,7 +26,7 @@ import org.neo4j.kernel.impl.factory.GraphDatabaseFacade; import org.neo4j.kernel.impl.factory.GraphDatabaseFacadeFactory; import org.neo4j.kernel.impl.factory.PlatformModule; -import org.neo4j.udc.UsageDataKeys; +import org.neo4j.udc.UsageDataKeys.OperationalMode; /** * This facade creates instances of the Enterprise edition of Neo4j. @@ -38,8 +38,7 @@ public GraphDatabaseFacade newFacade( File storeDir, Map params, GraphDatabaseFacade graphDatabaseFacade ) { params.put( Configuration.editionName.name(), "Enterprise" ); - params.put( Configuration.operationalMode.name(), UsageDataKeys.OperationalMode.single.name() ); - return super.newFacade( storeDir, params, dependencies, graphDatabaseFacade ); + return super.newFacade( storeDir, params, dependencies, graphDatabaseFacade, OperationalMode.single ); } @Override diff --git a/enterprise/kernel/src/test/java/org/neo4j/test/TestEnterpriseGraphDatabaseFactory.java b/enterprise/kernel/src/test/java/org/neo4j/test/TestEnterpriseGraphDatabaseFactory.java index 8f378123759d..d1b317720662 100644 --- a/enterprise/kernel/src/test/java/org/neo4j/test/TestEnterpriseGraphDatabaseFactory.java +++ b/enterprise/kernel/src/test/java/org/neo4j/test/TestEnterpriseGraphDatabaseFactory.java @@ -32,6 +32,7 @@ import org.neo4j.kernel.impl.logging.AbstractLogService; import org.neo4j.kernel.impl.logging.LogService; import org.neo4j.logging.LogProvider; +import org.neo4j.udc.UsageDataKeys.OperationalMode; public class TestEnterpriseGraphDatabaseFactory extends TestGraphDatabaseFactory { @@ -49,7 +50,8 @@ public GraphDatabaseService newDatabase( Map config ) { @Override protected PlatformModule createPlatform( File storeDir, Map params, - Dependencies dependencies, GraphDatabaseFacade graphDatabaseFacade ) + Dependencies dependencies, GraphDatabaseFacade graphDatabaseFacade, + OperationalMode operationalMode) { return new ImpermanentGraphDatabase.ImpermanentPlatformModule( storeDir, params, dependencies, graphDatabaseFacade )