From 7c60a753d1f96b9ebdd10518a65662369bba3aa1 Mon Sep 17 00:00:00 2001 From: MishaDemianenko Date: Fri, 30 Dec 2016 16:05:18 +0100 Subject: [PATCH] Move PageCacheRule and StandalonePageCacheFactory into io module --- .../neo4j/commandline/dbms/VersionCommand.java | 2 +- .../impl/muninn}/StandalonePageCacheFactory.java | 15 +++++++++------ .../java/org/neo4j/test/rule/PageCacheRule.java | 3 +-- .../ConfigurableStandalonePageCacheFactory.java | 12 ++++-------- ...onfigurableStandalonePageCacheFactoryTest.java | 1 + .../test/rule/ConfigurablePageCacheRule.java | 2 +- .../src/test/java/db/DatabaseStartupTest.java | 2 +- .../test/java/org/neo4j/backup/BackupToolIT.java | 2 +- .../org/neo4j/causalclustering/TestStoreId.java | 2 +- .../scenarios/ClusterIdentityIT.java | 2 +- .../scenarios/ReadReplicaReplicationIT.java | 2 +- .../test/java/org/neo4j/test/ha/ClusterTest.java | 2 +- .../stresstests/StartStopLoad.java | 2 +- .../tools/applytx/ApplyTransactionsCommand.java | 2 +- .../org/neo4j/tools/dump/DumpCountsStore.java | 2 +- .../main/java/org/neo4j/tools/dump/DumpStore.java | 2 +- .../java/org/neo4j/tools/dump/DumpStoreChain.java | 2 +- .../org/neo4j/tools/rebuild/RebuildFromLogs.java | 2 +- .../tools/applytx/DatabaseRebuildToolTest.java | 2 +- 19 files changed, 30 insertions(+), 31 deletions(-) rename community/{kernel/src/main/java/org/neo4j/kernel/impl/pagecache => io/src/main/java/org/neo4j/io/pagecache/impl/muninn}/StandalonePageCacheFactory.java (80%) rename community/{kernel => io}/src/test/java/org/neo4j/test/rule/PageCacheRule.java (98%) diff --git a/community/dbms/src/main/java/org/neo4j/commandline/dbms/VersionCommand.java b/community/dbms/src/main/java/org/neo4j/commandline/dbms/VersionCommand.java index cf8384d8f4174..f49d6a0de064d 100644 --- a/community/dbms/src/main/java/org/neo4j/commandline/dbms/VersionCommand.java +++ b/community/dbms/src/main/java/org/neo4j/commandline/dbms/VersionCommand.java @@ -31,7 +31,7 @@ import org.neo4j.commandline.arguments.common.MandatoryCanonicalPath; import org.neo4j.io.fs.DefaultFileSystemAbstraction; import org.neo4j.io.pagecache.PageCache; -import org.neo4j.kernel.impl.pagecache.StandalonePageCacheFactory; +import org.neo4j.io.pagecache.impl.muninn.StandalonePageCacheFactory; import org.neo4j.kernel.impl.store.MetaDataStore; import org.neo4j.kernel.impl.store.format.RecordFormatSelector; import org.neo4j.kernel.impl.store.format.RecordFormats; diff --git a/community/kernel/src/main/java/org/neo4j/kernel/impl/pagecache/StandalonePageCacheFactory.java b/community/io/src/main/java/org/neo4j/io/pagecache/impl/muninn/StandalonePageCacheFactory.java similarity index 80% rename from community/kernel/src/main/java/org/neo4j/kernel/impl/pagecache/StandalonePageCacheFactory.java rename to community/io/src/main/java/org/neo4j/io/pagecache/impl/muninn/StandalonePageCacheFactory.java index 5163daf22a5c6..1761a35d07468 100644 --- a/community/kernel/src/main/java/org/neo4j/kernel/impl/pagecache/StandalonePageCacheFactory.java +++ b/community/io/src/main/java/org/neo4j/io/pagecache/impl/muninn/StandalonePageCacheFactory.java @@ -17,20 +17,23 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package org.neo4j.kernel.impl.pagecache; +package org.neo4j.io.pagecache.impl.muninn; import org.neo4j.io.ByteUnit; import org.neo4j.io.fs.FileSystemAbstraction; import org.neo4j.io.pagecache.PageCache; import org.neo4j.io.pagecache.impl.SingleFilePageSwapperFactory; -import org.neo4j.io.pagecache.impl.muninn.MuninnPageCache; import org.neo4j.io.pagecache.tracing.PageCacheTracer; -public final class StandalonePageCacheFactory +/* + * This class is an helper to allow to construct properly a page cache in the few places we need it without all + * the graph database stuff, e.g., various store dump programs. + * + * All other places where a "proper" page cache is available, e.g. in store migration, should have that one injected. + * And tests should use the PageCacheRule. + */ +public class StandalonePageCacheFactory { - private StandalonePageCacheFactory() - { - } public static PageCache createPageCache( FileSystemAbstraction fileSystem ) { diff --git a/community/kernel/src/test/java/org/neo4j/test/rule/PageCacheRule.java b/community/io/src/test/java/org/neo4j/test/rule/PageCacheRule.java similarity index 98% rename from community/kernel/src/test/java/org/neo4j/test/rule/PageCacheRule.java rename to community/io/src/test/java/org/neo4j/test/rule/PageCacheRule.java index 502111b2fbd9d..15a368ecc870e 100644 --- a/community/kernel/src/test/java/org/neo4j/test/rule/PageCacheRule.java +++ b/community/io/src/test/java/org/neo4j/test/rule/PageCacheRule.java @@ -26,9 +26,8 @@ import org.neo4j.adversaries.pagecache.AdversarialPageCache; import org.neo4j.io.fs.FileSystemAbstraction; import org.neo4j.io.pagecache.PageCache; +import org.neo4j.io.pagecache.impl.muninn.StandalonePageCacheFactory; import org.neo4j.io.pagecache.tracing.PageCacheTracer; -import org.neo4j.kernel.impl.pagecache.StandalonePageCacheFactory; - public class PageCacheRule extends ExternalResource { diff --git a/community/kernel/src/main/java/org/neo4j/kernel/impl/pagecache/ConfigurableStandalonePageCacheFactory.java b/community/kernel/src/main/java/org/neo4j/kernel/impl/pagecache/ConfigurableStandalonePageCacheFactory.java index e850768169956..b464d4932ccc3 100644 --- a/community/kernel/src/main/java/org/neo4j/kernel/impl/pagecache/ConfigurableStandalonePageCacheFactory.java +++ b/community/kernel/src/main/java/org/neo4j/kernel/impl/pagecache/ConfigurableStandalonePageCacheFactory.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2002-2016 "Neo Technology," + * Copyright (c) 2002-2017 "Neo Technology," * Network Engine for Objects in Lund AB [http://neotechnology.com] * * This file is part of Neo4j. @@ -23,6 +23,7 @@ import org.neo4j.helpers.collection.MapUtil; import org.neo4j.io.fs.FileSystemAbstraction; import org.neo4j.io.pagecache.PageCache; +import org.neo4j.io.pagecache.impl.muninn.StandalonePageCacheFactory; import org.neo4j.io.pagecache.tracing.PageCacheTracer; import org.neo4j.kernel.configuration.Config; import org.neo4j.logging.FormattedLogProvider; @@ -32,20 +33,15 @@ * the graph database stuff, e.g., various store dump programs. * * All other places where a "proper" page cache is available, e.g. in store migration, should have that one injected. - * And tests should use the PageCacheRule. + * And tests should use the ConfigurablePageCacheRule. */ -public final class ConfigurableStandalonePageCacheFactory +public final class ConfigurableStandalonePageCacheFactory extends StandalonePageCacheFactory { private ConfigurableStandalonePageCacheFactory() { } - public static PageCache createPageCache( FileSystemAbstraction fileSystem ) - { - return createPageCache( fileSystem, Config.defaults() ); - } - public static PageCache createPageCache( FileSystemAbstraction fileSystem, Config config ) { return createPageCache( fileSystem, PageCacheTracer.NULL, config ); diff --git a/community/kernel/src/test/java/org/neo4j/kernel/impl/pagecache/ConfigurableStandalonePageCacheFactoryTest.java b/community/kernel/src/test/java/org/neo4j/kernel/impl/pagecache/ConfigurableStandalonePageCacheFactoryTest.java index 54fecfbca3058..9a6a1c73883f1 100644 --- a/community/kernel/src/test/java/org/neo4j/kernel/impl/pagecache/ConfigurableStandalonePageCacheFactoryTest.java +++ b/community/kernel/src/test/java/org/neo4j/kernel/impl/pagecache/ConfigurableStandalonePageCacheFactoryTest.java @@ -35,6 +35,7 @@ import org.neo4j.io.pagecache.PageCache; import org.neo4j.io.pagecache.PageCursor; import org.neo4j.io.pagecache.PagedFile; +import org.neo4j.io.pagecache.impl.muninn.StandalonePageCacheFactory; import static org.junit.Assert.assertTrue; diff --git a/community/kernel/src/test/java/org/neo4j/test/rule/ConfigurablePageCacheRule.java b/community/kernel/src/test/java/org/neo4j/test/rule/ConfigurablePageCacheRule.java index ceb7e2f0f231c..48f48a2cb0033 100644 --- a/community/kernel/src/test/java/org/neo4j/test/rule/ConfigurablePageCacheRule.java +++ b/community/kernel/src/test/java/org/neo4j/test/rule/ConfigurablePageCacheRule.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2002-2016 "Neo Technology," + * Copyright (c) 2002-2017 "Neo Technology," * Network Engine for Objects in Lund AB [http://neotechnology.com] * * This file is part of Neo4j. diff --git a/community/neo4j/src/test/java/db/DatabaseStartupTest.java b/community/neo4j/src/test/java/db/DatabaseStartupTest.java index 26a593ab9186b..96d0eb6ab02ef 100644 --- a/community/neo4j/src/test/java/db/DatabaseStartupTest.java +++ b/community/neo4j/src/test/java/db/DatabaseStartupTest.java @@ -30,7 +30,7 @@ import org.neo4j.io.fs.DefaultFileSystemAbstraction; import org.neo4j.io.fs.FileSystemAbstraction; import org.neo4j.io.pagecache.PageCache; -import org.neo4j.kernel.impl.pagecache.StandalonePageCacheFactory; +import org.neo4j.io.pagecache.impl.muninn.StandalonePageCacheFactory; import org.neo4j.kernel.impl.store.MetaDataStore; import org.neo4j.kernel.impl.storemigration.StoreUpgrader; import org.neo4j.kernel.impl.storemigration.UpgradeNotAllowedByConfigurationException; diff --git a/enterprise/backup/src/test/java/org/neo4j/backup/BackupToolIT.java b/enterprise/backup/src/test/java/org/neo4j/backup/BackupToolIT.java index 86a65c101f72b..1a8125dccc8cc 100644 --- a/enterprise/backup/src/test/java/org/neo4j/backup/BackupToolIT.java +++ b/enterprise/backup/src/test/java/org/neo4j/backup/BackupToolIT.java @@ -32,8 +32,8 @@ import org.neo4j.helpers.HostnamePort; import org.neo4j.io.fs.DefaultFileSystemAbstraction; import org.neo4j.io.pagecache.PageCache; +import org.neo4j.io.pagecache.impl.muninn.StandalonePageCacheFactory; import org.neo4j.kernel.configuration.Config; -import org.neo4j.kernel.impl.pagecache.StandalonePageCacheFactory; import org.neo4j.kernel.impl.store.MetaDataStore; import org.neo4j.kernel.impl.store.format.standard.StandardV2_3; import org.neo4j.test.rule.EmbeddedDatabaseRule; diff --git a/enterprise/causal-clustering/src/test/java/org/neo4j/causalclustering/TestStoreId.java b/enterprise/causal-clustering/src/test/java/org/neo4j/causalclustering/TestStoreId.java index 830a97cf0dbe8..a85d4ee3da02f 100644 --- a/enterprise/causal-clustering/src/test/java/org/neo4j/causalclustering/TestStoreId.java +++ b/enterprise/causal-clustering/src/test/java/org/neo4j/causalclustering/TestStoreId.java @@ -28,7 +28,7 @@ import org.neo4j.causalclustering.identity.StoreId; import org.neo4j.io.fs.FileSystemAbstraction; import org.neo4j.io.pagecache.PageCache; -import org.neo4j.kernel.impl.pagecache.StandalonePageCacheFactory; +import org.neo4j.io.pagecache.impl.muninn.StandalonePageCacheFactory; import org.neo4j.kernel.impl.store.MetaDataStore; import static org.junit.Assert.assertEquals; diff --git a/enterprise/causal-clustering/src/test/java/org/neo4j/causalclustering/scenarios/ClusterIdentityIT.java b/enterprise/causal-clustering/src/test/java/org/neo4j/causalclustering/scenarios/ClusterIdentityIT.java index 915126072f3f3..5dec73f1a9480 100644 --- a/enterprise/causal-clustering/src/test/java/org/neo4j/causalclustering/scenarios/ClusterIdentityIT.java +++ b/enterprise/causal-clustering/src/test/java/org/neo4j/causalclustering/scenarios/ClusterIdentityIT.java @@ -41,7 +41,7 @@ import org.neo4j.graphdb.Node; import org.neo4j.io.fs.FileSystemAbstraction; import org.neo4j.io.pagecache.PageCache; -import org.neo4j.kernel.impl.pagecache.StandalonePageCacheFactory; +import org.neo4j.io.pagecache.impl.muninn.StandalonePageCacheFactory; import org.neo4j.kernel.impl.store.MetaDataStore; import org.neo4j.kernel.lifecycle.LifecycleException; import org.neo4j.logging.NullLogProvider; diff --git a/enterprise/causal-clustering/src/test/java/org/neo4j/causalclustering/scenarios/ReadReplicaReplicationIT.java b/enterprise/causal-clustering/src/test/java/org/neo4j/causalclustering/scenarios/ReadReplicaReplicationIT.java index 271316b3fcbe7..e1dd3c2f7f62e 100644 --- a/enterprise/causal-clustering/src/test/java/org/neo4j/causalclustering/scenarios/ReadReplicaReplicationIT.java +++ b/enterprise/causal-clustering/src/test/java/org/neo4j/causalclustering/scenarios/ReadReplicaReplicationIT.java @@ -57,9 +57,9 @@ import org.neo4j.io.fs.FileSystemAbstraction; import org.neo4j.io.fs.FileUtils; import org.neo4j.io.pagecache.PageCache; +import org.neo4j.io.pagecache.impl.muninn.StandalonePageCacheFactory; import org.neo4j.kernel.impl.api.scan.LabelScanStoreProvider; import org.neo4j.kernel.impl.factory.GraphDatabaseFacade; -import org.neo4j.kernel.impl.pagecache.StandalonePageCacheFactory; import org.neo4j.kernel.impl.store.MetaDataStore; import org.neo4j.kernel.impl.store.format.highlimit.HighLimit; import org.neo4j.kernel.impl.store.format.standard.Standard; diff --git a/enterprise/ha/src/test/java/org/neo4j/test/ha/ClusterTest.java b/enterprise/ha/src/test/java/org/neo4j/test/ha/ClusterTest.java index 4ccc585b67a64..58a0a3e0e4158 100644 --- a/enterprise/ha/src/test/java/org/neo4j/test/ha/ClusterTest.java +++ b/enterprise/ha/src/test/java/org/neo4j/test/ha/ClusterTest.java @@ -59,11 +59,11 @@ import static org.junit.Assert.fail; import static org.neo4j.helpers.Exceptions.rootCause; import static org.neo4j.helpers.collection.MapUtil.stringMap; +import static org.neo4j.io.pagecache.impl.muninn.StandalonePageCacheFactory.createPageCache; import static org.neo4j.kernel.impl.ha.ClusterManager.allSeesAllAsAvailable; import static org.neo4j.kernel.impl.ha.ClusterManager.clusterOfSize; import static org.neo4j.kernel.impl.ha.ClusterManager.masterAvailable; import static org.neo4j.kernel.impl.ha.ClusterManager.masterSeesSlavesAsAvailable; -import static org.neo4j.kernel.impl.pagecache.StandalonePageCacheFactory.createPageCache; import static org.neo4j.kernel.impl.store.MetaDataStore.Position.LAST_TRANSACTION_COMMIT_TIMESTAMP; public class ClusterTest diff --git a/stresstests/src/test/java/org/neo4j/causalclustering/stresstests/StartStopLoad.java b/stresstests/src/test/java/org/neo4j/causalclustering/stresstests/StartStopLoad.java index a9071b728248e..3db9b70f3cb0e 100644 --- a/stresstests/src/test/java/org/neo4j/causalclustering/stresstests/StartStopLoad.java +++ b/stresstests/src/test/java/org/neo4j/causalclustering/stresstests/StartStopLoad.java @@ -30,9 +30,9 @@ import org.neo4j.consistency.ConsistencyCheckService; import org.neo4j.io.fs.FileSystemAbstraction; import org.neo4j.io.pagecache.PageCache; +import org.neo4j.io.pagecache.impl.muninn.StandalonePageCacheFactory; import org.neo4j.kernel.configuration.Config; import org.neo4j.kernel.extension.KernelExtensions; -import org.neo4j.kernel.impl.pagecache.StandalonePageCacheFactory; import static org.neo4j.consistency.ConsistencyCheckTool.runConsistencyCheckTool; diff --git a/tools/src/main/java/org/neo4j/tools/applytx/ApplyTransactionsCommand.java b/tools/src/main/java/org/neo4j/tools/applytx/ApplyTransactionsCommand.java index 2eb2818c54948..4fd36186f53ad 100644 --- a/tools/src/main/java/org/neo4j/tools/applytx/ApplyTransactionsCommand.java +++ b/tools/src/main/java/org/neo4j/tools/applytx/ApplyTransactionsCommand.java @@ -31,10 +31,10 @@ import org.neo4j.helpers.progress.ProgressListener; import org.neo4j.io.fs.DefaultFileSystemAbstraction; import org.neo4j.io.pagecache.PageCache; +import org.neo4j.io.pagecache.impl.muninn.StandalonePageCacheFactory; import org.neo4j.kernel.api.exceptions.TransactionFailureException; import org.neo4j.kernel.impl.api.TransactionRepresentationCommitProcess; import org.neo4j.kernel.impl.api.TransactionToApply; -import org.neo4j.kernel.impl.pagecache.StandalonePageCacheFactory; import org.neo4j.kernel.impl.transaction.CommittedTransactionRepresentation; import org.neo4j.kernel.impl.transaction.TransactionRepresentation; import org.neo4j.kernel.impl.transaction.log.LogicalTransactionStore; diff --git a/tools/src/main/java/org/neo4j/tools/dump/DumpCountsStore.java b/tools/src/main/java/org/neo4j/tools/dump/DumpCountsStore.java index 0a51dba81aa1d..d063033cd59dd 100644 --- a/tools/src/main/java/org/neo4j/tools/dump/DumpCountsStore.java +++ b/tools/src/main/java/org/neo4j/tools/dump/DumpCountsStore.java @@ -46,7 +46,7 @@ import org.neo4j.logging.NullLogProvider; import org.neo4j.storageengine.api.Token; -import static org.neo4j.kernel.impl.pagecache.StandalonePageCacheFactory.createPageCache; +import static org.neo4j.io.pagecache.impl.muninn.StandalonePageCacheFactory.createPageCache; /** * Tool that will dump content of count store content into a simple string representation for further analysis. diff --git a/tools/src/main/java/org/neo4j/tools/dump/DumpStore.java b/tools/src/main/java/org/neo4j/tools/dump/DumpStore.java index 8340cef16e250..b5ad79ba9b0e1 100644 --- a/tools/src/main/java/org/neo4j/tools/dump/DumpStore.java +++ b/tools/src/main/java/org/neo4j/tools/dump/DumpStore.java @@ -48,7 +48,7 @@ import org.neo4j.logging.PrintStreamLogger; import org.neo4j.storageengine.api.Token; -import static org.neo4j.kernel.impl.pagecache.StandalonePageCacheFactory.createPageCache; +import static org.neo4j.io.pagecache.impl.muninn.StandalonePageCacheFactory.createPageCache; import static org.neo4j.kernel.impl.store.record.RecordLoad.FORCE; /** diff --git a/tools/src/main/java/org/neo4j/tools/dump/DumpStoreChain.java b/tools/src/main/java/org/neo4j/tools/dump/DumpStoreChain.java index 950110a18280a..df091b630bc33 100644 --- a/tools/src/main/java/org/neo4j/tools/dump/DumpStoreChain.java +++ b/tools/src/main/java/org/neo4j/tools/dump/DumpStoreChain.java @@ -46,7 +46,7 @@ import org.neo4j.logging.LogProvider; import org.neo4j.logging.NullLogProvider; -import static org.neo4j.kernel.impl.pagecache.StandalonePageCacheFactory.createPageCache; +import static org.neo4j.io.pagecache.impl.muninn.StandalonePageCacheFactory.createPageCache; import static org.neo4j.kernel.impl.store.record.RecordLoad.FORCE; /** diff --git a/tools/src/main/java/org/neo4j/tools/rebuild/RebuildFromLogs.java b/tools/src/main/java/org/neo4j/tools/rebuild/RebuildFromLogs.java index 2d18ae9c63ec2..cf23e14d8d028 100644 --- a/tools/src/main/java/org/neo4j/tools/rebuild/RebuildFromLogs.java +++ b/tools/src/main/java/org/neo4j/tools/rebuild/RebuildFromLogs.java @@ -41,6 +41,7 @@ import org.neo4j.io.fs.DefaultFileSystemAbstraction; import org.neo4j.io.fs.FileSystemAbstraction; import org.neo4j.io.pagecache.PageCache; +import org.neo4j.io.pagecache.impl.muninn.StandalonePageCacheFactory; import org.neo4j.kernel.api.direct.DirectStoreAccess; import org.neo4j.kernel.api.index.SchemaIndexProvider; import org.neo4j.kernel.api.labelscan.LabelScanStore; @@ -48,7 +49,6 @@ import org.neo4j.kernel.impl.api.TransactionCommitProcess; import org.neo4j.kernel.impl.api.TransactionQueue; import org.neo4j.kernel.impl.api.TransactionToApply; -import org.neo4j.kernel.impl.pagecache.StandalonePageCacheFactory; import org.neo4j.kernel.impl.storageengine.impl.recordstorage.RecordStorageEngine; import org.neo4j.kernel.impl.store.MetaDataStore; import org.neo4j.kernel.impl.store.StoreAccess; diff --git a/tools/src/test/java/org/neo4j/tools/applytx/DatabaseRebuildToolTest.java b/tools/src/test/java/org/neo4j/tools/applytx/DatabaseRebuildToolTest.java index fce650c478634..eb944c2f884da 100644 --- a/tools/src/test/java/org/neo4j/tools/applytx/DatabaseRebuildToolTest.java +++ b/tools/src/test/java/org/neo4j/tools/applytx/DatabaseRebuildToolTest.java @@ -50,7 +50,7 @@ import static org.junit.Assert.assertThat; import static org.neo4j.graphdb.DynamicLabel.label; import static org.neo4j.graphdb.DynamicRelationshipType.withName; -import static org.neo4j.kernel.impl.pagecache.StandalonePageCacheFactory.createPageCache; +import static org.neo4j.io.pagecache.impl.muninn.StandalonePageCacheFactory.createPageCache; import static org.neo4j.tools.console.input.ConsoleUtil.NULL_PRINT_STREAM; public class DatabaseRebuildToolTest