diff --git a/community/consistency-check/src/main/java/org/neo4j/consistency/CheckConsistencyCommand.java b/community/consistency-check/src/main/java/org/neo4j/consistency/CheckConsistencyCommand.java index 7dbfa8138618b..11373f01129a5 100644 --- a/community/consistency-check/src/main/java/org/neo4j/consistency/CheckConsistencyCommand.java +++ b/community/consistency-check/src/main/java/org/neo4j/consistency/CheckConsistencyCommand.java @@ -33,7 +33,7 @@ import org.neo4j.commandline.arguments.Arguments; import org.neo4j.commandline.arguments.OptionalBooleanArg; import org.neo4j.commandline.arguments.common.OptionalCanonicalPath; -import org.neo4j.consistency.checking.full.ConsistencyFlags; +import org.neo4j.consistency.checking.full.CheckConsistencyConfig; import org.neo4j.consistency.checking.full.ConsistencyCheckIncompleteException; import org.neo4j.dbms.DatabaseManagementSystemSettings; import org.neo4j.helpers.Strings; @@ -184,7 +184,7 @@ public void execute( String[] args ) throws IncorrectUsage, CommandFailed .runFullConsistencyCheck( storeDir, config, ProgressMonitorFactory.textual( System.err ), FormattedLogProvider.toOutputStream( System.out ), fileSystem, verbose, reportDir.toFile(), - new ConsistencyFlags( + new CheckConsistencyConfig( checkGraph, checkIndexes, checkLabelScanStore, checkPropertyOwners ) ); if ( !consistencyCheckResult.isSuccessful() ) 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 0feb4f7d19b6b..d836c425b2392 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 @@ -25,7 +25,7 @@ import java.text.SimpleDateFormat; import java.util.Date; -import org.neo4j.consistency.checking.full.ConsistencyFlags; +import org.neo4j.consistency.checking.full.CheckConsistencyConfig; import org.neo4j.consistency.checking.full.ConsistencyCheckIncompleteException; import org.neo4j.consistency.checking.full.FullCheck; import org.neo4j.consistency.report.ConsistencySummaryStatistics; @@ -90,18 +90,18 @@ public Result runFullConsistencyCheck( File storeDir, Config tuningConfiguration throws ConsistencyCheckIncompleteException, IOException { return runFullConsistencyCheck( storeDir, tuningConfiguration, progressFactory, logProvider, verbose, - new ConsistencyFlags( tuningConfiguration ) ); + new CheckConsistencyConfig( tuningConfiguration ) ); } public Result runFullConsistencyCheck( File storeDir, Config config, ProgressMonitorFactory progressFactory, - LogProvider logProvider, boolean verbose, ConsistencyFlags consistencyFlags ) + LogProvider logProvider, boolean verbose, CheckConsistencyConfig checkConsistencyConfig ) throws ConsistencyCheckIncompleteException, IOException { FileSystemAbstraction fileSystem = new DefaultFileSystemAbstraction(); try { return runFullConsistencyCheck( storeDir, config, progressFactory, logProvider, - fileSystem, verbose, consistencyFlags ); + fileSystem, verbose, checkConsistencyConfig ); } finally { @@ -123,15 +123,15 @@ public Result runFullConsistencyCheck( File storeDir, Config tuningConfiguration boolean verbose ) throws ConsistencyCheckIncompleteException, IOException { return runFullConsistencyCheck( storeDir, tuningConfiguration, progressFactory, logProvider, fileSystem, - verbose, new ConsistencyFlags( tuningConfiguration ) ); + verbose, new CheckConsistencyConfig( tuningConfiguration ) ); } public Result runFullConsistencyCheck( File storeDir, Config config, ProgressMonitorFactory progressFactory, LogProvider logProvider, FileSystemAbstraction fileSystem, boolean verbose, - ConsistencyFlags consistencyFlags ) throws ConsistencyCheckIncompleteException, IOException + CheckConsistencyConfig checkConsistencyConfig ) throws ConsistencyCheckIncompleteException, IOException { return runFullConsistencyCheck( storeDir, config, progressFactory, logProvider, fileSystem, - verbose, defaultReportDir( config, storeDir ), consistencyFlags ); + verbose, defaultReportDir( config, storeDir ), checkConsistencyConfig ); } @Deprecated @@ -140,12 +140,12 @@ public Result runFullConsistencyCheck( File storeDir, Config tuningConfiguration boolean verbose, File reportDir ) throws ConsistencyCheckIncompleteException, IOException { return runFullConsistencyCheck( storeDir, tuningConfiguration, progressFactory, logProvider, fileSystem, - verbose, reportDir, new ConsistencyFlags( tuningConfiguration ) ); + verbose, reportDir, new CheckConsistencyConfig( tuningConfiguration ) ); } public Result runFullConsistencyCheck( File storeDir, Config config, ProgressMonitorFactory progressFactory, LogProvider logProvider, FileSystemAbstraction fileSystem, boolean verbose, File reportDir, - ConsistencyFlags consistencyFlags ) throws ConsistencyCheckIncompleteException, IOException + CheckConsistencyConfig checkConsistencyConfig ) throws ConsistencyCheckIncompleteException, IOException { Log log = logProvider.getLog( getClass() ); ConfiguringPageCacheFactory pageCacheFactory = new ConfiguringPageCacheFactory( @@ -156,7 +156,7 @@ public Result runFullConsistencyCheck( File storeDir, Config config, ProgressMon try { return runFullConsistencyCheck( storeDir, config, progressFactory, logProvider, fileSystem, - pageCache, verbose, reportDir, consistencyFlags ); + pageCache, verbose, reportDir, checkConsistencyConfig ); } finally { @@ -178,16 +178,16 @@ public Result runFullConsistencyCheck( final File storeDir, Config tuningConfigu throws ConsistencyCheckIncompleteException { return runFullConsistencyCheck( storeDir, tuningConfiguration, progressFactory, logProvider, fileSystem, - pageCache, verbose, new ConsistencyFlags( tuningConfiguration ) ); + pageCache, verbose, new CheckConsistencyConfig( tuningConfiguration ) ); } public Result runFullConsistencyCheck( final File storeDir, Config config, ProgressMonitorFactory progressFactory, final LogProvider logProvider, final FileSystemAbstraction fileSystem, final PageCache pageCache, - final boolean verbose, ConsistencyFlags consistencyFlags ) + final boolean verbose, CheckConsistencyConfig checkConsistencyConfig ) throws ConsistencyCheckIncompleteException { return runFullConsistencyCheck( storeDir, config, progressFactory, logProvider, fileSystem, pageCache, - verbose, defaultReportDir( config, storeDir ), consistencyFlags ); + verbose, defaultReportDir( config, storeDir ), checkConsistencyConfig ); } @Deprecated @@ -197,12 +197,12 @@ public Result runFullConsistencyCheck( final File storeDir, Config tuningConfigu throws ConsistencyCheckIncompleteException { return runFullConsistencyCheck( storeDir, tuningConfiguration, progressFactory, logProvider, fileSystem, - pageCache, verbose, reportDir, new ConsistencyFlags( tuningConfiguration ) ); + pageCache, verbose, reportDir, new CheckConsistencyConfig( tuningConfiguration ) ); } public Result runFullConsistencyCheck( final File storeDir, Config config, ProgressMonitorFactory progressFactory, final LogProvider logProvider, final FileSystemAbstraction fileSystem, final PageCache pageCache, - final boolean verbose, File reportDir, ConsistencyFlags consistencyFlags ) + final boolean verbose, File reportDir, CheckConsistencyConfig checkConsistencyConfig ) throws ConsistencyCheckIncompleteException { Log log = logProvider.getLog( getClass() ); @@ -262,7 +262,7 @@ fileSystem, config, new SimpleLogService( logProvider, logProvider ), pageCache, } storeAccess.initialize(); DirectStoreAccess stores = new DirectStoreAccess( storeAccess, labelScanStore, indexes ); - FullCheck check = new FullCheck( progressFactory, statistics, numberOfThreads, consistencyFlags ); + FullCheck check = new FullCheck( progressFactory, statistics, numberOfThreads, checkConsistencyConfig ); summary = check.execute( stores, new DuplicatingLog( log, reportLog ) ); } finally diff --git a/community/consistency-check/src/main/java/org/neo4j/consistency/ConsistencyCheckTool.java b/community/consistency-check/src/main/java/org/neo4j/consistency/ConsistencyCheckTool.java index 0cc0aa8dacd99..69419f7fa5f81 100644 --- a/community/consistency-check/src/main/java/org/neo4j/consistency/ConsistencyCheckTool.java +++ b/community/consistency-check/src/main/java/org/neo4j/consistency/ConsistencyCheckTool.java @@ -25,7 +25,7 @@ import java.util.List; import java.util.Map; -import org.neo4j.consistency.checking.full.ConsistencyFlags; +import org.neo4j.consistency.checking.full.CheckConsistencyConfig; import org.neo4j.consistency.checking.full.ConsistencyCheckIncompleteException; import org.neo4j.helpers.Args; import org.neo4j.helpers.Strings; @@ -116,7 +116,7 @@ ConsistencyCheckService.Result run( String... args ) throws ToolFailureException { return consistencyCheckService.runFullConsistencyCheck( storeDir, tuningConfiguration, ProgressMonitorFactory.textual( systemError ), logProvider, fs, verbose, - new ConsistencyFlags( tuningConfiguration ) ); + new CheckConsistencyConfig( tuningConfiguration ) ); } catch ( ConsistencyCheckIncompleteException e ) { diff --git a/community/consistency-check/src/main/java/org/neo4j/consistency/checking/full/ConsistencyFlags.java b/community/consistency-check/src/main/java/org/neo4j/consistency/checking/full/CheckConsistencyConfig.java similarity index 94% rename from community/consistency-check/src/main/java/org/neo4j/consistency/checking/full/ConsistencyFlags.java rename to community/consistency-check/src/main/java/org/neo4j/consistency/checking/full/CheckConsistencyConfig.java index ef9ebe77b816c..e01e0d1999e72 100644 --- a/community/consistency-check/src/main/java/org/neo4j/consistency/checking/full/ConsistencyFlags.java +++ b/community/consistency-check/src/main/java/org/neo4j/consistency/checking/full/CheckConsistencyConfig.java @@ -25,14 +25,14 @@ import org.neo4j.consistency.ConsistencyCheckSettings; import org.neo4j.kernel.configuration.Config; -public class ConsistencyFlags +public class CheckConsistencyConfig { private final boolean checkGraph; private final boolean checkIndexes; private final boolean checkLabelScanStore; private final boolean checkPropertyOwners; - public ConsistencyFlags( Config tuningConfiguration ) + public CheckConsistencyConfig( Config tuningConfiguration ) { this( tuningConfiguration.get( ConsistencyCheckSettings.consistency_check_graph ), tuningConfiguration.get( ConsistencyCheckSettings.consistency_check_indexes ), @@ -40,7 +40,7 @@ public ConsistencyFlags( Config tuningConfiguration ) tuningConfiguration.get( ConsistencyCheckSettings.consistency_check_property_owners ) ); } - public ConsistencyFlags( boolean checkGraph, + public CheckConsistencyConfig( boolean checkGraph, boolean checkIndexes, boolean checkLabelScanStore, boolean checkPropertyOwners ) diff --git a/community/consistency-check/src/main/java/org/neo4j/consistency/checking/full/FullCheck.java b/community/consistency-check/src/main/java/org/neo4j/consistency/checking/full/FullCheck.java index 412a9cbb2d5b5..05f3b4e7dca51 100644 --- a/community/consistency-check/src/main/java/org/neo4j/consistency/checking/full/FullCheck.java +++ b/community/consistency-check/src/main/java/org/neo4j/consistency/checking/full/FullCheck.java @@ -66,20 +66,20 @@ public class FullCheck public FullCheck( Config tuningConfiguration, ProgressMonitorFactory progressFactory, Statistics statistics, int threads ) { - this( progressFactory, statistics, threads, new ConsistencyFlags( tuningConfiguration ) ); + this( progressFactory, statistics, threads, new CheckConsistencyConfig( tuningConfiguration ) ); } public FullCheck( ProgressMonitorFactory progressFactory, Statistics statistics, int threads, - ConsistencyFlags consistencyFlags ) + CheckConsistencyConfig checkConsistencyConfig ) { this.statistics = statistics; this.threads = threads; this.progressFactory = progressFactory; this.samplingConfig = new IndexSamplingConfig( Config.defaults() ); - this.checkGraph = consistencyFlags.isCheckGraph(); - this.checkIndexes = consistencyFlags.isCheckIndexes(); - this.checkLabelScanStore = consistencyFlags.isCheckLabelScanStore(); - this.checkPropertyOwners = consistencyFlags.isCheckPropertyOwners(); + this.checkGraph = checkConsistencyConfig.isCheckGraph(); + this.checkIndexes = checkConsistencyConfig.isCheckIndexes(); + this.checkLabelScanStore = checkConsistencyConfig.isCheckLabelScanStore(); + this.checkPropertyOwners = checkConsistencyConfig.isCheckPropertyOwners(); } public ConsistencySummaryStatistics execute( DirectStoreAccess stores, Log log ) diff --git a/community/consistency-check/src/test/java/org/neo4j/consistency/CheckConsistencyCommandTest.java b/community/consistency-check/src/test/java/org/neo4j/consistency/CheckConsistencyCommandTest.java index ff9b1bd26ef02..e95576b6aa8da 100644 --- a/community/consistency-check/src/test/java/org/neo4j/consistency/CheckConsistencyCommandTest.java +++ b/community/consistency-check/src/test/java/org/neo4j/consistency/CheckConsistencyCommandTest.java @@ -35,7 +35,7 @@ import org.neo4j.commandline.admin.IncorrectUsage; import org.neo4j.commandline.admin.OutsideWorld; import org.neo4j.commandline.admin.Usage; -import org.neo4j.consistency.checking.full.ConsistencyFlags; +import org.neo4j.consistency.checking.full.CheckConsistencyConfig; import org.neo4j.consistency.checking.full.ConsistencyCheckIncompleteException; import org.neo4j.helpers.progress.ProgressMonitorFactory; import org.neo4j.io.fs.FileSystemAbstraction; @@ -79,7 +79,7 @@ public void runsConsistencyChecker() throws Exception when( consistencyCheckService .runFullConsistencyCheck( eq( databasePath ), any( Config.class ), any( ProgressMonitorFactory.class ), any( LogProvider.class ), any( FileSystemAbstraction.class ), eq( false ), anyObject(), - any( ConsistencyFlags.class ) ) ) + any( CheckConsistencyConfig.class ) ) ) .thenReturn( ConsistencyCheckService.Result.success( null ) ); checkConsistencyCommand.execute( new String[]{"--database=mydb"} ); @@ -87,7 +87,7 @@ public void runsConsistencyChecker() throws Exception verify( consistencyCheckService ) .runFullConsistencyCheck( eq( databasePath ), any( Config.class ), any( ProgressMonitorFactory.class ), any( LogProvider.class ), any( FileSystemAbstraction.class ), eq( false ), anyObject(), - any( ConsistencyFlags.class ) ); + any( CheckConsistencyConfig.class ) ); } @Test @@ -106,7 +106,7 @@ public void enablesVerbosity() throws Exception when( consistencyCheckService .runFullConsistencyCheck( eq( databasePath ), any( Config.class ), any( ProgressMonitorFactory.class ), any( LogProvider.class ), any( FileSystemAbstraction.class ), eq( true ), anyObject(), - any( ConsistencyFlags.class ) ) ) + any( CheckConsistencyConfig.class ) ) ) .thenReturn( ConsistencyCheckService.Result.success( null ) ); checkConsistencyCommand.execute( new String[]{"--database=mydb", "--verbose"} ); @@ -114,7 +114,7 @@ public void enablesVerbosity() throws Exception verify( consistencyCheckService ) .runFullConsistencyCheck( eq( databasePath ), any( Config.class ), any( ProgressMonitorFactory.class ), any( LogProvider.class ), any( FileSystemAbstraction.class ), eq( true ), anyObject(), - any( ConsistencyFlags.class ) ); + any( CheckConsistencyConfig.class ) ); } @Test @@ -132,7 +132,7 @@ public void failsWhenInconsistenciesAreFound() throws Exception when( consistencyCheckService .runFullConsistencyCheck( eq( databasePath ), any( Config.class ), any( ProgressMonitorFactory.class ), any( LogProvider.class ), any( FileSystemAbstraction.class ), eq( true ), anyObject(), - any( ConsistencyFlags.class ) ) ) + any( CheckConsistencyConfig.class ) ) ) .thenReturn( ConsistencyCheckService.Result.failure( new File( "/the/report/path" ) ) ); try @@ -159,14 +159,14 @@ public void shouldWriteReportFileToCurrentDirectoryByDefault() consistencyCheckService ); stub( consistencyCheckService.runFullConsistencyCheck( anyObject(), anyObject(), anyObject(), anyObject(), - anyObject(), anyBoolean(), anyObject(), any( ConsistencyFlags.class ) ) ) + anyObject(), anyBoolean(), anyObject(), any( CheckConsistencyConfig.class ) ) ) .toReturn( ConsistencyCheckService.Result.success( null ) ); checkConsistencyCommand.execute( new String[]{"--database=mydb"} ); verify( consistencyCheckService ) .runFullConsistencyCheck( anyObject(), anyObject(), anyObject(), anyObject(), anyObject(), anyBoolean(), - eq( new File( "." ).getCanonicalFile() ), any( ConsistencyFlags.class ) ); + eq( new File( "." ).getCanonicalFile() ), any( CheckConsistencyConfig.class ) ); } @Test @@ -183,7 +183,7 @@ public void shouldWriteReportFileToSpecifiedDirectory() consistencyCheckService ); stub( consistencyCheckService.runFullConsistencyCheck( anyObject(), anyObject(), anyObject(), anyObject(), - anyObject(), anyBoolean(), anyObject(), any( ConsistencyFlags.class ) ) ) + anyObject(), anyBoolean(), anyObject(), any( CheckConsistencyConfig.class ) ) ) .toReturn( ConsistencyCheckService.Result.success( null ) ); checkConsistencyCommand.execute( new String[]{"--database=mydb", "--report-dir=some-dir-or-other"} ); @@ -191,7 +191,7 @@ public void shouldWriteReportFileToSpecifiedDirectory() verify( consistencyCheckService ) .runFullConsistencyCheck( anyObject(), anyObject(), anyObject(), anyObject(), anyObject(), anyBoolean(), eq( new File( "some-dir-or-other" ).getCanonicalFile() ), - any( ConsistencyFlags.class ) ); + any( CheckConsistencyConfig.class ) ); } @Test @@ -208,7 +208,7 @@ public void shouldCanonicalizeReportDirectory() consistencyCheckService ); stub( consistencyCheckService.runFullConsistencyCheck( anyObject(), anyObject(), anyObject(), anyObject(), - anyObject(), anyBoolean(), anyObject(), any( ConsistencyFlags.class ) ) ) + anyObject(), anyBoolean(), anyObject(), any( CheckConsistencyConfig.class ) ) ) .toReturn( ConsistencyCheckService.Result.success( null ) ); checkConsistencyCommand.execute( new String[]{"--database=mydb", "--report-dir=" + Paths.get( "..", "bar" )} ); @@ -216,7 +216,7 @@ public void shouldCanonicalizeReportDirectory() verify( consistencyCheckService ) .runFullConsistencyCheck( anyObject(), anyObject(), anyObject(), anyObject(), anyObject(), anyBoolean(), eq( new File( "../bar" ).getCanonicalFile() ), - any( ConsistencyFlags.class ) ); + any( CheckConsistencyConfig.class ) ); } @Test @@ -232,7 +232,7 @@ public void passesOnCheckParameters() throws Exception consistencyCheckService ); stub( consistencyCheckService.runFullConsistencyCheck( anyObject(), anyObject(), anyObject(), anyObject(), - anyObject(), anyBoolean(), anyObject(), any( ConsistencyFlags.class ) ) ) + anyObject(), anyBoolean(), anyObject(), any( CheckConsistencyConfig.class ) ) ) .toReturn( ConsistencyCheckService.Result.success( null ) ); checkConsistencyCommand.execute( new String[]{"--database=mydb", "--check-graph=false", @@ -240,7 +240,7 @@ public void passesOnCheckParameters() throws Exception verify( consistencyCheckService ) .runFullConsistencyCheck( anyObject(), anyObject(), anyObject(), anyObject(), anyObject(), anyBoolean(), - anyObject(), eq( new ConsistencyFlags( false, false, false, true ) ) ); + anyObject(), eq( new CheckConsistencyConfig( false, false, false, true ) ) ); } @Test @@ -255,7 +255,7 @@ public void databaseAndBackupAreMutuallyExclusive() throws Exception consistencyCheckService ); stub( consistencyCheckService.runFullConsistencyCheck( anyObject(), anyObject(), anyObject(), anyObject(), - anyObject(), anyBoolean(), any( ConsistencyFlags.class ) ) ) + anyObject(), anyBoolean(), any( CheckConsistencyConfig.class ) ) ) .toReturn( ConsistencyCheckService.Result.success( null ) ); expect.expect( IncorrectUsage.class ); @@ -299,7 +299,7 @@ public void canRunOnBackup() throws Exception .runFullConsistencyCheck( eq( backupDir.toFile() ), any( Config.class ), any( ProgressMonitorFactory.class ), any( LogProvider.class ), any( FileSystemAbstraction.class ), eq( false ), anyObject(), - any( ConsistencyFlags.class ) ) ) + any( CheckConsistencyConfig.class ) ) ) .thenReturn( ConsistencyCheckService.Result.success( null ) ); checkConsistencyCommand.execute( new String[]{"--backup=" + backupDir} ); @@ -308,7 +308,7 @@ public void canRunOnBackup() throws Exception .runFullConsistencyCheck( eq( backupDir.toFile() ), any( Config.class ), any( ProgressMonitorFactory.class ), any( LogProvider.class ), any( FileSystemAbstraction.class ), eq( false ), anyObject(), - any( ConsistencyFlags.class ) ); + any( CheckConsistencyConfig.class ) ); } @Test 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 e42be363508a2..e2c14b1f012b9 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 @@ -31,7 +31,7 @@ import org.mockito.ArgumentCaptor; import org.neo4j.consistency.ConsistencyCheckTool.ToolFailureException; -import org.neo4j.consistency.checking.full.ConsistencyFlags; +import org.neo4j.consistency.checking.full.CheckConsistencyConfig; import org.neo4j.graphdb.GraphDatabaseService; import org.neo4j.graphdb.Transaction; import org.neo4j.helpers.progress.ProgressMonitorFactory; @@ -79,7 +79,7 @@ public void runsConsistencyCheck() throws Exception // then verify( service ).runFullConsistencyCheck( eq( storeDir ), any( Config.class ), any( ProgressMonitorFactory.class ), any( LogProvider.class ), any( FileSystemAbstraction.class ), - anyBoolean(), any( ConsistencyFlags.class ) ); + anyBoolean(), any( CheckConsistencyConfig.class ) ); } @Test @@ -97,7 +97,7 @@ public void appliesDefaultTuningConfigurationForConsistencyChecker() throws Exce ArgumentCaptor config = ArgumentCaptor.forClass( Config.class ); verify( service ).runFullConsistencyCheck( eq( storeDir ), config.capture(), any( ProgressMonitorFactory.class ), any( LogProvider.class ), any( FileSystemAbstraction.class ), - anyBoolean(), any( ConsistencyFlags.class ) ); + anyBoolean(), any( CheckConsistencyConfig.class ) ); assertFalse( config.getValue().get( ConsistencyCheckSettings.consistency_check_property_owners ) ); } @@ -121,7 +121,7 @@ public void passesOnConfigurationIfProvided() throws Exception ArgumentCaptor config = ArgumentCaptor.forClass( Config.class ); verify( service ).runFullConsistencyCheck( eq( storeDir ), config.capture(), any( ProgressMonitorFactory.class ), any( LogProvider.class ), any( FileSystemAbstraction.class ), - anyBoolean(), any(ConsistencyFlags.class) ); + anyBoolean(), any(CheckConsistencyConfig.class) ); assertTrue( config.getValue().get( ConsistencyCheckSettings.consistency_check_property_owners ) ); } diff --git a/community/consistency-check/src/test/java/org/neo4j/consistency/checking/AllNodesInStoreExistInLabelIndexTest.java b/community/consistency-check/src/test/java/org/neo4j/consistency/checking/AllNodesInStoreExistInLabelIndexTest.java index d40a5acadaf82..6f18acc8d4265 100644 --- a/community/consistency-check/src/test/java/org/neo4j/consistency/checking/AllNodesInStoreExistInLabelIndexTest.java +++ b/community/consistency-check/src/test/java/org/neo4j/consistency/checking/AllNodesInStoreExistInLabelIndexTest.java @@ -32,7 +32,7 @@ import java.util.List; import org.neo4j.consistency.ConsistencyCheckService; -import org.neo4j.consistency.checking.full.ConsistencyFlags; +import org.neo4j.consistency.checking.full.CheckConsistencyConfig; import org.neo4j.consistency.checking.full.ConsistencyCheckIncompleteException; import org.neo4j.graphdb.Label; import org.neo4j.graphdb.Node; @@ -346,7 +346,7 @@ ConsistencyCheckService.Result fullConsistencyCheck() ConsistencyCheckService service = new ConsistencyCheckService(); Config config = Config.defaults(); return service.runFullConsistencyCheck( db.getStoreDir(), config, NONE, log, fsa, true, - new ConsistencyFlags( config ) ); + new CheckConsistencyConfig( config ) ); } } } diff --git a/community/io/src/main/java/org/neo4j/io/pagecache/impl/muninn/MuninnPagedFile.java b/community/io/src/main/java/org/neo4j/io/pagecache/impl/muninn/MuninnPagedFile.java index d1e595a8a8a48..937c505e81b76 100644 --- a/community/io/src/main/java/org/neo4j/io/pagecache/impl/muninn/MuninnPagedFile.java +++ b/community/io/src/main/java/org/neo4j/io/pagecache/impl/muninn/MuninnPagedFile.java @@ -81,7 +81,7 @@ final class MuninnPagedFile extends PageList implements PagedFile, Flushable /** * The header state includes both the reference count of the PagedFile – 15 bits – and the ID of the last page in * the file – 48 bits, plus an empty file marker bit. Because our pages are usually 2^13 bytes, this means that we - * only lose 3 bits to the reference count, in terms of keeping large files byte addressable. + * only loose 3 bits to the reference count, in terms of keeping large files byte addressable. * * The layout looks like this: * diff --git a/community/kernel/src/main/java/org/neo4j/helpers/OptionalHostnamePort.java b/community/kernel/src/main/java/org/neo4j/helpers/OptionalHostnamePort.java deleted file mode 100644 index 97aae8914affe..0000000000000 --- a/community/kernel/src/main/java/org/neo4j/helpers/OptionalHostnamePort.java +++ /dev/null @@ -1,75 +0,0 @@ -/* - * Copyright (c) 2002-2017 "Neo Technology," - * Network Engine for Objects in Lund AB [http://neotechnology.com] - * - * This file is part of Neo4j. - * - * Neo4j is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ -package org.neo4j.helpers; - -import java.util.Optional; -import javax.annotation.Nullable; - -public class OptionalHostnamePort -{ - private Optional hostname; - private Optional port; - private Optional upperRangePort; - - public OptionalHostnamePort( Optional hostname, Optional port, Optional upperRangePort ) - { - this.hostname = hostname; - this.port = port; - this.upperRangePort = upperRangePort; - } - - public OptionalHostnamePort( @Nullable String hostname, @Nullable Integer port, @Nullable Integer upperRangePort ) - { - this.hostname = Optional.ofNullable( hostname ); - this.port = Optional.ofNullable( port ); - this.upperRangePort = Optional.ofNullable( upperRangePort ); - } - - public Optional getHostname() - { - return hostname; - } - - public Optional getPort() - { - return port; - } - - public HostnamePort resolve() - { - if ( !hostname.isPresent() ) - { - throw new IllegalStateException( "Hostname must be established before resolving" ); - } - if ( !port.isPresent() ) - { - throw new IllegalStateException( "Port must be established before resolving" ); - } - return upperRangePort - .map( upperRange -> new HostnamePort( hostname.get(), port.get(), upperRange ) ) - .orElse( new HostnamePort( hostname.get(), port.get() ) ); - } - - @Override - public String toString() - { - return String.format( "OptionalHostnamePort<%s,%s,%s>", hostname, port, upperRangePort ); - } -} diff --git a/community/kernel/src/main/java/org/neo4j/kernel/impl/util/Converters.java b/community/kernel/src/main/java/org/neo4j/kernel/impl/util/Converters.java index 1a2422498ddd5..d96a80def6979 100644 --- a/community/kernel/src/main/java/org/neo4j/kernel/impl/util/Converters.java +++ b/community/kernel/src/main/java/org/neo4j/kernel/impl/util/Converters.java @@ -26,11 +26,9 @@ import java.util.Arrays; import java.util.Comparator; import java.util.List; -import java.util.Optional; import java.util.function.Function; import org.neo4j.helpers.HostnamePort; -import org.neo4j.helpers.OptionalHostnamePort; public class Converters { @@ -112,36 +110,24 @@ public static Function toInt() return Integer::new; } - public static OptionalHostnamePort toOptionalHostnamePortFromRawAddress( String rawAddress ) + public static Function toHostnamePort( HostnamePort defaultAddress ) { - return new OptionalHostnamePort( - toHostnameFromRawAddress( rawAddress ), - toPortFromRawAddress( rawAddress ), - toPortUpperRangeFromRawAddress( rawAddress ) ); - } - - private static Optional toHostnameFromRawAddress( String rawAddress ) - { - return Optional.ofNullable( rawAddress ) - .map( addr -> addr.split( ":" )[0] ) - .filter( addr -> !"".equals( addr ) ); - } - - private static Optional toPortFromRawAddress( String rawAddress ) - { - return Optional.ofNullable( rawAddress ) - .map( addr -> addr.split( ":" ) ) - .filter( parts -> parts.length >= 2 ) - .map( parts -> parts[1] ) - .map( Integer::parseInt ); - } - - private static Optional toPortUpperRangeFromRawAddress( String rawAddress ) - { - return Optional.ofNullable( rawAddress ) - .map( addr -> addr.split( ":" ) ) - .filter( parts -> parts.length == 3 ) - .map( parts -> parts[2] ) - .map( Integer::parseInt ); + return from -> + { + if ( !from.contains( ":" ) ) + { + from = from + ":" + defaultAddress.getPort(); + } + if ( from.endsWith( ":" ) ) + { + from = from + defaultAddress.getPort(); + } + if ( from.startsWith( ":" ) ) + { + from = defaultAddress.getHost() + from; + } + String[] parts = from.split( ":" ); + return new HostnamePort( parts[0], Integer.parseInt( parts[1] ) ); + }; } } diff --git a/community/kernel/src/test/java/org/neo4j/kernel/impl/pagecache/ConfiguringPageCacheFactoryTest.java b/community/kernel/src/test/java/org/neo4j/kernel/impl/pagecache/ConfiguringPageCacheFactoryTest.java index 575d82fdfaef8..5fc6026bd6cc5 100644 --- a/community/kernel/src/test/java/org/neo4j/kernel/impl/pagecache/ConfiguringPageCacheFactoryTest.java +++ b/community/kernel/src/test/java/org/neo4j/kernel/impl/pagecache/ConfiguringPageCacheFactoryTest.java @@ -159,4 +159,5 @@ public void mustIgnoreExplicitlySpecifiedCachePageSizeIfPageSwapperHintIsStrict( assertThat( cache.pageSize(), is( cachePageSizeHint ) ); } } + } diff --git a/community/kernel/src/test/java/org/neo4j/kernel/impl/util/ConvertersTest.java b/community/kernel/src/test/java/org/neo4j/kernel/impl/util/ConvertersTest.java index cecde36aae91d..c1376fa673cd6 100644 --- a/community/kernel/src/test/java/org/neo4j/kernel/impl/util/ConvertersTest.java +++ b/community/kernel/src/test/java/org/neo4j/kernel/impl/util/ConvertersTest.java @@ -24,16 +24,11 @@ import java.io.File; import java.io.IOException; -import java.util.Optional; import org.neo4j.test.rule.TestDirectory; -import static junit.framework.TestCase.assertFalse; import static org.junit.Assert.assertArrayEquals; -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertTrue; import static org.neo4j.kernel.impl.util.Converters.regexFiles; -import static org.neo4j.kernel.impl.util.Converters.toOptionalHostnamePortFromRawAddress; public class ConvertersTest { @@ -54,75 +49,7 @@ public void shouldSortFilesByNumberCleverly() throws Exception File[] files = regexFiles( true ).apply( directory.file( "file.*" ).getAbsolutePath() ); // THEN - assertArrayEquals( new File[]{file1, file2, file12, file32, file123}, files ); - } - - @Test - public void canProcessPortFromAGivenString() - { - // given - String addressWithPorts = "hostname:1234"; - - // when - Optional port = toOptionalHostnamePortFromRawAddress( addressWithPorts ).getPort(); - - // then - assertTrue( port.isPresent() ); - assertEquals( new Integer( 1234 ), port.get() ); - } - - @Test - public void emptyOptionalWhenPortIsMissing() - { - //given - String addressWithoutPorts = "hostname"; - - // when - Optional port = toOptionalHostnamePortFromRawAddress( addressWithoutPorts ).getPort(); - - // then - assertFalse( port.isPresent() ); - } - - @Test - public void canProcessHostnameFromAGivenAddress() - { - // given - String addressWithPorts = "hostname:1234"; - - // when - Optional hostname = toOptionalHostnamePortFromRawAddress( addressWithPorts ).getHostname(); - - // then - assertTrue( hostname.isPresent() ); - assertEquals( "hostname", hostname.get() ); - } - - @Test - public void canProcessHostnameWithoutPort() - { - // given - String addressWithoutPort = "hostname"; - - // when - Optional hostname = toOptionalHostnamePortFromRawAddress( addressWithoutPort ).getHostname(); - - // then - assertTrue( hostname.isPresent() ); - assertEquals( "hostname", hostname.get() ); - } - - @Test - public void emptyOptionalWhenOnlyPort() - { - // given - String portOnlyAddress = ":1234"; - - // when - Optional hostname = toOptionalHostnamePortFromRawAddress( portOnlyAddress ).getHostname(); - - // then - assertFalse( hostname.isPresent() ); + assertArrayEquals( new File[] {file1, file2, file12, file32, file123}, files ); } private File existenceOfFile( String name ) throws IOException diff --git a/enterprise/backup/LICENSES.txt b/enterprise/backup/LICENSES.txt index b01a3f04966e8..40dfdb81308ec 100644 --- a/enterprise/backup/LICENSES.txt +++ b/enterprise/backup/LICENSES.txt @@ -3,22 +3,9 @@ libraries. For an overview of the licenses see the NOTICE.txt file. ------------------------------------------------------------------------------ Apache Software License, Version 2.0 - Apache Commons BeanUtils - Apache Commons Collections Apache Commons Compress Apache Commons Lang Apache Commons Text - Apache Shiro :: Cache - Apache Shiro :: Configuration :: Core - Apache Shiro :: Configuration :: OGDL - Apache Shiro :: Core - Apache Shiro :: Cryptography :: Ciphers - Apache Shiro :: Cryptography :: Core - Apache Shiro :: Cryptography :: Hashing - Apache Shiro :: Event - Apache Shiro :: Lang - Caffeine cache - hazelcast-all Lucene Core Lucene Memory Netty @@ -260,33 +247,4 @@ IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------- -MIT License - SLF4J API Module - SLF4J NOP Binding ------------------------------------------------------------------------------- - -The MIT License - -Copyright (c) - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. - - diff --git a/enterprise/backup/NOTICE.txt b/enterprise/backup/NOTICE.txt index 1f3943ebaa84a..bfe9007bbb751 100644 --- a/enterprise/backup/NOTICE.txt +++ b/enterprise/backup/NOTICE.txt @@ -25,22 +25,9 @@ Third-party licenses -------------------- Apache Software License, Version 2.0 - Apache Commons BeanUtils - Apache Commons Collections Apache Commons Compress Apache Commons Lang Apache Commons Text - Apache Shiro :: Cache - Apache Shiro :: Configuration :: Core - Apache Shiro :: Configuration :: OGDL - Apache Shiro :: Core - Apache Shiro :: Cryptography :: Ciphers - Apache Shiro :: Cryptography :: Core - Apache Shiro :: Cryptography :: Hashing - Apache Shiro :: Event - Apache Shiro :: Lang - Caffeine cache - hazelcast-all Lucene Core Lucene Memory Netty @@ -50,7 +37,3 @@ Bouncy Castle License Bouncy Castle PKIX, CMS, EAC, TSP, PKCS, OCSP, CMP, and CRMF APIs Bouncy Castle Provider -MIT License - SLF4J API Module - SLF4J NOP Binding - diff --git a/enterprise/backup/pom.xml b/enterprise/backup/pom.xml index 4ede394586ead..a7d4498e07a60 100644 --- a/enterprise/backup/pom.xml +++ b/enterprise/backup/pom.xml @@ -76,11 +76,6 @@ com.google.code.findbugs annotations - - org.neo4j - neo4j-causal-clustering - ${project.version} - org.neo4j neo4j-com @@ -114,13 +109,6 @@ junit test - - org.neo4j - neo4j-causal-clustering - ${project.version} - test - test-jar - commons-codec commons-codec @@ -159,13 +147,6 @@ test-jar test - - org.neo4j - neo4j-enterprise-kernel - ${project.version} - test-jar - test - org.neo4j neo4j-io diff --git a/enterprise/backup/src/main/java/org/neo4j/backup/AbstractBackupSupportingClassesFactory.java b/enterprise/backup/src/main/java/org/neo4j/backup/AbstractBackupSupportingClassesFactory.java deleted file mode 100644 index 853cbf2585a87..0000000000000 --- a/enterprise/backup/src/main/java/org/neo4j/backup/AbstractBackupSupportingClassesFactory.java +++ /dev/null @@ -1,114 +0,0 @@ -/* - * Copyright (c) 2002-2017 "Neo Technology," - * Network Engine for Objects in Lund AB [http://neotechnology.com] - * - * This file is part of Neo4j. - * - * Neo4j is free software: you can redistribute it and/or modify - * it under the terms of the GNU Affero General Public License as - * published by the Free Software Foundation, either version 3 of the - * License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Affero General Public License for more details. - * - * You should have received a copy of the GNU Affero General Public License - * along with this program. If not, see . - */ -package org.neo4j.backup; - -import java.io.OutputStream; -import java.time.Clock; - -import org.neo4j.causalclustering.catchup.CatchUpClient; -import org.neo4j.causalclustering.catchup.storecopy.RemoteStore; -import org.neo4j.causalclustering.catchup.storecopy.StoreCopyClient; -import org.neo4j.causalclustering.catchup.tx.TransactionLogCatchUpFactory; -import org.neo4j.causalclustering.catchup.tx.TxPullClient; -import org.neo4j.causalclustering.core.CausalClusteringSettings; -import org.neo4j.causalclustering.handlers.NoOpPipelineHandlerAppenderFactory; -import org.neo4j.causalclustering.handlers.PipelineHandlerAppender; -import org.neo4j.causalclustering.handlers.PipelineHandlerAppenderFactory; -import org.neo4j.helpers.Service; -import org.neo4j.io.fs.FileSystemAbstraction; -import org.neo4j.io.pagecache.PageCache; -import org.neo4j.kernel.configuration.Config; -import org.neo4j.kernel.configuration.ssl.SslPolicyLoader; -import org.neo4j.kernel.impl.factory.PlatformModule; -import org.neo4j.kernel.impl.pagecache.ConfigurableStandalonePageCacheFactory; -import org.neo4j.kernel.impl.util.Dependencies; -import org.neo4j.kernel.monitoring.Monitors; -import org.neo4j.logging.LogProvider; -import org.neo4j.ssl.SslPolicy; - -/** - * The dependencies for the backup strategies require a valid configuration for initialisation. - * By having this factory we can wait until the configuration has been loaded and the provide all the classes required for backups that are dependant on the - * config. - */ -abstract class AbstractBackupSupportingClassesFactory -{ - private static final long INACTIVITY_TIMEOUT_MILLIS = 60 * 1000; - - private final LogProvider logProvider; - private final Clock clock; - private final Monitors monitors; - private final FileSystemAbstraction fileSystemAbstraction; - private final TransactionLogCatchUpFactory transactionLogCatchUpFactory; - private final OutputStream logDestination; - - AbstractBackupSupportingClassesFactory( BackupModuleResolveAtRuntime backupModuleResolveAtRuntime ) - { - this.logProvider = backupModuleResolveAtRuntime.getLogProvider(); - this.clock = backupModuleResolveAtRuntime.getClock(); - this.monitors = backupModuleResolveAtRuntime.getMonitors(); - this.fileSystemAbstraction = backupModuleResolveAtRuntime.getFileSystemAbstraction(); - this.transactionLogCatchUpFactory = backupModuleResolveAtRuntime.getTransactionLogCatchUpFactory(); - this.logDestination = backupModuleResolveAtRuntime.getOutsideWorld().errorStream(); - } - - /** - * Resolves all the backing solutions used for performing various backups while sharing key classes and configuration - * - * @param config user selected during runtime for performing backups - * @return grouping of instances used for performing backups - */ - BackupSupportingClasses createSupportingClassesForBackupStrategies( Config config ) - { - PageCache pageCache = ConfigurableStandalonePageCacheFactory.createPageCache( fileSystemAbstraction, config ); - return new BackupSupportingClasses( backupDelegatorFormConfig( pageCache, config ), haFromConfig( pageCache ) ); - } - - private BackupProtocolService haFromConfig( PageCache pageCache ) - { - return new BackupProtocolService( () -> fileSystemAbstraction, logProvider, logDestination, monitors, pageCache ); - } - - private BackupDelegator backupDelegatorFormConfig( PageCache pageCache, Config config ) - { - PipelineHandlerAppenderFactory pipelineHandlerAppenderFactory = getPipelineHandlerAppenderFactory(); - Dependencies dependencies = getDependencies(); - PipelineHandlerAppender pipelineHandlerAppender = pipelineHandlerAppenderFactory.create( config, dependencies, logProvider ); - CatchUpClient catchUpClient = new CatchUpClient( logProvider, clock, INACTIVITY_TIMEOUT_MILLIS, monitors, pipelineHandlerAppender ); - TxPullClient txPullClient = new TxPullClient( catchUpClient, monitors ); - StoreCopyClient storeCopyClient = new StoreCopyClient( catchUpClient, logProvider ); - - RemoteStore remoteStore = - new RemoteStore( logProvider, fileSystemAbstraction, pageCache, storeCopyClient, txPullClient, transactionLogCatchUpFactory, monitors ); - - return backupDelegator( remoteStore, catchUpClient, storeCopyClient ); - } - - private static BackupDelegator backupDelegator( RemoteStore remoteStore, CatchUpClient catchUpClient, StoreCopyClient storeCopyClient ) - { - return new BackupDelegator( remoteStore, catchUpClient, storeCopyClient, new ClearIdService( new IdGeneratorWrapper() ) ); - } - - abstract Dependencies getDependencies(); - - abstract PipelineHandlerAppenderFactory getPipelineHandlerAppenderFactory(); - - abstract int getPriority(); -} diff --git a/enterprise/backup/src/main/java/org/neo4j/backup/AddressResolutionHelper.java b/enterprise/backup/src/main/java/org/neo4j/backup/AddressResolutionHelper.java deleted file mode 100644 index 66e28266acf70..0000000000000 --- a/enterprise/backup/src/main/java/org/neo4j/backup/AddressResolutionHelper.java +++ /dev/null @@ -1,60 +0,0 @@ -/* - * Copyright (c) 2002-2017 "Neo Technology," - * Network Engine for Objects in Lund AB [http://neotechnology.com] - * - * This file is part of Neo4j. - * - * Neo4j is free software: you can redistribute it and/or modify - * it under the terms of the GNU Affero General Public License as - * published by the Free Software Foundation, either version 3 of the - * License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Affero General Public License for more details. - * - * You should have received a copy of the GNU Affero General Public License - * along with this program. If not, see . - */ -package org.neo4j.backup; - -import org.neo4j.causalclustering.core.CausalClusteringSettings; -import org.neo4j.helpers.AdvertisedSocketAddress; -import org.neo4j.helpers.HostnamePort; -import org.neo4j.helpers.ListenSocketAddress; -import org.neo4j.helpers.OptionalHostnamePort; -import org.neo4j.kernel.configuration.Config; -import org.neo4j.kernel.impl.enterprise.configuration.OnlineBackupSettings; - -class AddressResolutionHelper -{ - HostnamePort resolveCorrectHAAddress( Config config, OptionalHostnamePort userProvidedAddress ) - { - HostnamePort defaultValues = readDefaultConfigAddressHA( config ); - return new HostnamePort( userProvidedAddress.getHostname().orElse( defaultValues.getHost() ), - userProvidedAddress.getPort().orElse( defaultValues.getPort() ) ); - } - - AdvertisedSocketAddress resolveCorrectCCAddress( Config config, OptionalHostnamePort userProvidedAddress ) - { - AdvertisedSocketAddress defaultValue = readDefaultConfigAddressCC( config ); - return new AdvertisedSocketAddress( userProvidedAddress.getHostname().orElse( defaultValue.getHostname() ), - userProvidedAddress.getPort().orElse( defaultValue.getPort() ) ); - } - - private HostnamePort readDefaultConfigAddressHA( Config config ) - { - return OnlineBackupSettings.online_backup_server.from( config ); - } - - private AdvertisedSocketAddress readDefaultConfigAddressCC( Config config ) - { - return advertisedFromListenAddress( CausalClusteringSettings.transaction_listen_address.from( config ) ); - } - - private AdvertisedSocketAddress advertisedFromListenAddress( ListenSocketAddress listenSocketAddress ) - { - return new AdvertisedSocketAddress( listenSocketAddress.getHostname(), listenSocketAddress.getPort() ); - } -} diff --git a/enterprise/backup/src/main/java/org/neo4j/backup/BackupCommandArgumentHandler.java b/enterprise/backup/src/main/java/org/neo4j/backup/BackupCommandArgumentHandler.java deleted file mode 100644 index 7546ad3b5bcb6..0000000000000 --- a/enterprise/backup/src/main/java/org/neo4j/backup/BackupCommandArgumentHandler.java +++ /dev/null @@ -1,190 +0,0 @@ -/* - * Copyright (c) 2002-2017 "Neo Technology," - * Network Engine for Objects in Lund AB [http://neotechnology.com] - * - * This file is part of Neo4j. - * - * Neo4j is free software: you can redistribute it and/or modify - * it under the terms of the GNU Affero General Public License as - * published by the Free Software Foundation, either version 3 of the - * License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Affero General Public License for more details. - * - * You should have received a copy of the GNU Affero General Public License - * along with this program. If not, see . - */ -package org.neo4j.backup; - -import java.nio.file.Path; -import java.util.Optional; - -import org.neo4j.commandline.admin.IncorrectUsage; -import org.neo4j.commandline.arguments.Arguments; -import org.neo4j.commandline.arguments.MandatoryNamedArg; -import org.neo4j.commandline.arguments.OptionalBooleanArg; -import org.neo4j.commandline.arguments.OptionalNamedArg; -import org.neo4j.commandline.arguments.common.MandatoryCanonicalPath; -import org.neo4j.commandline.arguments.common.OptionalCanonicalPath; -import org.neo4j.consistency.ConsistencyCheckSettings; -import org.neo4j.consistency.checking.full.ConsistencyFlags; -import org.neo4j.helpers.OptionalHostnamePort; -import org.neo4j.helpers.TimeUtil; -import org.neo4j.kernel.configuration.Config; - -import static java.lang.String.format; -import static org.neo4j.kernel.impl.util.Converters.toOptionalHostnamePortFromRawAddress; - -public class BackupCommandArgumentHandler -{ - private static final String ARG_NAME_BACKUP_DIRECTORY = "backup-dir"; - private static final String ARG_DESC_BACKUP_DIRECTORY = "Directory to place backup in."; - - private static final String ARG_NAME_BACKUP_NAME = "name"; - private static final String ARG_DESC_BACKUP_NAME = - "Name of backup. If a backup with this name already exists an incremental backup will be attempted."; - - private static final String ARG_NAME_BACKUP_SOURCE = "from"; - private static final String ARG_DESC_BACKUP_SOURCE = "Host and port of Neo4j."; - - private static final String ARG_NAME_TIMEOUT = "timeout"; - private static final String ARG_DESC_TIMEOUT = "Timeout in the form + + org.neo4j + neo4j-backup + ${project.version} + + + + org.neo4j + neo4j-backup + ${project.version} + test-jar + test + + org.neo4j neo4j-cypher diff --git a/enterprise/causal-clustering/src/main/java/org/neo4j/causalclustering/catchup/storecopy/RemoteStore.java b/enterprise/causal-clustering/src/main/java/org/neo4j/causalclustering/catchup/storecopy/RemoteStore.java index dddc257dd316c..6dce6436269f4 100644 --- a/enterprise/causal-clustering/src/main/java/org/neo4j/causalclustering/catchup/storecopy/RemoteStore.java +++ b/enterprise/causal-clustering/src/main/java/org/neo4j/causalclustering/catchup/storecopy/RemoteStore.java @@ -28,6 +28,7 @@ import org.neo4j.causalclustering.catchup.tx.TransactionLogCatchUpFactory; import org.neo4j.causalclustering.catchup.tx.TransactionLogCatchUpWriter; import org.neo4j.causalclustering.catchup.tx.TxPullClient; +import org.neo4j.causalclustering.identity.MemberId; import org.neo4j.causalclustering.identity.StoreId; import org.neo4j.helpers.AdvertisedSocketAddress; import org.neo4j.io.fs.FileSystemAbstraction; diff --git a/enterprise/causal-clustering/src/main/java/org/neo4j/causalclustering/catchup/storecopy/StoreCopyClient.java b/enterprise/causal-clustering/src/main/java/org/neo4j/causalclustering/catchup/storecopy/StoreCopyClient.java index c696a6cd93302..6241c70464c33 100644 --- a/enterprise/causal-clustering/src/main/java/org/neo4j/causalclustering/catchup/storecopy/StoreCopyClient.java +++ b/enterprise/causal-clustering/src/main/java/org/neo4j/causalclustering/catchup/storecopy/StoreCopyClient.java @@ -20,16 +20,22 @@ package org.neo4j.causalclustering.catchup.storecopy; import java.io.IOException; +import java.util.Optional; import java.util.concurrent.CompletableFuture; import org.neo4j.causalclustering.catchup.CatchUpClient; import org.neo4j.causalclustering.catchup.CatchUpClientException; import org.neo4j.causalclustering.catchup.CatchUpResponseAdaptor; +import org.neo4j.causalclustering.core.state.snapshot.TopologyLookupException; +import org.neo4j.causalclustering.discovery.TopologyService; +import org.neo4j.causalclustering.identity.MemberId; import org.neo4j.causalclustering.identity.StoreId; import org.neo4j.helpers.AdvertisedSocketAddress; import org.neo4j.logging.Log; import org.neo4j.logging.LogProvider; +import static java.lang.String.format; + public class StoreCopyClient { private final CatchUpClient catchUpClient; @@ -41,7 +47,7 @@ public StoreCopyClient( CatchUpClient catchUpClient, LogProvider logProvider ) log = logProvider.getLog( getClass() ); } - public long copyStoreFiles( AdvertisedSocketAddress from, StoreId expectedStoreId, StoreFileStreams storeFileStreams ) throws StoreCopyFailedException + long copyStoreFiles( AdvertisedSocketAddress from, StoreId expectedStoreId, StoreFileStreams storeFileStreams ) throws StoreCopyFailedException { try { @@ -78,7 +84,7 @@ public void onFileStreamingComplete( CompletableFuture signal, StoreCopyFi } } - public StoreId fetchStoreId( AdvertisedSocketAddress fromAddress ) throws StoreIdDownloadFailedException + StoreId fetchStoreId( AdvertisedSocketAddress fromAddress ) throws StoreIdDownloadFailedException { try { diff --git a/enterprise/causal-clustering/src/main/java/org/neo4j/causalclustering/catchup/storecopy/StoreCopyProcess.java b/enterprise/causal-clustering/src/main/java/org/neo4j/causalclustering/catchup/storecopy/StoreCopyProcess.java index 55f4378ee3698..cde27d566c720 100644 --- a/enterprise/causal-clustering/src/main/java/org/neo4j/causalclustering/catchup/storecopy/StoreCopyProcess.java +++ b/enterprise/causal-clustering/src/main/java/org/neo4j/causalclustering/catchup/storecopy/StoreCopyProcess.java @@ -37,8 +37,8 @@ public class StoreCopyProcess private final Log log; private final RemoteStore remoteStore; - public StoreCopyProcess( FileSystemAbstraction fs, PageCache pageCache, LocalDatabase localDatabase, CopiedStoreRecovery copiedStoreRecovery, - RemoteStore remoteStore, LogProvider logProvider ) + public StoreCopyProcess( FileSystemAbstraction fs, PageCache pageCache, LocalDatabase localDatabase, + CopiedStoreRecovery copiedStoreRecovery, RemoteStore remoteStore, LogProvider logProvider ) { this.fs = fs; this.pageCache = pageCache; @@ -51,7 +51,8 @@ public StoreCopyProcess( FileSystemAbstraction fs, PageCache pageCache, LocalDat public void replaceWithStoreFrom( AdvertisedSocketAddress source, StoreId expectedStoreId ) throws IOException, StoreCopyFailedException, StreamingTransactionsFailedException { - try ( TemporaryStoreDirectory tempStore = new TemporaryStoreDirectory( fs, pageCache, localDatabase.storeDir() ) ) + try ( TemporaryStoreDirectory tempStore = new TemporaryStoreDirectory( fs, pageCache, + localDatabase.storeDir() ) ) { remoteStore.copy( source, expectedStoreId, tempStore.storeDir() ); copiedStoreRecovery.recoverCopiedStore( tempStore.storeDir() ); diff --git a/enterprise/causal-clustering/src/main/java/org/neo4j/causalclustering/catchup/storecopy/StreamToDisk.java b/enterprise/causal-clustering/src/main/java/org/neo4j/causalclustering/catchup/storecopy/StreamToDisk.java index 6642c7acb835a..f3dd18fab8cb3 100644 --- a/enterprise/causal-clustering/src/main/java/org/neo4j/causalclustering/catchup/storecopy/StreamToDisk.java +++ b/enterprise/causal-clustering/src/main/java/org/neo4j/causalclustering/catchup/storecopy/StreamToDisk.java @@ -35,7 +35,7 @@ import org.neo4j.kernel.impl.store.StoreType; import org.neo4j.kernel.monitoring.Monitors; -public class StreamToDisk implements StoreFileStreams +class StreamToDisk implements StoreFileStreams { private final File storeDir; private final FileSystemAbstraction fs; @@ -44,7 +44,7 @@ public class StreamToDisk implements StoreFileStreams private final Map channels; private final Map pagedFiles; - public StreamToDisk( File storeDir, FileSystemAbstraction fs, PageCache pageCache, Monitors monitors ) throws IOException + StreamToDisk( File storeDir, FileSystemAbstraction fs, PageCache pageCache, Monitors monitors ) throws IOException { this.storeDir = storeDir; this.fs = fs; diff --git a/enterprise/causal-clustering/src/main/java/org/neo4j/causalclustering/core/CausalClusterConfigurationValidator.java b/enterprise/causal-clustering/src/main/java/org/neo4j/causalclustering/core/CausalClusterConfigurationValidator.java index 096f2f73749b7..8a0c31d6add1a 100644 --- a/enterprise/causal-clustering/src/main/java/org/neo4j/causalclustering/core/CausalClusterConfigurationValidator.java +++ b/enterprise/causal-clustering/src/main/java/org/neo4j/causalclustering/core/CausalClusterConfigurationValidator.java @@ -24,8 +24,8 @@ import javax.annotation.Nonnull; import org.neo4j.causalclustering.load_balancing.LoadBalancingPluginLoader; -import org.neo4j.kernel.impl.enterprise.configuration.EnterpriseEditionSettings; -import org.neo4j.kernel.impl.enterprise.configuration.EnterpriseEditionSettings.Mode; +import org.neo4j.cluster.ClusterSettings; +import org.neo4j.cluster.ClusterSettings.Mode; import org.neo4j.graphdb.config.InvalidSettingException; import org.neo4j.kernel.configuration.Config; import org.neo4j.kernel.configuration.ConfigurationValidator; @@ -39,7 +39,7 @@ public class CausalClusterConfigurationValidator implements ConfigurationValidat public Map validate( @Nonnull Config config, @Nonnull Log log ) throws InvalidSettingException { // Make sure mode is CC - Mode mode = config.get( EnterpriseEditionSettings.mode ); + Mode mode = config.get( ClusterSettings.mode ); if ( mode.equals( Mode.CORE ) || mode.equals( Mode.READ_REPLICA ) ) { validateInitialDiscoveryMembers( config ); diff --git a/enterprise/causal-clustering/src/main/java/org/neo4j/causalclustering/core/server/CoreServerModule.java b/enterprise/causal-clustering/src/main/java/org/neo4j/causalclustering/core/server/CoreServerModule.java index 2c9be680bd569..eb362da24af01 100644 --- a/enterprise/causal-clustering/src/main/java/org/neo4j/causalclustering/core/server/CoreServerModule.java +++ b/enterprise/causal-clustering/src/main/java/org/neo4j/causalclustering/core/server/CoreServerModule.java @@ -20,10 +20,10 @@ package org.neo4j.causalclustering.core.server; import java.io.File; -import java.util.HashMap; -import java.util.Map; import java.util.function.Supplier; +import org.neo4j.backup.OnlineBackupKernelExtension; +import org.neo4j.backup.OnlineBackupSettings; import org.neo4j.causalclustering.ReplicationModule; import org.neo4j.causalclustering.catchup.CatchUpClient; import org.neo4j.causalclustering.catchup.CatchupServer; @@ -63,13 +63,13 @@ import org.neo4j.causalclustering.messaging.CoreReplicatedContentMarshal; import org.neo4j.causalclustering.messaging.LoggingInbound; import org.neo4j.io.fs.FileSystemAbstraction; +import org.neo4j.kernel.NeoStoreDataSource; import org.neo4j.kernel.configuration.Config; -import org.neo4j.kernel.configuration.Settings; -import org.neo4j.kernel.impl.enterprise.configuration.OnlineBackupSettings; import org.neo4j.kernel.impl.factory.PlatformModule; import org.neo4j.kernel.impl.logging.LogService; import org.neo4j.kernel.impl.transaction.log.LogicalTransactionStore; import org.neo4j.kernel.impl.transaction.log.TransactionIdStore; +import org.neo4j.kernel.impl.transaction.state.DataSourceManager; import org.neo4j.kernel.impl.util.Dependencies; import org.neo4j.kernel.internal.DatabaseHealth; import org.neo4j.kernel.lifecycle.LifeSupport; @@ -100,8 +100,6 @@ public CoreServerModule( IdentityModule identityModule, final PlatformModule pla final Monitors monitors = platformModule.monitors; final JobScheduler jobScheduler = platformModule.jobScheduler; final TopologyService topologyService = clusteringModule.topologyService(); - Map overrideBackupSettings = backupDisabledSettings(); - config.augment( overrideBackupSettings ); LogProvider logProvider = logging.getInternalLogProvider(); LogProvider userLogProvider = logging.getUserLogProvider(); @@ -136,6 +134,29 @@ public CoreServerModule( IdentityModule identityModule, final PlatformModule pla LifeSupport servicesToStopOnStoreCopy = new LifeSupport(); + if ( config.get( OnlineBackupSettings.online_backup_enabled ) ) + { + platformModule.dataSourceManager.addListener( new DataSourceManager.Listener() + { + @Override + public void registered( NeoStoreDataSource dataSource ) + { + servicesToStopOnStoreCopy.add( pickBackupExtension( dataSource ) ); + } + + @Override + public void unregistered( NeoStoreDataSource dataSource ) + { + servicesToStopOnStoreCopy.remove( pickBackupExtension( dataSource ) ); + } + + private OnlineBackupKernelExtension pickBackupExtension( NeoStoreDataSource dataSource ) + { + return dataSource.getDependencyResolver().resolveDependency( OnlineBackupKernelExtension.class ); + } + } ); + } + CoreState coreState = new CoreState( coreStateMachinesModule.coreStateMachines, replicationModule.getSessionTracker(), lastFlushedStorage ); CommandApplicationProcess commandApplicationProcess = @@ -198,11 +219,4 @@ snapshotService, config, platformModule.monitors, new CheckpointerSupplier( plat life.add( coreLife ); life.add( catchupServer ); // must start last and stop first, since it handles external requests } - - private static Map backupDisabledSettings() - { - Map overrideBackupSettings = new HashMap<>( ); - overrideBackupSettings.put( OnlineBackupSettings.online_backup_enabled.name(), Settings.FALSE ); - return overrideBackupSettings; - } } diff --git a/enterprise/causal-clustering/src/main/java/org/neo4j/causalclustering/readreplica/EnterpriseReadReplicaEditionModule.java b/enterprise/causal-clustering/src/main/java/org/neo4j/causalclustering/readreplica/EnterpriseReadReplicaEditionModule.java index f08441c9bf725..0ba67de6c3fcf 100644 --- a/enterprise/causal-clustering/src/main/java/org/neo4j/causalclustering/readreplica/EnterpriseReadReplicaEditionModule.java +++ b/enterprise/causal-clustering/src/main/java/org/neo4j/causalclustering/readreplica/EnterpriseReadReplicaEditionModule.java @@ -20,13 +20,13 @@ package org.neo4j.causalclustering.readreplica; import java.io.File; -import java.util.HashMap; import java.util.Iterator; -import java.util.Map; import java.util.concurrent.TimeUnit; import java.util.function.Predicate; import java.util.function.Supplier; +import org.neo4j.backup.OnlineBackupKernelExtension; +import org.neo4j.backup.OnlineBackupSettings; import org.neo4j.causalclustering.catchup.CatchUpClient; import org.neo4j.causalclustering.catchup.CatchupServer; import org.neo4j.causalclustering.catchup.CheckpointerSupplier; @@ -60,10 +60,10 @@ import org.neo4j.io.fs.FileSystemAbstraction; import org.neo4j.io.pagecache.PageCache; import org.neo4j.kernel.DatabaseAvailability; +import org.neo4j.kernel.NeoStoreDataSource; import org.neo4j.kernel.api.bolt.BoltConnectionTracker; import org.neo4j.kernel.api.exceptions.KernelException; import org.neo4j.kernel.configuration.Config; -import org.neo4j.kernel.configuration.Settings; import org.neo4j.kernel.configuration.ssl.SslPolicyLoader; import org.neo4j.kernel.enterprise.builtinprocs.EnterpriseBuiltInDbmsProcedures; import org.neo4j.kernel.impl.api.CommitProcessFactory; @@ -78,7 +78,6 @@ import org.neo4j.kernel.impl.enterprise.EnterpriseConstraintSemantics; import org.neo4j.kernel.impl.enterprise.EnterpriseEditionModule; import org.neo4j.kernel.impl.enterprise.StandardBoltConnectionTracker; -import org.neo4j.kernel.impl.enterprise.configuration.OnlineBackupSettings; import org.neo4j.kernel.impl.enterprise.id.EnterpriseIdTypeConfigurationProvider; import org.neo4j.kernel.impl.enterprise.transaction.log.checkpoint.ConfigurableIOLimiter; import org.neo4j.kernel.impl.factory.DatabaseInfo; @@ -128,7 +127,6 @@ public class EnterpriseReadReplicaEditionModule extends EditionModule org.neo4j.kernel.impl.util.Dependencies dependencies = platformModule.dependencies; Config config = platformModule.config; - config.augment( backupDisabledSettings() ); FileSystemAbstraction fileSystem = platformModule.fileSystem; PageCache pageCache = platformModule.pageCache; File storeDir = platformModule.storeDir; @@ -232,6 +230,28 @@ public class EnterpriseReadReplicaEditionModule extends EditionModule txPulling.add( copiedStoreRecovery ); LifeSupport servicesToStopOnStoreCopy = new LifeSupport(); + if ( config.get( OnlineBackupSettings.online_backup_enabled ) ) + { + platformModule.dataSourceManager.addListener( new DataSourceManager.Listener() + { + @Override + public void registered( NeoStoreDataSource dataSource ) + { + servicesToStopOnStoreCopy.add( pickBackupExtension( dataSource ) ); + } + + @Override + public void unregistered( NeoStoreDataSource dataSource ) + { + servicesToStopOnStoreCopy.remove( pickBackupExtension( dataSource ) ); + } + + private OnlineBackupKernelExtension pickBackupExtension( NeoStoreDataSource dataSource ) + { + return dataSource.getDependencyResolver().resolveDependency( OnlineBackupKernelExtension.class ); + } + } ); + } StoreCopyProcess storeCopyProcess = new StoreCopyProcess( fileSystem, pageCache, localDatabase, copiedStoreRecovery, remoteStore, logProvider ); @@ -368,11 +388,4 @@ private static TopologyServiceRetryStrategy resolveStrategy( Config config ) pollingFrequencyWithinRefreshWindow + 1; // we want to have more retries at the given frequency than there is time in a refresh period return new TopologyServiceMultiRetryStrategy( refreshPeriodMillis / pollingFrequencyWithinRefreshWindow, numberOfRetries ); } - - private static Map backupDisabledSettings() - { - Map overrideBackupSettings = new HashMap<>( ); - overrideBackupSettings.put( OnlineBackupSettings.online_backup_enabled.name(), Settings.FALSE ); - return overrideBackupSettings; - } } diff --git a/enterprise/backup/src/test/java/org/neo4j/causalclustering/BackupCoreIT.java b/enterprise/causal-clustering/src/test/java/org/neo4j/causalclustering/backup/BackupCoreIT.java similarity index 83% rename from enterprise/backup/src/test/java/org/neo4j/causalclustering/BackupCoreIT.java rename to enterprise/causal-clustering/src/test/java/org/neo4j/causalclustering/backup/BackupCoreIT.java index 87dcb0a42693f..c0f6a4079523b 100644 --- a/enterprise/backup/src/test/java/org/neo4j/causalclustering/BackupCoreIT.java +++ b/enterprise/causal-clustering/src/test/java/org/neo4j/causalclustering/backup/BackupCoreIT.java @@ -17,7 +17,7 @@ * You should have received a copy of the GNU Affero General Public License * along with this program. If not, see . */ -package org.neo4j.causalclustering; +package org.neo4j.causalclustering.backup; import org.junit.Before; import org.junit.Rule; @@ -29,6 +29,7 @@ import java.util.List; import java.util.Map; +import org.neo4j.backup.OnlineBackupSettings; import org.neo4j.causalclustering.core.CausalClusteringSettings; import org.neo4j.causalclustering.core.CoreGraphDatabase; import org.neo4j.causalclustering.discovery.Cluster; @@ -39,7 +40,6 @@ import org.neo4j.helpers.HostnamePort; import org.neo4j.helpers.collection.MapUtil; import org.neo4j.kernel.configuration.Config; -import org.neo4j.kernel.impl.enterprise.configuration.OnlineBackupSettings; import org.neo4j.kernel.impl.factory.GraphDatabaseFacade; import org.neo4j.kernel.impl.store.format.standard.Standard; import org.neo4j.test.DbRepresentation; @@ -47,8 +47,8 @@ import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertNotEquals; +import static org.neo4j.backup.OnlineBackupCommandIT.runBackupToolFromOtherJvmToGetExitCode; import static org.neo4j.graphdb.Label.label; -import static org.neo4j.util.TestHelpers.runBackupToolFromOtherJvmToGetExitCode; public class BackupCoreIT { @@ -75,13 +75,15 @@ public void makeSureBackupCanBePerformedFromAnyInstance() throws Throwable // Run backup DbRepresentation beforeChange = DbRepresentation.of( createSomeData( cluster ) ); String[] args = backupArguments( backupAddress( db.database() ), backupsDir, "" + db.serverId() ); - assertEquals( 0, runBackupToolFromOtherJvmToGetExitCode( clusterRule.clusterDirectory(), args ) ); + assertEquals( 0, runBackupToolFromOtherJvmToGetExitCode( + clusterRule.clusterDirectory(), args ) ); // Add some new data DbRepresentation afterChange = DbRepresentation.of( createSomeData( cluster ) ); // Verify that old data is back - DbRepresentation backupRepresentation = DbRepresentation.of( new File( backupsDir, "" + db.serverId() ), getConfig() ); + DbRepresentation backupRepresentation = DbRepresentation.of( new File( backupsDir, "" + db.serverId() ), + getConfig() ); assertEquals( beforeChange, backupRepresentation ); assertNotEquals( backupRepresentation, afterChange ); } @@ -99,7 +101,15 @@ static CoreGraphDatabase createSomeData( Cluster cluster ) throws Exception static String backupAddress( GraphDatabaseFacade db ) { - return ":" + PortAuthority.allocatePort(); + InetSocketAddress inetSocketAddress = db.getDependencyResolver() + .resolveDependency( Config.class ).get( CausalClusteringSettings.transaction_advertised_address ) + .socketAddress(); + + HostnamePort hostnamePort = db.getDependencyResolver() + .resolveDependency( Config.class ) + .get( OnlineBackupSettings.online_backup_server ); + + return inetSocketAddress.getHostName() + ":" + hostnamePort.getPort(); } static String[] backupArguments( String from, File backupsDir, String name ) diff --git a/enterprise/backup/src/test/java/org/neo4j/causalclustering/BackupReadReplicaIT.java b/enterprise/causal-clustering/src/test/java/org/neo4j/causalclustering/backup/BackupReadReplicaIT.java similarity index 80% rename from enterprise/backup/src/test/java/org/neo4j/causalclustering/BackupReadReplicaIT.java rename to enterprise/causal-clustering/src/test/java/org/neo4j/causalclustering/backup/BackupReadReplicaIT.java index 2cf0ceca81d3e..ec0e67aab045d 100644 --- a/enterprise/backup/src/test/java/org/neo4j/causalclustering/BackupReadReplicaIT.java +++ b/enterprise/causal-clustering/src/test/java/org/neo4j/causalclustering/backup/BackupReadReplicaIT.java @@ -17,7 +17,7 @@ * You should have received a copy of the GNU Affero General Public License * along with this program. If not, see . */ -package org.neo4j.causalclustering; +package org.neo4j.causalclustering.backup; import org.junit.Before; import org.junit.Rule; @@ -26,23 +26,24 @@ import java.io.File; import java.util.concurrent.TimeUnit; +import org.neo4j.backup.OnlineBackupSettings; import org.neo4j.causalclustering.core.CoreGraphDatabase; import org.neo4j.causalclustering.discovery.Cluster; import org.neo4j.causalclustering.readreplica.ReadReplicaGraphDatabase; +import org.neo4j.helpers.HostnamePort; +import org.neo4j.kernel.configuration.Config; import org.neo4j.kernel.configuration.Settings; -import org.neo4j.kernel.impl.enterprise.configuration.OnlineBackupSettings; import org.neo4j.kernel.impl.transaction.log.TransactionIdStore; import org.neo4j.test.DbRepresentation; import org.neo4j.test.causalclustering.ClusterRule; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertNotEquals; -import static org.neo4j.causalclustering.BackupCoreIT.backupArguments; -import static org.neo4j.causalclustering.BackupCoreIT.createSomeData; -import static org.neo4j.causalclustering.BackupCoreIT.getConfig; -import static org.neo4j.causalclustering.helpers.CausalClusteringTestHelpers.transactionAddress; +import static org.neo4j.backup.OnlineBackupCommandIT.runBackupToolFromOtherJvmToGetExitCode; +import static org.neo4j.causalclustering.backup.BackupCoreIT.backupArguments; +import static org.neo4j.causalclustering.backup.BackupCoreIT.createSomeData; +import static org.neo4j.causalclustering.backup.BackupCoreIT.getConfig; import static org.neo4j.function.Predicates.awaitEx; -import static org.neo4j.util.TestHelpers.runBackupToolFromOtherJvmToGetExitCode; public class BackupReadReplicaIT { @@ -83,7 +84,7 @@ public void makeSureBackupCanBePerformed() throws Throwable awaitEx( () -> readReplicasUpToDateAsTheLeader( leader, readReplica ), 1, TimeUnit.MINUTES ); DbRepresentation beforeChange = DbRepresentation.of( readReplica ); - String backupAddress = transactionAddress( readReplica ); + String backupAddress = this.backupAddress( readReplica ); String[] args = backupArguments( backupAddress, backupPath, "readreplica" ); assertEquals( 0, runBackupToolFromOtherJvmToGetExitCode( clusterRule.clusterDirectory(), args ) ); @@ -97,4 +98,14 @@ public void makeSureBackupCanBePerformed() throws Throwable assertEquals( beforeChange, backupRepresentation ); assertNotEquals( backupRepresentation, afterChange ); } + + private String backupAddress( ReadReplicaGraphDatabase readReplica ) + { + HostnamePort hostnamePort = readReplica + .getDependencyResolver() + .resolveDependency( Config.class ) + .get( OnlineBackupSettings.online_backup_server ); + + return hostnamePort.toString(); + } } diff --git a/enterprise/backup/src/test/java/org/neo4j/causalclustering/ClusterSeedingIT.java b/enterprise/causal-clustering/src/test/java/org/neo4j/causalclustering/backup/ClusterSeedingIT.java similarity index 96% rename from enterprise/backup/src/test/java/org/neo4j/causalclustering/ClusterSeedingIT.java rename to enterprise/causal-clustering/src/test/java/org/neo4j/causalclustering/backup/ClusterSeedingIT.java index 3eb68b9bce889..84daf91a9075f 100644 --- a/enterprise/backup/src/test/java/org/neo4j/causalclustering/ClusterSeedingIT.java +++ b/enterprise/causal-clustering/src/test/java/org/neo4j/causalclustering/backup/ClusterSeedingIT.java @@ -17,7 +17,7 @@ * You should have received a copy of the GNU Affero General Public License * along with this program. If not, see . */ -package org.neo4j.causalclustering; +package org.neo4j.causalclustering.backup; import org.junit.After; import org.junit.Before; @@ -27,6 +27,7 @@ import java.io.File; +import org.neo4j.backup.OnlineBackupSettings; import org.neo4j.causalclustering.core.CoreGraphDatabase; import org.neo4j.causalclustering.discovery.Cluster; import org.neo4j.causalclustering.discovery.CoreClusterMember; @@ -34,7 +35,6 @@ import org.neo4j.causalclustering.discovery.SharedDiscoveryService; import org.neo4j.io.fs.FileSystemAbstraction; import org.neo4j.kernel.configuration.Config; -import org.neo4j.kernel.impl.enterprise.configuration.OnlineBackupSettings; import org.neo4j.kernel.impl.store.format.standard.Standard; import org.neo4j.test.DbRepresentation; import org.neo4j.test.rule.TestDirectory; @@ -43,10 +43,10 @@ import static java.util.Collections.emptyMap; import static java.util.Collections.singletonMap; import static org.junit.Assert.assertEquals; -import static org.neo4j.causalclustering.BackupCoreIT.backupAddress; +import static org.neo4j.backup.OnlineBackupCommandIT.runBackupToolFromOtherJvmToGetExitCode; +import static org.neo4j.causalclustering.backup.BackupCoreIT.backupAddress; import static org.neo4j.causalclustering.discovery.Cluster.dataMatchesEventually; import static org.neo4j.causalclustering.helpers.DataCreator.createEmptyNodes; -import static org.neo4j.util.TestHelpers.runBackupToolFromOtherJvmToGetExitCode; public class ClusterSeedingIT { diff --git a/enterprise/causal-clustering/src/test/java/org/neo4j/causalclustering/backup/RestoreClusterUtils.java b/enterprise/causal-clustering/src/test/java/org/neo4j/causalclustering/backup/RestoreClusterUtils.java index 7a801fdf709ac..94c26fdc91958 100644 --- a/enterprise/causal-clustering/src/test/java/org/neo4j/causalclustering/backup/RestoreClusterUtils.java +++ b/enterprise/causal-clustering/src/test/java/org/neo4j/causalclustering/backup/RestoreClusterUtils.java @@ -21,6 +21,7 @@ import java.io.File; +import org.neo4j.backup.OnlineBackupSettings; import org.neo4j.graphdb.GraphDatabaseService; import org.neo4j.graphdb.Label; import org.neo4j.graphdb.Node; @@ -28,7 +29,6 @@ import org.neo4j.graphdb.Transaction; import org.neo4j.graphdb.factory.GraphDatabaseSettings; import org.neo4j.io.fs.FileSystemAbstraction; -import org.neo4j.kernel.impl.enterprise.configuration.OnlineBackupSettings; import org.neo4j.test.TestGraphDatabaseFactory; public class RestoreClusterUtils diff --git a/enterprise/causal-clustering/src/test/java/org/neo4j/causalclustering/core/CausalClusterConfigurationValidatorTest.java b/enterprise/causal-clustering/src/test/java/org/neo4j/causalclustering/core/CausalClusterConfigurationValidatorTest.java index 43c96a06fdd3f..ff4fd4ee4853d 100644 --- a/enterprise/causal-clustering/src/test/java/org/neo4j/causalclustering/core/CausalClusterConfigurationValidatorTest.java +++ b/enterprise/causal-clustering/src/test/java/org/neo4j/causalclustering/core/CausalClusterConfigurationValidatorTest.java @@ -29,12 +29,11 @@ import java.util.List; import java.util.Optional; +import org.neo4j.cluster.ClusterSettings; import org.neo4j.graphdb.config.InvalidSettingException; import org.neo4j.helpers.AdvertisedSocketAddress; import org.neo4j.kernel.configuration.BoltConnector; import org.neo4j.kernel.configuration.Config; -import org.neo4j.kernel.impl.enterprise.configuration.EnterpriseEditionSettings; -import org.neo4j.kernel.impl.enterprise.configuration.EnterpriseEditionSettings.Mode; import static java.util.Arrays.asList; import static org.junit.Assert.assertEquals; @@ -50,12 +49,12 @@ public class CausalClusterConfigurationValidatorTest public ExpectedException expected = ExpectedException.none(); @Parameterized.Parameter - public Mode mode; + public ClusterSettings.Mode mode; @Parameterized.Parameters( name = "{0}" ) - public static List recordFormats() + public static List recordFormats() { - return Arrays.asList( Mode.CORE, Mode.READ_REPLICA ); + return Arrays.asList( ClusterSettings.Mode.CORE, ClusterSettings.Mode.READ_REPLICA ); } @Test @@ -63,7 +62,7 @@ public void validateOnlyIfModeIsCoreOrReplica() throws Exception { // when Config config = Config.fromSettings( - stringMap( mode.name(), Mode.SINGLE.name(), + stringMap( ClusterSettings.mode.name(), ClusterSettings.Mode.SINGLE.name(), initial_discovery_members.name(), "" ) ) .withValidator( new CausalClusterConfigurationValidator() ).build(); @@ -78,7 +77,7 @@ public void validateSuccess() throws Exception { // when Config config = Config.fromSettings( - stringMap( mode.name(), mode.name(), + stringMap( ClusterSettings.mode.name(), mode.name(), initial_discovery_members.name(), "localhost:99,remotehost:2", new BoltConnector( "bolt" ).enabled.name(), "true" )) .withValidator( new CausalClusterConfigurationValidator() ).build(); @@ -97,7 +96,7 @@ public void missingInitialMembers() throws Exception expected.expectMessage( "Missing mandatory non-empty value for 'causal_clustering.initial_discovery_members'" ); // when - Config.builder().withSetting( EnterpriseEditionSettings.mode, mode.name() ).withValidator( new CausalClusterConfigurationValidator() ).build(); + Config.builder().withSetting( ClusterSettings.mode, mode.name() ).withValidator( new CausalClusterConfigurationValidator() ).build(); } @Test @@ -109,7 +108,7 @@ public void missingBoltConnector() throws Exception // when Config.fromSettings( - stringMap( EnterpriseEditionSettings.mode.name(), mode.name(), + stringMap( ClusterSettings.mode.name(), mode.name(), initial_discovery_members.name(), "localhost:99,remotehost:2" ) ) .withValidator( new CausalClusterConfigurationValidator() ).build(); } diff --git a/enterprise/causal-clustering/src/test/java/org/neo4j/causalclustering/discovery/CoreClusterMember.java b/enterprise/causal-clustering/src/test/java/org/neo4j/causalclustering/discovery/CoreClusterMember.java index 1b1d39d0f0255..e9b03a61437f9 100644 --- a/enterprise/causal-clustering/src/test/java/org/neo4j/causalclustering/discovery/CoreClusterMember.java +++ b/enterprise/causal-clustering/src/test/java/org/neo4j/causalclustering/discovery/CoreClusterMember.java @@ -26,6 +26,7 @@ import java.util.SortedMap; import java.util.function.IntFunction; +import org.neo4j.backup.OnlineBackupSettings; import org.neo4j.causalclustering.catchup.CatchupServer; import org.neo4j.causalclustering.core.CausalClusteringSettings; import org.neo4j.causalclustering.core.CoreGraphDatabase; @@ -34,6 +35,7 @@ import org.neo4j.causalclustering.core.state.ClusterStateDirectory; import org.neo4j.causalclustering.core.state.RaftLogPruner; import org.neo4j.causalclustering.identity.MemberId; +import org.neo4j.cluster.ClusterSettings; import org.neo4j.graphdb.factory.GraphDatabaseSettings; import org.neo4j.helpers.AdvertisedSocketAddress; import org.neo4j.io.fs.DefaultFileSystemAbstraction; @@ -43,8 +45,6 @@ import org.neo4j.kernel.configuration.HttpConnector; import org.neo4j.kernel.configuration.HttpConnector.Encryption; import org.neo4j.kernel.configuration.Settings; -import org.neo4j.kernel.impl.enterprise.configuration.EnterpriseEditionSettings; -import org.neo4j.kernel.impl.enterprise.configuration.OnlineBackupSettings; import org.neo4j.kernel.impl.factory.GraphDatabaseFacade; import org.neo4j.logging.Level; @@ -91,7 +91,7 @@ public CoreClusterMember( int serverId, String initialMembers = addresses.stream().map( AdvertisedSocketAddress::toString ).collect( joining( "," ) ); boltAdvertisedSocketAddress = advertisedAddress( advertisedAddress, boltPort ); - config.put( EnterpriseEditionSettings.mode.name(), EnterpriseEditionSettings.Mode.CORE.name() ); + config.put( ClusterSettings.mode.name(), ClusterSettings.Mode.CORE.name() ); config.put( GraphDatabaseSettings.default_advertised_address.name(), advertisedAddress ); config.put( CausalClusteringSettings.initial_discovery_members.name(), initialMembers ); config.put( CausalClusteringSettings.discovery_listen_address.name(), listenAddress( listenAddress, discoveryPort ) ); diff --git a/enterprise/causal-clustering/src/test/java/org/neo4j/causalclustering/discovery/ReadReplica.java b/enterprise/causal-clustering/src/test/java/org/neo4j/causalclustering/discovery/ReadReplica.java index 8e6a9a8c186ac..6d9c781a97c47 100644 --- a/enterprise/causal-clustering/src/test/java/org/neo4j/causalclustering/discovery/ReadReplica.java +++ b/enterprise/causal-clustering/src/test/java/org/neo4j/causalclustering/discovery/ReadReplica.java @@ -25,6 +25,7 @@ import java.util.UUID; import java.util.function.IntFunction; +import org.neo4j.backup.OnlineBackupSettings; import org.neo4j.causalclustering.catchup.tx.CatchupPollingProcess; import org.neo4j.causalclustering.core.CausalClusteringSettings; import org.neo4j.causalclustering.identity.MemberId; @@ -36,7 +37,6 @@ import org.neo4j.kernel.configuration.Config; import org.neo4j.kernel.configuration.HttpConnector; import org.neo4j.kernel.configuration.HttpConnector.Encryption; -import org.neo4j.kernel.impl.enterprise.configuration.OnlineBackupSettings; import org.neo4j.kernel.monitoring.Monitors; import org.neo4j.logging.Level; diff --git a/enterprise/causal-clustering/src/test/java/org/neo4j/causalclustering/helpers/CausalClusteringTestHelpers.java b/enterprise/causal-clustering/src/test/java/org/neo4j/causalclustering/helpers/CausalClusteringTestHelpers.java deleted file mode 100644 index e9114565fe4ee..0000000000000 --- a/enterprise/causal-clustering/src/test/java/org/neo4j/causalclustering/helpers/CausalClusteringTestHelpers.java +++ /dev/null @@ -1,39 +0,0 @@ -/* - * Copyright (c) 2002-2017 "Neo Technology," - * Network Engine for Objects in Lund AB [http://neotechnology.com] - * - * This file is part of Neo4j. - * - * Neo4j is free software: you can redistribute it and/or modify - * it under the terms of the GNU Affero General Public License as - * published by the Free Software Foundation, either version 3 of the - * License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Affero General Public License for more details. - * - * You should have received a copy of the GNU Affero General Public License - * along with this program. If not, see . - */ -package org.neo4j.causalclustering.helpers; - -import org.neo4j.causalclustering.core.CausalClusteringSettings; -import org.neo4j.helpers.AdvertisedSocketAddress; -import org.neo4j.kernel.configuration.Config; -import org.neo4j.kernel.impl.factory.GraphDatabaseFacade; -import org.neo4j.kernel.internal.GraphDatabaseAPI; -import org.neo4j.util.TestHelpers; - -public class CausalClusteringTestHelpers -{ - public static String transactionAddress( GraphDatabaseFacade graphDatabase ) - { - AdvertisedSocketAddress hostnamePort = graphDatabase - .getDependencyResolver() - .resolveDependency( Config.class ) - .get( CausalClusteringSettings.transaction_advertised_address ); - return String.format( "%s:%s", hostnamePort.getHostname(), hostnamePort.getPort() ); - } -} diff --git a/enterprise/causal-clustering/src/test/java/org/neo4j/causalclustering/scenarios/ClusterCommunityToEnterpriseIT.java b/enterprise/causal-clustering/src/test/java/org/neo4j/causalclustering/scenarios/ClusterCommunityToEnterpriseIT.java index 72b0eb2fbe364..0e33a1e9078d3 100644 --- a/enterprise/causal-clustering/src/test/java/org/neo4j/causalclustering/scenarios/ClusterCommunityToEnterpriseIT.java +++ b/enterprise/causal-clustering/src/test/java/org/neo4j/causalclustering/scenarios/ClusterCommunityToEnterpriseIT.java @@ -26,6 +26,7 @@ import java.io.File; +import org.neo4j.backup.OnlineBackupSettings; import org.neo4j.causalclustering.discovery.Cluster; import org.neo4j.causalclustering.discovery.IpFamily; import org.neo4j.causalclustering.discovery.SharedDiscoveryService; @@ -35,7 +36,6 @@ import org.neo4j.io.fs.FileSystemAbstraction; import org.neo4j.kernel.configuration.Config; import org.neo4j.kernel.configuration.Settings; -import org.neo4j.kernel.impl.enterprise.configuration.OnlineBackupSettings; import org.neo4j.kernel.impl.store.format.highlimit.HighLimit; import org.neo4j.test.DbRepresentation; import org.neo4j.test.rule.TestDirectory; diff --git a/enterprise/causal-clustering/src/test/java/org/neo4j/causalclustering/scenarios/RestartIT.java b/enterprise/causal-clustering/src/test/java/org/neo4j/causalclustering/scenarios/RestartIT.java index 68d97bc6d1d4e..58965784737bc 100644 --- a/enterprise/causal-clustering/src/test/java/org/neo4j/causalclustering/scenarios/RestartIT.java +++ b/enterprise/causal-clustering/src/test/java/org/neo4j/causalclustering/scenarios/RestartIT.java @@ -30,7 +30,7 @@ import org.neo4j.causalclustering.discovery.CoreClusterMember; import org.neo4j.causalclustering.discovery.ReadReplica; import org.neo4j.consistency.ConsistencyCheckService; -import org.neo4j.consistency.checking.full.ConsistencyFlags; +import org.neo4j.consistency.checking.full.CheckConsistencyConfig; import org.neo4j.graphdb.GraphDatabaseService; import org.neo4j.graphdb.Node; import org.neo4j.graphdb.Transaction; @@ -170,7 +170,7 @@ public void readReplicaTest() throws Exception ConsistencyCheckService.Result result = new ConsistencyCheckService() .runFullConsistencyCheck( core.storeDir(), Config.defaults(), ProgressMonitorFactory.NONE, NullLogProvider.getInstance(), fileSystem, false, - new ConsistencyFlags( true, true, true, false ) ); + new CheckConsistencyConfig( true, true, true, false ) ); assertTrue( "Inconsistent: " + core, result.isSuccessful() ); } @@ -179,7 +179,7 @@ public void readReplicaTest() throws Exception ConsistencyCheckService.Result result = new ConsistencyCheckService() .runFullConsistencyCheck( readReplica.storeDir(), Config.defaults(), ProgressMonitorFactory.NONE, NullLogProvider.getInstance(), fileSystem, false, - new ConsistencyFlags( true, true, true, false ) ); + new CheckConsistencyConfig( true, true, true, false ) ); assertTrue( "Inconsistent: " + readReplica, result.isSuccessful() ); } } diff --git a/enterprise/causal-clustering/src/test/java/org/neo4j/test/causalclustering/ClusterRuleIT.java b/enterprise/causal-clustering/src/test/java/org/neo4j/test/causalclustering/ClusterRuleIT.java index e414a05fc9178..e0fa4dc16d5ff 100644 --- a/enterprise/causal-clustering/src/test/java/org/neo4j/test/causalclustering/ClusterRuleIT.java +++ b/enterprise/causal-clustering/src/test/java/org/neo4j/test/causalclustering/ClusterRuleIT.java @@ -27,6 +27,7 @@ import org.junit.Rule; import org.junit.Test; +import org.neo4j.backup.OnlineBackupSettings; import org.neo4j.causalclustering.core.CausalClusteringSettings; import org.neo4j.causalclustering.discovery.Cluster; import org.neo4j.causalclustering.discovery.ClusterMember; @@ -34,7 +35,6 @@ import org.neo4j.causalclustering.discovery.ReadReplica; import org.neo4j.kernel.configuration.BoltConnector; import org.neo4j.kernel.configuration.HttpConnector; -import org.neo4j.kernel.impl.enterprise.configuration.OnlineBackupSettings; public class ClusterRuleIT { diff --git a/enterprise/cluster/pom.xml b/enterprise/cluster/pom.xml index 672373d463c5c..ff4c36e337b93 100644 --- a/enterprise/cluster/pom.xml +++ b/enterprise/cluster/pom.xml @@ -111,11 +111,6 @@ test-jar test - - org.neo4j - neo4j-enterprise-kernel - ${project.version} - diff --git a/enterprise/cluster/src/main/java/org/neo4j/cluster/ClusterSettings.java b/enterprise/cluster/src/main/java/org/neo4j/cluster/ClusterSettings.java index d7a6d636e5eb3..85c6802d86c4b 100644 --- a/enterprise/cluster/src/main/java/org/neo4j/cluster/ClusterSettings.java +++ b/enterprise/cluster/src/main/java/org/neo4j/cluster/ClusterSettings.java @@ -75,6 +75,21 @@ public String toString() } }; + public enum Mode + { + SINGLE, + HA, + ARBITER, + CORE, + READ_REPLICA + } + + @Description( "Configure the operating mode of the database -- 'SINGLE' for stand-alone operation, " + + "'HA' for operating as a member in an HA cluster, 'ARBITER' for a cluster member with no database in an HA cluster, " + + "'CORE' for operating as a core member of a Causal Cluster, " + + "or 'READ_REPLICA' for operating as a read replica member of a Causal Cluster." ) + public static final Setting mode = setting( "dbms.mode", options( Mode.class ), Mode.SINGLE.name() ); + @Description( "Id for a cluster instance. Must be unique within the cluster." ) public static final Setting server_id = setting( "ha.server_id", INSTANCE_ID, NO_DEFAULT ); diff --git a/enterprise/cluster/src/main/java/org/neo4j/configuration/HaConfigurationValidator.java b/enterprise/cluster/src/main/java/org/neo4j/configuration/HaConfigurationValidator.java index ba618a28220db..876d69ffd9548 100644 --- a/enterprise/cluster/src/main/java/org/neo4j/configuration/HaConfigurationValidator.java +++ b/enterprise/cluster/src/main/java/org/neo4j/configuration/HaConfigurationValidator.java @@ -24,12 +24,12 @@ import java.util.Map; import javax.annotation.Nonnull; +import org.neo4j.cluster.ClusterSettings; +import org.neo4j.cluster.ClusterSettings.Mode; import org.neo4j.graphdb.config.InvalidSettingException; import org.neo4j.helpers.HostnamePort; import org.neo4j.kernel.configuration.Config; import org.neo4j.kernel.configuration.ConfigurationValidator; -import org.neo4j.kernel.impl.enterprise.configuration.EnterpriseEditionSettings; -import org.neo4j.kernel.impl.enterprise.configuration.EnterpriseEditionSettings.Mode; import org.neo4j.logging.Log; import static org.neo4j.cluster.ClusterSettings.initial_hosts; @@ -41,7 +41,7 @@ public class HaConfigurationValidator implements ConfigurationValidator public Map validate( @Nonnull Config config, @Nonnull Log log ) throws InvalidSettingException { // Make sure mode is HA - Mode mode = config.get( EnterpriseEditionSettings.mode ); + Mode mode = config.get( ClusterSettings.mode ); if ( mode.equals( Mode.HA ) || mode.equals( Mode.ARBITER ) ) { validateServerId( config ); diff --git a/enterprise/cluster/src/test/java/org/neo4j/configuration/HaConfigurationValidatorTest.java b/enterprise/cluster/src/test/java/org/neo4j/configuration/HaConfigurationValidatorTest.java index b92a9a77e954d..cd15aba2e8f27 100644 --- a/enterprise/cluster/src/test/java/org/neo4j/configuration/HaConfigurationValidatorTest.java +++ b/enterprise/cluster/src/test/java/org/neo4j/configuration/HaConfigurationValidatorTest.java @@ -34,7 +34,6 @@ import org.neo4j.graphdb.config.InvalidSettingException; import org.neo4j.helpers.HostnamePort; import org.neo4j.kernel.configuration.Config; -import org.neo4j.kernel.impl.enterprise.configuration.EnterpriseEditionSettings; import static java.util.Arrays.asList; import static org.junit.Assert.assertEquals; @@ -48,12 +47,12 @@ public class HaConfigurationValidatorTest public ExpectedException expected = ExpectedException.none(); @Parameterized.Parameter - public EnterpriseEditionSettings.Mode mode; + public ClusterSettings.Mode mode; @Parameterized.Parameters( name = "{0}" ) - public static List recordFormats() + public static List recordFormats() { - return Arrays.asList( EnterpriseEditionSettings.Mode.HA, EnterpriseEditionSettings.Mode.ARBITER ); + return Arrays.asList( ClusterSettings.Mode.HA, ClusterSettings.Mode.ARBITER ); } @Test @@ -61,7 +60,7 @@ public void validateOnlyIfModeIsHA() throws Exception { // when Config config = Config.fromSettings( - stringMap( EnterpriseEditionSettings.mode.name(), EnterpriseEditionSettings.Mode.SINGLE.name(), + stringMap( ClusterSettings.mode.name(), ClusterSettings.Mode.SINGLE.name(), ClusterSettings.initial_hosts.name(), "" ) ) .withValidator( new HaConfigurationValidator() ).build(); @@ -76,7 +75,7 @@ public void validateSuccess() throws Exception { // when Config config = Config.fromSettings( - stringMap( EnterpriseEditionSettings.mode.name(), mode.name(), + stringMap( ClusterSettings.mode.name(), mode.name(), ClusterSettings.server_id.name(), "1", ClusterSettings.initial_hosts.name(), "localhost,remotehost" ) ) .withValidator( new HaConfigurationValidator() ).build(); @@ -97,7 +96,7 @@ public void missingServerId() throws Exception // when Config.fromSettings( - stringMap( EnterpriseEditionSettings.mode.name(), mode.name() ) ) + stringMap( ClusterSettings.mode.name(), mode.name() ) ) .withValidator( new HaConfigurationValidator() ).build(); } @@ -110,7 +109,7 @@ public void missingInitialHosts() throws Exception // when Config.fromSettings( - stringMap( EnterpriseEditionSettings.mode.name(), mode.name(), + stringMap( ClusterSettings.mode.name(), mode.name(), ClusterSettings.server_id.name(), "1" ) ) .withValidator( new HaConfigurationValidator() ).build(); } @@ -124,7 +123,7 @@ public void initialHostsEmpty() throws Exception // when Config.fromSettings( - stringMap( EnterpriseEditionSettings.mode.name(), mode.name(), + stringMap( ClusterSettings.mode.name(), mode.name(), ClusterSettings.server_id.name(), "1", ClusterSettings.initial_hosts.name(), "," ) ) .withValidator( new HaConfigurationValidator() ).build(); diff --git a/enterprise/fulltext-addon/src/test/java/org/neo4j/kernel/api/impl/fulltext/integrations/bloom/BloomIT.java b/enterprise/fulltext-addon/src/test/java/org/neo4j/kernel/api/impl/fulltext/integrations/bloom/BloomIT.java index a7c4b19f7f9dd..d2287a51a0596 100644 --- a/enterprise/fulltext-addon/src/test/java/org/neo4j/kernel/api/impl/fulltext/integrations/bloom/BloomIT.java +++ b/enterprise/fulltext-addon/src/test/java/org/neo4j/kernel/api/impl/fulltext/integrations/bloom/BloomIT.java @@ -32,7 +32,7 @@ import java.util.Date; import org.neo4j.consistency.ConsistencyCheckService; -import org.neo4j.consistency.checking.full.ConsistencyFlags; +import org.neo4j.consistency.checking.full.CheckConsistencyConfig; import org.neo4j.graphdb.GraphDatabaseService; import org.neo4j.graphdb.Node; import org.neo4j.graphdb.Relationship; @@ -410,7 +410,7 @@ public void shouldBeAbleToRunConsistencyCheck() throws Exception Config config = Config.defaults( bloom_indexed_properties, "prop" ); ConsistencyCheckService consistencyCheckService = new ConsistencyCheckService( new Date() ); - ConsistencyFlags checkConsistencyConfig = new ConsistencyFlags( true, true, true, true ); + CheckConsistencyConfig checkConsistencyConfig = new CheckConsistencyConfig( true, true, true, true ); ConsistencyCheckService.Result result = consistencyCheckService.runFullConsistencyCheck( testDirectory.graphDbDir(), config, ProgressMonitorFactory.NONE, NullLogProvider.getInstance(), true, checkConsistencyConfig ); diff --git a/enterprise/ha/LICENSES.txt b/enterprise/ha/LICENSES.txt index 33306dc187898..a0540cca0d615 100644 --- a/enterprise/ha/LICENSES.txt +++ b/enterprise/ha/LICENSES.txt @@ -18,7 +18,6 @@ Apache Software License, Version 2.0 Apache Shiro :: Event Apache Shiro :: Lang Caffeine cache - hazelcast-all Lucene codecs Lucene Common Analyzers Lucene Core diff --git a/enterprise/ha/NOTICE.txt b/enterprise/ha/NOTICE.txt index fec8325835843..4bd0dab979ae7 100644 --- a/enterprise/ha/NOTICE.txt +++ b/enterprise/ha/NOTICE.txt @@ -40,7 +40,6 @@ Apache Software License, Version 2.0 Apache Shiro :: Event Apache Shiro :: Lang Caffeine cache - hazelcast-all Lucene codecs Lucene Common Analyzers Lucene Core diff --git a/enterprise/ha/pom.xml b/enterprise/ha/pom.xml index 2502457a1f3c5..59654111b5798 100644 --- a/enterprise/ha/pom.xml +++ b/enterprise/ha/pom.xml @@ -56,13 +56,6 @@ neo4j-enterprise-kernel ${project.version} - - org.neo4j - neo4j-enterprise-kernel - ${project.version} - test-jar - test - org.neo4j neo4j-jmx diff --git a/enterprise/ha/src/test/java/org/neo4j/ha/BackupHaIT.java b/enterprise/ha/src/test/java/org/neo4j/ha/BackupHaIT.java index 45f727ad2c43a..12fca98d08a4d 100644 --- a/enterprise/ha/src/test/java/org/neo4j/ha/BackupHaIT.java +++ b/enterprise/ha/src/test/java/org/neo4j/ha/BackupHaIT.java @@ -27,7 +27,7 @@ import java.util.ArrayList; import java.util.List; -import org.neo4j.kernel.impl.enterprise.configuration.OnlineBackupSettings; +import org.neo4j.backup.OnlineBackupSettings; import org.neo4j.com.ports.allocation.PortAuthority; import org.neo4j.helpers.HostnamePort; import org.neo4j.kernel.configuration.Config; @@ -40,8 +40,8 @@ import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertNotEquals; -import static org.neo4j.backup.OnlineBackupCommandCcIT.createSomeData; -import static org.neo4j.util.TestHelpers.runBackupToolFromOtherJvmToGetExitCode; +import static org.neo4j.backup.OnlineBackupCommandIT.createSomeData; +import static org.neo4j.backup.OnlineBackupCommandIT.runBackupToolFromOtherJvmToGetExitCode; public class BackupHaIT { diff --git a/enterprise/ha/src/test/java/org/neo4j/ha/BranchedDataIT.java b/enterprise/ha/src/test/java/org/neo4j/ha/BranchedDataIT.java index 0aabcd86e9011..4db30123cc160 100644 --- a/enterprise/ha/src/test/java/org/neo4j/ha/BranchedDataIT.java +++ b/enterprise/ha/src/test/java/org/neo4j/ha/BranchedDataIT.java @@ -31,6 +31,7 @@ import java.util.Set; import java.util.function.Consumer; +import org.neo4j.backup.OnlineBackupSettings; import org.neo4j.cluster.ClusterSettings; import org.neo4j.com.ports.allocation.PortAuthority; import org.neo4j.com.storecopy.StoreUtil; @@ -48,7 +49,6 @@ import org.neo4j.kernel.ha.HighlyAvailableGraphDatabase; import org.neo4j.kernel.ha.cluster.SwitchToSlave.Monitor; import org.neo4j.kernel.ha.cluster.modeswitch.HighAvailabilityModeSwitcher; -import org.neo4j.kernel.impl.enterprise.configuration.OnlineBackupSettings; import org.neo4j.kernel.impl.ha.ClusterManager; import org.neo4j.kernel.impl.ha.ClusterManager.ManagedCluster; import org.neo4j.kernel.impl.ha.ClusterManager.RepairKit; diff --git a/enterprise/ha/src/test/java/org/neo4j/ha/ClusterIndexDeletionIT.java b/enterprise/ha/src/test/java/org/neo4j/ha/ClusterIndexDeletionIT.java index c3e6d963adab1..ff41799e5f9f9 100644 --- a/enterprise/ha/src/test/java/org/neo4j/ha/ClusterIndexDeletionIT.java +++ b/enterprise/ha/src/test/java/org/neo4j/ha/ClusterIndexDeletionIT.java @@ -22,11 +22,11 @@ import org.junit.Rule; import org.junit.Test; +import org.neo4j.backup.OnlineBackupSettings; import org.neo4j.graphdb.Transaction; import org.neo4j.kernel.configuration.Settings; import org.neo4j.kernel.ha.HaSettings; import org.neo4j.kernel.ha.HighlyAvailableGraphDatabase; -import org.neo4j.kernel.impl.enterprise.configuration.OnlineBackupSettings; import org.neo4j.kernel.impl.ha.ClusterManager.ManagedCluster; import org.neo4j.test.ha.ClusterRule; diff --git a/enterprise/ha/src/test/java/org/neo4j/ha/ClusterTransactionIT.java b/enterprise/ha/src/test/java/org/neo4j/ha/ClusterTransactionIT.java index c2cf26d4facb3..e296c1a434869 100644 --- a/enterprise/ha/src/test/java/org/neo4j/ha/ClusterTransactionIT.java +++ b/enterprise/ha/src/test/java/org/neo4j/ha/ClusterTransactionIT.java @@ -25,13 +25,13 @@ import java.util.concurrent.FutureTask; +import org.neo4j.backup.OnlineBackupSettings; import org.neo4j.graphdb.Transaction; import org.neo4j.helpers.collection.Iterables; import org.neo4j.kernel.api.exceptions.TransactionFailureException; import org.neo4j.kernel.configuration.Settings; import org.neo4j.kernel.ha.HaSettings; import org.neo4j.kernel.ha.HighlyAvailableGraphDatabase; -import org.neo4j.kernel.impl.enterprise.configuration.OnlineBackupSettings; import org.neo4j.kernel.impl.ha.ClusterManager; import org.neo4j.kernel.lifecycle.LifeSupport; import org.neo4j.kernel.lifecycle.LifecycleStatus; diff --git a/enterprise/ha/src/test/java/org/neo4j/ha/ForeignStoreIdIT.java b/enterprise/ha/src/test/java/org/neo4j/ha/ForeignStoreIdIT.java index 608ad7af59ecd..5526c76e4fe46 100644 --- a/enterprise/ha/src/test/java/org/neo4j/ha/ForeignStoreIdIT.java +++ b/enterprise/ha/src/test/java/org/neo4j/ha/ForeignStoreIdIT.java @@ -25,6 +25,7 @@ import java.io.File; +import org.neo4j.backup.OnlineBackupSettings; import org.neo4j.com.ports.allocation.PortAuthority; import org.neo4j.graphdb.GraphDatabaseService; import org.neo4j.graphdb.Node; @@ -32,7 +33,6 @@ import org.neo4j.graphdb.factory.EnterpriseGraphDatabaseFactory; import org.neo4j.graphdb.factory.TestHighlyAvailableGraphDatabaseFactory; import org.neo4j.kernel.configuration.Settings; -import org.neo4j.kernel.impl.enterprise.configuration.OnlineBackupSettings; import org.neo4j.test.rule.TestDirectory; import static org.junit.Assert.assertEquals; diff --git a/enterprise/ha/src/test/java/org/neo4j/ha/PullUpdatesAppliedIT.java b/enterprise/ha/src/test/java/org/neo4j/ha/PullUpdatesAppliedIT.java index 7453bf940a495..79d7dd7033492 100644 --- a/enterprise/ha/src/test/java/org/neo4j/ha/PullUpdatesAppliedIT.java +++ b/enterprise/ha/src/test/java/org/neo4j/ha/PullUpdatesAppliedIT.java @@ -40,6 +40,7 @@ import java.util.concurrent.TimeUnit; import java.util.stream.IntStream; +import org.neo4j.backup.OnlineBackupSettings; import org.neo4j.cluster.ClusterSettings; import org.neo4j.cluster.InstanceId; import org.neo4j.cluster.client.ClusterClient; @@ -51,7 +52,6 @@ import org.neo4j.kernel.ha.HaSettings; import org.neo4j.kernel.ha.HighlyAvailableGraphDatabase; import org.neo4j.kernel.ha.UpdatePuller; -import org.neo4j.kernel.impl.enterprise.configuration.OnlineBackupSettings; import org.neo4j.kernel.impl.factory.GraphDatabaseFacade; import org.neo4j.test.StreamConsumer; import org.neo4j.test.rule.TestDirectory; diff --git a/enterprise/ha/src/test/java/org/neo4j/ha/PullUpdatesIT.java b/enterprise/ha/src/test/java/org/neo4j/ha/PullUpdatesIT.java index 1761c3badd210..e7bd925fd7acc 100644 --- a/enterprise/ha/src/test/java/org/neo4j/ha/PullUpdatesIT.java +++ b/enterprise/ha/src/test/java/org/neo4j/ha/PullUpdatesIT.java @@ -31,6 +31,7 @@ import java.util.concurrent.TimeUnit; import java.util.concurrent.atomic.AtomicReference; +import org.neo4j.backup.OnlineBackupSettings; import org.neo4j.cluster.ClusterSettings; import org.neo4j.cluster.InstanceId; import org.neo4j.cluster.client.ClusterClient; @@ -46,7 +47,6 @@ import org.neo4j.kernel.configuration.Settings; import org.neo4j.kernel.ha.HaSettings; import org.neo4j.kernel.ha.HighlyAvailableGraphDatabase; -import org.neo4j.kernel.impl.enterprise.configuration.OnlineBackupSettings; import org.neo4j.kernel.impl.ha.ClusterManager; import org.neo4j.kernel.impl.logging.LogService; import org.neo4j.kernel.impl.transaction.log.TransactionIdStore; diff --git a/enterprise/ha/src/test/java/org/neo4j/ha/upgrade/RollingUpgradeIT.java b/enterprise/ha/src/test/java/org/neo4j/ha/upgrade/RollingUpgradeIT.java index 48d5a97fba0de..5b629bfe0d3d4 100644 --- a/enterprise/ha/src/test/java/org/neo4j/ha/upgrade/RollingUpgradeIT.java +++ b/enterprise/ha/src/test/java/org/neo4j/ha/upgrade/RollingUpgradeIT.java @@ -39,6 +39,7 @@ import java.util.concurrent.TimeUnit; import org.neo4j.backup.OnlineBackup; +import org.neo4j.backup.OnlineBackupSettings; import org.neo4j.consistency.checking.full.ConsistencyCheckIncompleteException; import org.neo4j.graphdb.GraphDatabaseService; import org.neo4j.graphdb.Node; @@ -50,7 +51,6 @@ import org.neo4j.helpers.collection.MapUtil; import org.neo4j.helpers.collection.Pair; import org.neo4j.io.fs.FileUtils; -import org.neo4j.kernel.impl.enterprise.configuration.OnlineBackupSettings; import org.neo4j.kernel.ha.UpdatePuller; import org.neo4j.kernel.internal.GraphDatabaseAPI; import org.neo4j.test.TestGraphDatabaseFactory; diff --git a/enterprise/ha/src/test/java/org/neo4j/kernel/api/impl/labelscan/NativeLabelScanStoreHaIT.java b/enterprise/ha/src/test/java/org/neo4j/kernel/api/impl/labelscan/NativeLabelScanStoreHaIT.java index 3457e8011aca0..96c9d79f55e54 100644 --- a/enterprise/ha/src/test/java/org/neo4j/kernel/api/impl/labelscan/NativeLabelScanStoreHaIT.java +++ b/enterprise/ha/src/test/java/org/neo4j/kernel/api/impl/labelscan/NativeLabelScanStoreHaIT.java @@ -24,13 +24,13 @@ import org.junit.Rule; import org.junit.Test; +import org.neo4j.backup.OnlineBackupSettings; import org.neo4j.graphdb.GraphDatabaseService; import org.neo4j.graphdb.Label; import org.neo4j.graphdb.Transaction; import org.neo4j.graphdb.factory.TestHighlyAvailableGraphDatabaseFactory; import org.neo4j.kernel.api.labelscan.LabelScanStore; import org.neo4j.kernel.configuration.Settings; -import org.neo4j.kernel.impl.enterprise.configuration.OnlineBackupSettings; import org.neo4j.kernel.impl.ha.ClusterManager; import org.neo4j.kernel.impl.ha.ClusterManager.ManagedCluster; import org.neo4j.kernel.lifecycle.LifeSupport; diff --git a/enterprise/ha/src/test/java/org/neo4j/kernel/ha/ConcurrentInstanceStartupIT.java b/enterprise/ha/src/test/java/org/neo4j/kernel/ha/ConcurrentInstanceStartupIT.java index aa0ffd0c6b930..6287c0da83d5e 100644 --- a/enterprise/ha/src/test/java/org/neo4j/kernel/ha/ConcurrentInstanceStartupIT.java +++ b/enterprise/ha/src/test/java/org/neo4j/kernel/ha/ConcurrentInstanceStartupIT.java @@ -31,14 +31,13 @@ import org.junit.Rule; import org.junit.Test; - +import org.neo4j.backup.OnlineBackupSettings; import org.neo4j.cluster.ClusterSettings; import org.neo4j.com.ports.allocation.PortAuthority; import org.neo4j.graphdb.Transaction; import org.neo4j.graphdb.factory.GraphDatabaseBuilder; import org.neo4j.graphdb.factory.TestHighlyAvailableGraphDatabaseFactory; import org.neo4j.kernel.configuration.Settings; -import org.neo4j.kernel.impl.enterprise.configuration.OnlineBackupSettings; import org.neo4j.test.rule.TestDirectory; public class ConcurrentInstanceStartupIT diff --git a/enterprise/ha/src/test/java/org/neo4j/kernel/ha/ConflictingServerIdIT.java b/enterprise/ha/src/test/java/org/neo4j/kernel/ha/ConflictingServerIdIT.java index 70fe2ce6d5709..a2d85227d945f 100644 --- a/enterprise/ha/src/test/java/org/neo4j/kernel/ha/ConflictingServerIdIT.java +++ b/enterprise/ha/src/test/java/org/neo4j/kernel/ha/ConflictingServerIdIT.java @@ -24,12 +24,12 @@ import java.io.File; +import org.neo4j.backup.OnlineBackupSettings; import org.neo4j.cluster.ClusterSettings; import org.neo4j.com.ports.allocation.PortAuthority; import org.neo4j.graphdb.Transaction; import org.neo4j.graphdb.factory.GraphDatabaseBuilder; import org.neo4j.graphdb.factory.TestHighlyAvailableGraphDatabaseFactory; -import org.neo4j.kernel.impl.enterprise.configuration.OnlineBackupSettings; import org.neo4j.test.rule.TestDirectory; import static org.junit.Assert.assertTrue; diff --git a/enterprise/ha/src/test/java/org/neo4j/kernel/ha/HaIPv6ConfigurationIT.java b/enterprise/ha/src/test/java/org/neo4j/kernel/ha/HaIPv6ConfigurationIT.java index 07dd91b46f6f5..a3bf48c81bb07 100644 --- a/enterprise/ha/src/test/java/org/neo4j/kernel/ha/HaIPv6ConfigurationIT.java +++ b/enterprise/ha/src/test/java/org/neo4j/kernel/ha/HaIPv6ConfigurationIT.java @@ -28,12 +28,12 @@ import java.net.NetworkInterface; import java.util.Enumeration; +import org.neo4j.backup.OnlineBackupSettings; import org.neo4j.cluster.ClusterSettings; import org.neo4j.com.ports.allocation.PortAuthority; import org.neo4j.graphdb.GraphDatabaseService; import org.neo4j.graphdb.Transaction; import org.neo4j.graphdb.factory.HighlyAvailableGraphDatabaseFactory; -import org.neo4j.kernel.impl.enterprise.configuration.OnlineBackupSettings; import org.neo4j.test.rule.TestDirectory; /** diff --git a/enterprise/ha/src/test/java/org/neo4j/kernel/ha/HardKillIT.java b/enterprise/ha/src/test/java/org/neo4j/kernel/ha/HardKillIT.java index 17708aabd088b..16fbf48aafc6b 100644 --- a/enterprise/ha/src/test/java/org/neo4j/kernel/ha/HardKillIT.java +++ b/enterprise/ha/src/test/java/org/neo4j/kernel/ha/HardKillIT.java @@ -31,6 +31,7 @@ import java.util.Map; import java.util.concurrent.CountDownLatch; +import org.neo4j.backup.OnlineBackupSettings; import org.neo4j.cluster.ClusterSettings; import org.neo4j.cluster.client.ClusterClient; import org.neo4j.cluster.member.paxos.MemberIsAvailable; @@ -44,7 +45,6 @@ import org.neo4j.kernel.ha.cluster.member.ClusterMember; import org.neo4j.kernel.ha.cluster.member.ClusterMembers; import org.neo4j.kernel.ha.cluster.modeswitch.HighAvailabilityModeSwitcher; -import org.neo4j.kernel.impl.enterprise.configuration.OnlineBackupSettings; import org.neo4j.test.ProcessStreamHandler; import org.neo4j.test.rule.TestDirectory; diff --git a/enterprise/ha/src/test/java/org/neo4j/kernel/impl/ha/ClusterManager.java b/enterprise/ha/src/test/java/org/neo4j/kernel/impl/ha/ClusterManager.java index 61c5fcf439fe7..43f6c14e24770 100644 --- a/enterprise/ha/src/test/java/org/neo4j/kernel/impl/ha/ClusterManager.java +++ b/enterprise/ha/src/test/java/org/neo4j/kernel/impl/ha/ClusterManager.java @@ -41,6 +41,7 @@ import java.util.function.Supplier; import java.util.stream.Collectors; +import org.neo4j.backup.OnlineBackupSettings; import org.neo4j.cluster.ClusterSettings; import org.neo4j.cluster.InstanceId; import org.neo4j.cluster.client.Cluster; @@ -66,7 +67,6 @@ import org.neo4j.io.pagecache.IOLimiter; import org.neo4j.kernel.configuration.BoltConnector; import org.neo4j.kernel.configuration.Config; -import org.neo4j.kernel.impl.enterprise.configuration.OnlineBackupSettings; import org.neo4j.kernel.configuration.Settings; import org.neo4j.kernel.ha.HaSettings; import org.neo4j.kernel.ha.HighlyAvailableGraphDatabase; diff --git a/enterprise/ha/src/test/java/org/neo4j/kernel/internal/HaKernelDataIT.java b/enterprise/ha/src/test/java/org/neo4j/kernel/internal/HaKernelDataIT.java index 6f8cc1fc7770b..83c2893768274 100644 --- a/enterprise/ha/src/test/java/org/neo4j/kernel/internal/HaKernelDataIT.java +++ b/enterprise/ha/src/test/java/org/neo4j/kernel/internal/HaKernelDataIT.java @@ -22,12 +22,12 @@ import org.junit.Rule; import org.junit.Test; +import org.neo4j.backup.OnlineBackupSettings; import org.neo4j.cluster.ClusterSettings; import org.neo4j.com.ports.allocation.PortAuthority; import org.neo4j.graphdb.factory.TestHighlyAvailableGraphDatabaseFactory; import org.neo4j.kernel.ha.HaSettings; import org.neo4j.kernel.ha.HighlyAvailableGraphDatabase; -import org.neo4j.kernel.impl.enterprise.configuration.OnlineBackupSettings; import org.neo4j.test.ManagedResource; import org.neo4j.test.rule.TestDirectory; diff --git a/enterprise/ha/src/test/java/org/neo4j/test/ha/ClusterIT.java b/enterprise/ha/src/test/java/org/neo4j/test/ha/ClusterIT.java index f2965448574f0..69ff5fa69aa02 100644 --- a/enterprise/ha/src/test/java/org/neo4j/test/ha/ClusterIT.java +++ b/enterprise/ha/src/test/java/org/neo4j/test/ha/ClusterIT.java @@ -26,10 +26,11 @@ import java.io.File; import java.io.IOException; +import java.nio.file.DirectoryNotEmptyException; import java.util.logging.Level; import org.junit.rules.TestName; - +import org.neo4j.backup.OnlineBackupSettings; import org.neo4j.cluster.ClusterSettings; import org.neo4j.com.ports.allocation.PortAuthority; import org.neo4j.graphdb.DependencyResolver; @@ -46,7 +47,6 @@ import org.neo4j.kernel.api.exceptions.Status; import org.neo4j.kernel.ha.HaSettings; import org.neo4j.kernel.ha.HighlyAvailableGraphDatabase; -import org.neo4j.kernel.impl.enterprise.configuration.OnlineBackupSettings; import org.neo4j.kernel.impl.ha.ClusterManager; import org.neo4j.kernel.impl.store.MetaDataStore; import org.neo4j.kernel.impl.store.TransactionId; diff --git a/enterprise/ha/src/test/java/slavetest/InstanceJoinIT.java b/enterprise/ha/src/test/java/slavetest/InstanceJoinIT.java index 383a64c1685bd..d08f4bd321264 100644 --- a/enterprise/ha/src/test/java/slavetest/InstanceJoinIT.java +++ b/enterprise/ha/src/test/java/slavetest/InstanceJoinIT.java @@ -26,6 +26,7 @@ import java.io.IOException; import java.util.Map; +import org.neo4j.backup.OnlineBackupSettings; import org.neo4j.cluster.ClusterSettings; import org.neo4j.com.ports.allocation.PortAuthority; import org.neo4j.graphdb.Node; @@ -34,7 +35,6 @@ import org.neo4j.kernel.ha.HaSettings; import org.neo4j.kernel.ha.HighlyAvailableGraphDatabase; import org.neo4j.kernel.ha.UpdatePuller; -import org.neo4j.kernel.impl.enterprise.configuration.OnlineBackupSettings; import org.neo4j.kernel.impl.transaction.log.checkpoint.CheckPointer; import org.neo4j.kernel.impl.transaction.log.checkpoint.SimpleTriggerInfo; import org.neo4j.kernel.impl.transaction.log.rotation.LogRotation; diff --git a/enterprise/kernel/src/main/java/org/neo4j/kernel/impl/enterprise/configuration/EnterpriseEditionSettings.java b/enterprise/kernel/src/main/java/org/neo4j/kernel/impl/enterprise/configuration/EnterpriseEditionSettings.java index 532424309308e..074e9eafb66f4 100644 --- a/enterprise/kernel/src/main/java/org/neo4j/kernel/impl/enterprise/configuration/EnterpriseEditionSettings.java +++ b/enterprise/kernel/src/main/java/org/neo4j/kernel/impl/enterprise/configuration/EnterpriseEditionSettings.java @@ -29,7 +29,6 @@ import static org.neo4j.kernel.configuration.Settings.STRING; import static org.neo4j.kernel.configuration.Settings.list; -import static org.neo4j.kernel.configuration.Settings.options; import static org.neo4j.kernel.configuration.Settings.optionsIgnoreCase; import static org.neo4j.kernel.configuration.Settings.setting; import static org.neo4j.kernel.impl.store.id.IdType.NODE; @@ -51,19 +50,4 @@ public class EnterpriseEditionSettings implements LoadableConfig @Internal public static final Setting security_module = setting( "unsupported.dbms.security.module", STRING, ENTERPRISE_SECURITY_MODULE_ID ); - - @Description( "Configure the operating mode of the database -- 'SINGLE' for stand-alone operation, " + - "'HA' for operating as a member in an HA cluster, 'ARBITER' for a cluster member with no database in an HA cluster, " + - "'CORE' for operating as a core member of a Causal Cluster, " + - "or 'READ_REPLICA' for operating as a read replica member of a Causal Cluster." ) - public static final Setting mode = setting( "dbms.mode", options( Mode.class ), Mode.SINGLE.name() ); - - public enum Mode - { - SINGLE, - HA, - ARBITER, - CORE, - READ_REPLICA - } } diff --git a/enterprise/kernel/src/main/java/org/neo4j/kernel/impl/enterprise/configuration/OnlineBackupSettings.java b/enterprise/kernel/src/main/java/org/neo4j/kernel/impl/enterprise/configuration/OnlineBackupSettings.java deleted file mode 100644 index aa53d3a93cca8..0000000000000 --- a/enterprise/kernel/src/main/java/org/neo4j/kernel/impl/enterprise/configuration/OnlineBackupSettings.java +++ /dev/null @@ -1,43 +0,0 @@ -/* - * Copyright (c) 2002-2017 "Neo Technology," - * Network Engine for Objects in Lund AB [http://neotechnology.com] - * - * This file is part of Neo4j. - * - * Neo4j is free software: you can redistribute it and/or modify - * it under the terms of the GNU Affero General Public License as - * published by the Free Software Foundation, either version 3 of the - * License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Affero General Public License for more details. - * - * You should have received a copy of the GNU Affero General Public License - * along with this program. If not, see . - */ -package org.neo4j.kernel.impl.enterprise.configuration; - -import org.neo4j.configuration.Description; -import org.neo4j.configuration.LoadableConfig; -import org.neo4j.graphdb.config.Setting; -import org.neo4j.helpers.HostnamePort; - -import static org.neo4j.kernel.configuration.Settings.BOOLEAN; -import static org.neo4j.kernel.configuration.Settings.HOSTNAME_PORT; -import static org.neo4j.kernel.configuration.Settings.TRUE; -import static org.neo4j.kernel.configuration.Settings.setting; - -/** - * Settings for online backup - */ -@Description( "Online backup configuration settings" ) -public class OnlineBackupSettings implements LoadableConfig -{ - @Description( "Enable support for running online backups" ) - public static final Setting online_backup_enabled = setting( "dbms.backup.enabled", BOOLEAN, TRUE ); - - @Description( "Listening server for online backups" ) - public static final Setting online_backup_server = setting( "dbms.backup.address", HOSTNAME_PORT, "127.0.0.1:6362-6372" ); -} diff --git a/enterprise/kernel/src/main/resources/META-INF/services/org.neo4j.configuration.LoadableConfig b/enterprise/kernel/src/main/resources/META-INF/services/org.neo4j.configuration.LoadableConfig index ebeeac14e2087..1e61e0b4779de 100644 --- a/enterprise/kernel/src/main/resources/META-INF/services/org.neo4j.configuration.LoadableConfig +++ b/enterprise/kernel/src/main/resources/META-INF/services/org.neo4j.configuration.LoadableConfig @@ -1,2 +1 @@ org.neo4j.kernel.impl.enterprise.configuration.EnterpriseEditionSettings -org.neo4j.kernel.impl.enterprise.configuration.OnlineBackupSettings diff --git a/enterprise/kernel/src/test/java/org/neo4j/util/TestHelpers.java b/enterprise/kernel/src/test/java/org/neo4j/util/TestHelpers.java deleted file mode 100644 index b3d3e8232850b..0000000000000 --- a/enterprise/kernel/src/test/java/org/neo4j/util/TestHelpers.java +++ /dev/null @@ -1,90 +0,0 @@ -/* - * Copyright (c) 2002-2017 "Neo Technology," - * Network Engine for Objects in Lund AB [http://neotechnology.com] - * - * This file is part of Neo4j. - * - * Neo4j is free software: you can redistribute it and/or modify - * it under the terms of the GNU Affero General Public License as - * published by the Free Software Foundation, either version 3 of the - * License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Affero General Public License for more details. - * - * You should have received a copy of the GNU Affero General Public License - * along with this program. If not, see . - */ -package org.neo4j.util; - -import java.io.File; -import java.util.ArrayList; -import java.util.Arrays; -import java.util.List; - -import org.neo4j.commandline.admin.AdminTool; -import org.neo4j.helpers.AdvertisedSocketAddress; -import org.neo4j.helpers.HostnamePort; -import org.neo4j.io.proc.ProcessUtil; -import org.neo4j.kernel.configuration.Config; -import org.neo4j.kernel.impl.enterprise.configuration.OnlineBackupSettings; -import org.neo4j.kernel.impl.factory.GraphDatabaseFacade; -import org.neo4j.kernel.internal.GraphDatabaseAPI; -import org.neo4j.test.ProcessStreamHandler; -import org.neo4j.test.rule.DatabaseRule; -import org.neo4j.test.rule.EmbeddedDatabaseRule; - -import static java.lang.String.format; - -public class TestHelpers -{ - public static Exception executionIsExpectedToFail( Runnable runnable ) - { - return executionIsExpectedToFail( runnable, RuntimeException.class ); - } - - public static E executionIsExpectedToFail( Runnable runnable, Class exceptionClass ) - { - try - { - runnable.run(); - } - catch ( Exception e ) - { - if ( !exceptionClass.isInstance( e ) ) - { - throw new AssertionError( format( "Exception %s is not of type %s", e.getClass().getName(), exceptionClass.getName() ), e ); - } - return (E) e; - } - throw new AssertionError( "The code expected to fail hasn't failed" ); - } - - public static int runBackupToolFromOtherJvmToGetExitCode( File neo4jHome, String... args ) throws Exception - { - List allArgs = - new ArrayList<>( Arrays.asList( ProcessUtil.getJavaExecutable().toString(), "-cp", ProcessUtil.getClassPath(), AdminTool.class.getName() ) ); - allArgs.add( "backup" ); - allArgs.addAll( Arrays.asList( args ) ); - - ProcessBuilder processBuilder = new ProcessBuilder().command( allArgs.toArray( new String[allArgs.size()])); - processBuilder.environment().put( "NEO4J_HOME", neo4jHome.getAbsolutePath() ); - processBuilder.environment().put( "NEO4J_DEBUG", "anything_works" ); - Process process = processBuilder.start(); - return new ProcessStreamHandler( process, false ).waitForResult(); - } - - public static String backupAddress( GraphDatabaseAPI graphDatabase ) - { - HostnamePort hostnamePort = graphDatabase - .getDependencyResolver() - .resolveDependency( Config.class ) - .get( OnlineBackupSettings.online_backup_server ); - - return hostnamePort.toString(); - } - -} - diff --git a/enterprise/metrics/src/test/java/org/neo4j/metrics/BoltMetricsIT.java b/enterprise/metrics/src/test/java/org/neo4j/metrics/BoltMetricsIT.java index 6fce81e66bff9..0b43bd39b6158 100644 --- a/enterprise/metrics/src/test/java/org/neo4j/metrics/BoltMetricsIT.java +++ b/enterprise/metrics/src/test/java/org/neo4j/metrics/BoltMetricsIT.java @@ -26,6 +26,7 @@ import org.junit.Test; import org.junit.rules.TemporaryFolder; +import org.neo4j.backup.OnlineBackupSettings; import org.neo4j.bolt.v1.messaging.message.InitMessage; import org.neo4j.bolt.v1.transport.socket.client.SocketConnection; import org.neo4j.bolt.v1.transport.socket.client.TransportConnection; @@ -33,7 +34,6 @@ import org.neo4j.helpers.HostnamePort; import org.neo4j.kernel.configuration.BoltConnector; import org.neo4j.kernel.configuration.Settings; -import org.neo4j.kernel.impl.enterprise.configuration.OnlineBackupSettings; import org.neo4j.kernel.internal.GraphDatabaseAPI; import org.neo4j.test.TestGraphDatabaseFactory; diff --git a/enterprise/metrics/src/test/java/org/neo4j/metrics/MetricsKernelExtensionFactoryIT.java b/enterprise/metrics/src/test/java/org/neo4j/metrics/MetricsKernelExtensionFactoryIT.java index e485deab95b40..1cba1e37ee20c 100644 --- a/enterprise/metrics/src/test/java/org/neo4j/metrics/MetricsKernelExtensionFactoryIT.java +++ b/enterprise/metrics/src/test/java/org/neo4j/metrics/MetricsKernelExtensionFactoryIT.java @@ -28,6 +28,7 @@ import java.util.UUID; import java.util.concurrent.TimeUnit; +import org.neo4j.backup.OnlineBackupSettings; import org.neo4j.graphdb.GraphDatabaseService; import org.neo4j.graphdb.Label; import org.neo4j.graphdb.Node; @@ -37,7 +38,6 @@ import org.neo4j.graphdb.factory.GraphDatabaseSettings; import org.neo4j.kernel.configuration.Settings; import org.neo4j.kernel.ha.HighlyAvailableGraphDatabase; -import org.neo4j.kernel.impl.enterprise.configuration.OnlineBackupSettings; import org.neo4j.kernel.impl.factory.GraphDatabaseFacadeFactory; import org.neo4j.kernel.impl.transaction.log.TransactionIdStore; import org.neo4j.kernel.impl.transaction.log.checkpoint.CheckPointer; diff --git a/enterprise/metrics/src/test/java/org/neo4j/metrics/PageCacheMetricsIT.java b/enterprise/metrics/src/test/java/org/neo4j/metrics/PageCacheMetricsIT.java index 349e022b80db0..445dcae88df99 100644 --- a/enterprise/metrics/src/test/java/org/neo4j/metrics/PageCacheMetricsIT.java +++ b/enterprise/metrics/src/test/java/org/neo4j/metrics/PageCacheMetricsIT.java @@ -29,13 +29,13 @@ import java.io.File; +import org.neo4j.backup.OnlineBackupSettings; import org.neo4j.graphdb.GraphDatabaseService; import org.neo4j.graphdb.Label; import org.neo4j.graphdb.Node; import org.neo4j.graphdb.ResourceIterator; import org.neo4j.graphdb.Transaction; import org.neo4j.kernel.configuration.Settings; -import org.neo4j.kernel.impl.enterprise.configuration.OnlineBackupSettings; import org.neo4j.test.TestGraphDatabaseFactory; import org.neo4j.test.rule.TestDirectory; diff --git a/enterprise/neo4j-enterprise/src/test/java/org/neo4j/CompositeConstraintIT.java b/enterprise/neo4j-enterprise/src/test/java/org/neo4j/CompositeConstraintIT.java index 876ff67bab750..bb7e17d156061 100644 --- a/enterprise/neo4j-enterprise/src/test/java/org/neo4j/CompositeConstraintIT.java +++ b/enterprise/neo4j-enterprise/src/test/java/org/neo4j/CompositeConstraintIT.java @@ -26,6 +26,7 @@ import org.junit.Rule; import org.junit.Test; +import org.neo4j.backup.OnlineBackupSettings; import org.neo4j.consistency.ConsistencyCheckService; import org.neo4j.consistency.ConsistencyCheckTool; import org.neo4j.graphdb.GraphDatabaseService; @@ -34,7 +35,6 @@ import org.neo4j.graphdb.Transaction; import org.neo4j.graphdb.factory.EnterpriseGraphDatabaseFactory; import org.neo4j.kernel.configuration.Settings; -import org.neo4j.kernel.impl.enterprise.configuration.OnlineBackupSettings; import org.neo4j.test.rule.SuppressOutput; import org.neo4j.test.rule.TestDirectory; diff --git a/enterprise/neo4j-enterprise/src/test/java/org/neo4j/consistency/ConsistencyCheckServiceRecordFormatIT.java b/enterprise/neo4j-enterprise/src/test/java/org/neo4j/consistency/ConsistencyCheckServiceRecordFormatIT.java index f41e26ae4684f..bac561f140853 100644 --- a/enterprise/neo4j-enterprise/src/test/java/org/neo4j/consistency/ConsistencyCheckServiceRecordFormatIT.java +++ b/enterprise/neo4j-enterprise/src/test/java/org/neo4j/consistency/ConsistencyCheckServiceRecordFormatIT.java @@ -33,6 +33,7 @@ import java.util.List; import java.util.concurrent.ThreadLocalRandom; +import org.neo4j.backup.OnlineBackupSettings; import org.neo4j.graphdb.GraphDatabaseService; import org.neo4j.graphdb.Label; import org.neo4j.graphdb.Node; @@ -42,7 +43,6 @@ import org.neo4j.helpers.progress.ProgressMonitorFactory; import org.neo4j.kernel.configuration.Config; import org.neo4j.kernel.configuration.Settings; -import org.neo4j.kernel.impl.enterprise.configuration.OnlineBackupSettings; import org.neo4j.kernel.impl.store.format.highlimit.HighLimit; import org.neo4j.kernel.impl.store.format.standard.Standard; import org.neo4j.kernel.internal.GraphDatabaseAPI; diff --git a/enterprise/neo4j-enterprise/src/test/java/org/neo4j/index/StartOnExistingDbWithIndexIT.java b/enterprise/neo4j-enterprise/src/test/java/org/neo4j/index/StartOnExistingDbWithIndexIT.java index f2963727a9bb5..de06e767c9bc0 100644 --- a/enterprise/neo4j-enterprise/src/test/java/org/neo4j/index/StartOnExistingDbWithIndexIT.java +++ b/enterprise/neo4j-enterprise/src/test/java/org/neo4j/index/StartOnExistingDbWithIndexIT.java @@ -24,11 +24,11 @@ import java.util.concurrent.TimeUnit; +import org.neo4j.backup.OnlineBackupSettings; import org.neo4j.graphdb.GraphDatabaseService; import org.neo4j.graphdb.Label; import org.neo4j.graphdb.Transaction; import org.neo4j.kernel.configuration.Settings; -import org.neo4j.kernel.impl.enterprise.configuration.OnlineBackupSettings; import org.neo4j.logging.AssertableLogProvider; import org.neo4j.logging.LogProvider; import org.neo4j.test.TestEnterpriseGraphDatabaseFactory; diff --git a/enterprise/neo4j-enterprise/src/test/java/org/neo4j/kernel/builtinprocs/ProcedureResourcesIT.java b/enterprise/neo4j-enterprise/src/test/java/org/neo4j/kernel/builtinprocs/ProcedureResourcesIT.java index 3ccb605353dd0..e78f63034e0e3 100644 --- a/enterprise/neo4j-enterprise/src/test/java/org/neo4j/kernel/builtinprocs/ProcedureResourcesIT.java +++ b/enterprise/neo4j-enterprise/src/test/java/org/neo4j/kernel/builtinprocs/ProcedureResourcesIT.java @@ -33,6 +33,7 @@ import java.util.concurrent.Future; import java.util.concurrent.TimeUnit; +import org.neo4j.backup.OnlineBackupSettings; import org.neo4j.graphdb.Label; import org.neo4j.graphdb.Node; import org.neo4j.graphdb.RelationshipType; @@ -40,7 +41,6 @@ import org.neo4j.graphdb.Transaction; import org.neo4j.kernel.api.proc.ProcedureSignature; import org.neo4j.kernel.configuration.Settings; -import org.neo4j.kernel.impl.enterprise.configuration.OnlineBackupSettings; import org.neo4j.kernel.impl.proc.Procedures; import org.neo4j.test.rule.DatabaseRule; import org.neo4j.test.rule.EnterpriseDatabaseRule; diff --git a/enterprise/neo4j-enterprise/src/test/java/org/neo4j/unsafe/batchinsert/BatchInsertEnterpriseIT.java b/enterprise/neo4j-enterprise/src/test/java/org/neo4j/unsafe/batchinsert/BatchInsertEnterpriseIT.java index b053c3699eded..e0ba0947e0ff2 100644 --- a/enterprise/neo4j-enterprise/src/test/java/org/neo4j/unsafe/batchinsert/BatchInsertEnterpriseIT.java +++ b/enterprise/neo4j-enterprise/src/test/java/org/neo4j/unsafe/batchinsert/BatchInsertEnterpriseIT.java @@ -32,6 +32,7 @@ import java.util.List; import java.util.Map; +import org.neo4j.backup.OnlineBackupSettings; import org.neo4j.graphdb.GraphDatabaseService; import org.neo4j.graphdb.Label; import org.neo4j.graphdb.Node; @@ -42,7 +43,6 @@ import org.neo4j.helpers.collection.Iterables; import org.neo4j.kernel.configuration.Settings; import org.neo4j.kernel.impl.MyRelTypes; -import org.neo4j.kernel.impl.enterprise.configuration.OnlineBackupSettings; import org.neo4j.kernel.impl.store.format.highlimit.HighLimit; import org.neo4j.kernel.impl.store.format.standard.Standard; import org.neo4j.test.rule.TestDirectory; diff --git a/enterprise/neo4j-enterprise/src/test/java/org/neo4j/upgrade/RecordFormatsMigrationIT.java b/enterprise/neo4j-enterprise/src/test/java/org/neo4j/upgrade/RecordFormatsMigrationIT.java index 6bf2422d9c2f8..b11bdce3cad70 100644 --- a/enterprise/neo4j-enterprise/src/test/java/org/neo4j/upgrade/RecordFormatsMigrationIT.java +++ b/enterprise/neo4j-enterprise/src/test/java/org/neo4j/upgrade/RecordFormatsMigrationIT.java @@ -26,6 +26,7 @@ import java.io.IOException; import java.util.function.Consumer; +import org.neo4j.backup.OnlineBackupSettings; import org.neo4j.graphdb.GraphDatabaseService; import org.neo4j.graphdb.Label; import org.neo4j.graphdb.Node; @@ -35,7 +36,6 @@ import org.neo4j.io.pagecache.PageCache; import org.neo4j.kernel.configuration.Config; import org.neo4j.kernel.configuration.Settings; -import org.neo4j.kernel.impl.enterprise.configuration.OnlineBackupSettings; import org.neo4j.kernel.impl.pagecache.ConfigurableStandalonePageCacheFactory; import org.neo4j.kernel.impl.store.format.RecordFormatSelector; import org.neo4j.kernel.impl.store.format.RecordFormats; diff --git a/enterprise/neo4j-harness-enterprise/src/main/java/org/neo4j/harness/CausalClusterInProcessRunner.java b/enterprise/neo4j-harness-enterprise/src/main/java/org/neo4j/harness/CausalClusterInProcessRunner.java index ee683c6b9eb5c..0d2f465521e82 100644 --- a/enterprise/neo4j-harness-enterprise/src/main/java/org/neo4j/harness/CausalClusterInProcessRunner.java +++ b/enterprise/neo4j-harness-enterprise/src/main/java/org/neo4j/harness/CausalClusterInProcessRunner.java @@ -28,14 +28,14 @@ import java.util.List; import java.util.concurrent.ExecutionException; +import org.neo4j.backup.OnlineBackupSettings; import org.neo4j.causalclustering.core.CausalClusteringSettings; +import org.neo4j.cluster.ClusterSettings; import org.neo4j.graphdb.factory.GraphDatabaseSettings; import org.neo4j.harness.internal.EnterpriseInProcessServerBuilder; import org.neo4j.kernel.configuration.BoltConnector; import org.neo4j.kernel.configuration.HttpConnector; import org.neo4j.kernel.configuration.Settings; -import org.neo4j.kernel.impl.enterprise.configuration.EnterpriseEditionSettings; -import org.neo4j.kernel.impl.enterprise.configuration.OnlineBackupSettings; import org.neo4j.logging.Log; import org.neo4j.logging.LogProvider; import org.neo4j.server.configuration.ServerSettings; @@ -193,7 +193,7 @@ void boot() throws IOException, InterruptedException builder.withConfig( GraphDatabaseSettings.neo4j_home.name(), homePath ); builder.withConfig( GraphDatabaseSettings.pagecache_memory.name(), "8m" ); - builder.withConfig( EnterpriseEditionSettings.mode.name(), EnterpriseEditionSettings.Mode.CORE.name() ); + builder.withConfig( ClusterSettings.mode.name(), ClusterSettings.Mode.CORE.name() ); builder.withConfig( CausalClusteringSettings.multi_dc_license.name(), "true" ); builder.withConfig( CausalClusteringSettings.initial_discovery_members.name(), String.join( ",", initialMembers ) ); @@ -238,7 +238,7 @@ void boot() throws IOException, InterruptedException builder.withConfig( GraphDatabaseSettings.neo4j_home.name(), homePath ); builder.withConfig( GraphDatabaseSettings.pagecache_memory.name(), "8m" ); - builder.withConfig( EnterpriseEditionSettings.mode.name(), EnterpriseEditionSettings.Mode.READ_REPLICA.name() ); + builder.withConfig( ClusterSettings.mode.name(), ClusterSettings.Mode.READ_REPLICA.name() ); builder.withConfig( CausalClusteringSettings.initial_discovery_members.name(), String.join( ",", initialMembers ) ); builder.withConfig( CausalClusteringSettings.transaction_listen_address.name(), specifyPortOnly( txPort ) ); diff --git a/enterprise/neo4j-harness-enterprise/src/test/java/org/neo4j/harness/internal/EnterpriseInProcessServerBuilderIT.java b/enterprise/neo4j-harness-enterprise/src/test/java/org/neo4j/harness/internal/EnterpriseInProcessServerBuilderIT.java index 6dbf200d451f0..af695e4f1db29 100644 --- a/enterprise/neo4j-harness-enterprise/src/test/java/org/neo4j/harness/internal/EnterpriseInProcessServerBuilderIT.java +++ b/enterprise/neo4j-harness-enterprise/src/test/java/org/neo4j/harness/internal/EnterpriseInProcessServerBuilderIT.java @@ -25,12 +25,12 @@ import java.io.File; import java.util.Arrays; +import org.neo4j.backup.OnlineBackupSettings; import org.neo4j.harness.EnterpriseTestServerBuilders; import org.neo4j.harness.ServerControls; import org.neo4j.harness.TestServerBuilder; import org.neo4j.kernel.configuration.Settings; import org.neo4j.kernel.configuration.ssl.LegacySslPolicyConfig; -import org.neo4j.kernel.impl.enterprise.configuration.OnlineBackupSettings; import org.neo4j.server.ServerTestUtils; import org.neo4j.test.rule.SuppressOutput; import org.neo4j.test.rule.TestDirectory; diff --git a/enterprise/neo4j-harness-enterprise/src/test/java/org/neo4j/harness/junit/EnterpriseNeo4jRuleTest.java b/enterprise/neo4j-harness-enterprise/src/test/java/org/neo4j/harness/junit/EnterpriseNeo4jRuleTest.java index 7f927d589c332..39576c0441084 100644 --- a/enterprise/neo4j-harness-enterprise/src/test/java/org/neo4j/harness/junit/EnterpriseNeo4jRuleTest.java +++ b/enterprise/neo4j-harness-enterprise/src/test/java/org/neo4j/harness/junit/EnterpriseNeo4jRuleTest.java @@ -23,10 +23,10 @@ import org.junit.Rule; import org.junit.Test; +import org.neo4j.backup.OnlineBackupSettings; import org.neo4j.harness.extensionpackage.MyEnterpriseUnmanagedExtension; import org.neo4j.kernel.configuration.Settings; import org.neo4j.kernel.configuration.ssl.LegacySslPolicyConfig; -import org.neo4j.kernel.impl.enterprise.configuration.OnlineBackupSettings; import org.neo4j.test.rule.SuppressOutput; import org.neo4j.test.server.HTTP; diff --git a/enterprise/server-enterprise/src/main/java/org/neo4j/server/enterprise/EnterpriseNeoServer.java b/enterprise/server-enterprise/src/main/java/org/neo4j/server/enterprise/EnterpriseNeoServer.java index 58b60b9aa5a6d..7c9aea7415132 100644 --- a/enterprise/server-enterprise/src/main/java/org/neo4j/server/enterprise/EnterpriseNeoServer.java +++ b/enterprise/server-enterprise/src/main/java/org/neo4j/server/enterprise/EnterpriseNeoServer.java @@ -30,6 +30,8 @@ import org.neo4j.causalclustering.core.CausalClusteringSettings; import org.neo4j.causalclustering.core.CoreGraphDatabase; import org.neo4j.causalclustering.readreplica.ReadReplicaGraphDatabase; +import org.neo4j.cluster.ClusterSettings; +import org.neo4j.cluster.ClusterSettings.Mode; import org.neo4j.dbms.DatabaseManagementSystemSettings; import org.neo4j.helpers.collection.Iterables; import org.neo4j.kernel.configuration.Config; @@ -37,8 +39,6 @@ import org.neo4j.kernel.ha.HaSettings; import org.neo4j.kernel.ha.HighlyAvailableGraphDatabase; import org.neo4j.kernel.impl.factory.GraphDatabaseFacadeFactory; -import org.neo4j.kernel.impl.enterprise.configuration.EnterpriseEditionSettings; -import org.neo4j.kernel.impl.enterprise.configuration.EnterpriseEditionSettings.Mode; import org.neo4j.kernel.impl.factory.GraphDatabaseFacadeFactory.Dependencies; import org.neo4j.kernel.impl.util.UnsatisfiedDependencyException; import org.neo4j.logging.LogProvider; @@ -100,7 +100,7 @@ public EnterpriseNeoServer( Config config, Database.Factory dbFactory, GraphData protected static Database.Factory createDbFactory( Config config ) { - final Mode mode = config.get( EnterpriseEditionSettings.mode ); + final Mode mode = config.get( ClusterSettings.mode ); switch ( mode ) { diff --git a/enterprise/server-enterprise/src/test/java/org/neo4j/server/enterprise/EnterpriseBootstrapperTestIT.java b/enterprise/server-enterprise/src/test/java/org/neo4j/server/enterprise/EnterpriseBootstrapperTestIT.java index 3cde3648f8ecf..c6b290466a306 100644 --- a/enterprise/server-enterprise/src/test/java/org/neo4j/server/enterprise/EnterpriseBootstrapperTestIT.java +++ b/enterprise/server-enterprise/src/test/java/org/neo4j/server/enterprise/EnterpriseBootstrapperTestIT.java @@ -28,12 +28,11 @@ import java.util.Map; import java.util.concurrent.TimeUnit; +import org.neo4j.backup.OnlineBackupSettings; import org.neo4j.cluster.ClusterSettings; import org.neo4j.com.ports.allocation.PortAuthority; import org.neo4j.kernel.GraphDatabaseDependencies; import org.neo4j.kernel.configuration.Config; -import org.neo4j.kernel.impl.enterprise.configuration.EnterpriseEditionSettings; -import org.neo4j.kernel.impl.enterprise.configuration.OnlineBackupSettings; import org.neo4j.logging.LogProvider; import org.neo4j.server.BaseBootstrapperTestIT; import org.neo4j.server.NeoServer; @@ -74,7 +73,7 @@ public void shouldBeAbleToStartInSingleMode() throws Exception // When int resultCode = ServerBootstrapper.start( bootstrapper, "--home-dir", tempDir.newFolder( "home-dir" ).getAbsolutePath(), - "-c", configOption( EnterpriseEditionSettings.mode, "SINGLE" ), + "-c", configOption( ClusterSettings.mode, "SINGLE" ), "-c", configOption( data_directory, getRelativePath( folder.getRoot(), data_directory ) ), "-c", configOption( logs_directory, tempDir.getRoot().getAbsolutePath() ), "-c", configOption( certificates_directory, getRelativePath( folder.getRoot(), certificates_directory ) ), @@ -95,7 +94,7 @@ public void shouldBeAbleToStartInHAMode() throws Exception int clusterPort = PortAuthority.allocatePort(); int resultCode = ServerBootstrapper.start( bootstrapper, "--home-dir", tempDir.newFolder( "home-dir" ).getAbsolutePath(), - "-c", configOption( EnterpriseEditionSettings.mode, "HA" ), + "-c", configOption( ClusterSettings.mode, "HA" ), "-c", configOption( ClusterSettings.server_id, "1" ), "-c", configOption( ClusterSettings.initial_hosts, "127.0.0.1:" + clusterPort ), "-c", configOption( ClusterSettings.cluster_server, "127.0.0.1:" + clusterPort ), diff --git a/enterprise/server-enterprise/src/test/java/org/neo4j/server/enterprise/functional/EnterpriseServerIT.java b/enterprise/server-enterprise/src/test/java/org/neo4j/server/enterprise/functional/EnterpriseServerIT.java index d418ddfb51ba6..19fd1af1fc41d 100644 --- a/enterprise/server-enterprise/src/test/java/org/neo4j/server/enterprise/functional/EnterpriseServerIT.java +++ b/enterprise/server-enterprise/src/test/java/org/neo4j/server/enterprise/functional/EnterpriseServerIT.java @@ -41,7 +41,7 @@ import static org.junit.Assert.assertThat; import static org.neo4j.cluster.ClusterSettings.cluster_server; import static org.neo4j.cluster.ClusterSettings.initial_hosts; -import static org.neo4j.kernel.impl.enterprise.configuration.EnterpriseEditionSettings.mode; +import static org.neo4j.cluster.ClusterSettings.mode; import static org.neo4j.cluster.ClusterSettings.server_id; public class EnterpriseServerIT diff --git a/enterprise/server-enterprise/src/test/java/org/neo4j/server/enterprise/helpers/EnterpriseServerBuilder.java b/enterprise/server-enterprise/src/test/java/org/neo4j/server/enterprise/helpers/EnterpriseServerBuilder.java index 7cbd104e0053e..85c36e94db285 100644 --- a/enterprise/server-enterprise/src/test/java/org/neo4j/server/enterprise/helpers/EnterpriseServerBuilder.java +++ b/enterprise/server-enterprise/src/test/java/org/neo4j/server/enterprise/helpers/EnterpriseServerBuilder.java @@ -23,10 +23,10 @@ import java.io.IOException; import java.util.Map; +import org.neo4j.backup.OnlineBackupSettings; import org.neo4j.com.ports.allocation.PortAuthority; import org.neo4j.kernel.configuration.BoltConnector; import org.neo4j.kernel.configuration.Config; -import org.neo4j.kernel.impl.enterprise.configuration.OnlineBackupSettings; import org.neo4j.kernel.impl.factory.GraphDatabaseFacadeFactory; import org.neo4j.logging.LogProvider; import org.neo4j.logging.NullLogProvider; diff --git a/stresstests/src/test/java/org/neo4j/backup/BackupHelper.java b/stresstests/src/test/java/org/neo4j/backup/BackupHelper.java index edcb87aca7b1c..8c2c267496674 100644 --- a/stresstests/src/test/java/org/neo4j/backup/BackupHelper.java +++ b/stresstests/src/test/java/org/neo4j/backup/BackupHelper.java @@ -54,8 +54,8 @@ public static BackupResult backup( String host, int port, File targetDirectory ) boolean failure = false; try { - BackupProtocolService backupProtocolService = new BackupProtocolService( outputStream ); - BackupOutcome backupOutcome = backupProtocolService.doIncrementalBackupOrFallbackToFull( host, port, + BackupService backupService = new BackupService( outputStream ); + BackupService.BackupOutcome backupOutcome = backupService.doIncrementalBackupOrFallbackToFull( host, port, targetDirectory, ConsistencyCheck.FULL, Config.defaults(), BackupClient.BIG_READ_TIMEOUT, false ); consistent = backupOutcome.isConsistent(); diff --git a/stresstests/src/test/java/org/neo4j/causalclustering/stresstests/ClusterConfiguration.java b/stresstests/src/test/java/org/neo4j/causalclustering/stresstests/ClusterConfiguration.java index 90e22bb7975cd..1201a5710ef64 100644 --- a/stresstests/src/test/java/org/neo4j/causalclustering/stresstests/ClusterConfiguration.java +++ b/stresstests/src/test/java/org/neo4j/causalclustering/stresstests/ClusterConfiguration.java @@ -22,9 +22,9 @@ import java.util.Map; import java.util.function.IntFunction; +import org.neo4j.backup.OnlineBackupSettings; import org.neo4j.causalclustering.core.CausalClusteringSettings; import org.neo4j.helpers.SocketAddress; -import org.neo4j.kernel.impl.enterprise.configuration.OnlineBackupSettings; import org.neo4j.kernel.configuration.Settings; import static org.neo4j.kernel.configuration.Settings.TRUE; diff --git a/stresstests/src/test/java/org/neo4j/helper/DatabaseConfiguration.java b/stresstests/src/test/java/org/neo4j/helper/DatabaseConfiguration.java index 2e36aebd39101..3b61998adf1a1 100644 --- a/stresstests/src/test/java/org/neo4j/helper/DatabaseConfiguration.java +++ b/stresstests/src/test/java/org/neo4j/helper/DatabaseConfiguration.java @@ -21,8 +21,8 @@ import java.util.Map; +import org.neo4j.backup.OnlineBackupSettings; import org.neo4j.graphdb.factory.GraphDatabaseSettings; -import org.neo4j.kernel.impl.enterprise.configuration.OnlineBackupSettings; import static org.neo4j.kernel.configuration.Settings.TRUE;