Search in sources :

Example 11 with Config

use of org.neo4j.kernel.configuration.Config in project neo4j by neo4j.

the class ConfiguringPageCacheFactoryTest method shouldFitAsManyPagesAsItCan.

@Test
public void shouldFitAsManyPagesAsItCan() throws Throwable {
    // Given
    final int pageSize = 8192;
    final int maxPages = 60;
    Config config = Config.embeddedDefaults(stringMap(pagecache_memory.name(), Integer.toString(pageSize * maxPages)));
    // When
    ConfiguringPageCacheFactory factory = new ConfiguringPageCacheFactory(fsRule.get(), config, PageCacheTracer.NULL, PageCursorTracerSupplier.NULL, NullLog.getInstance());
    // Then
    try (PageCache cache = factory.getOrCreatePageCache()) {
        assertThat(cache.pageSize(), equalTo(pageSize));
        assertThat(cache.maxCachedPages(), equalTo(maxPages));
    }
}
Also used : Config(org.neo4j.kernel.configuration.Config) PageCache(org.neo4j.io.pagecache.PageCache) Test(org.junit.Test)

Example 12 with Config

use of org.neo4j.kernel.configuration.Config in project neo4j by neo4j.

the class ConfiguringPageCacheFactoryTest method mustUseAndLogConfiguredPageSwapper.

@Test
public void mustUseAndLogConfiguredPageSwapper() throws Exception {
    // Given
    Config config = Config.embeddedDefaults(stringMap(pagecache_memory.name(), "8m", pagecache_swapper.name(), TEST_PAGESWAPPER_NAME));
    AssertableLogProvider logProvider = new AssertableLogProvider();
    Log log = logProvider.getLog(PageCache.class);
    // When
    new ConfiguringPageCacheFactory(fsRule.get(), config, PageCacheTracer.NULL, PageCursorTracerSupplier.NULL, log);
    // Then
    assertThat(PageSwapperFactoryForTesting.countCreatedPageSwapperFactories(), is(1));
    assertThat(PageSwapperFactoryForTesting.countConfiguredPageSwapperFactories(), is(1));
    logProvider.assertContainsMessageContaining(TEST_PAGESWAPPER_NAME);
}
Also used : Log(org.neo4j.logging.Log) NullLog(org.neo4j.logging.NullLog) Config(org.neo4j.kernel.configuration.Config) AssertableLogProvider(org.neo4j.logging.AssertableLogProvider) Test(org.junit.Test)

Example 13 with Config

use of org.neo4j.kernel.configuration.Config in project neo4j by neo4j.

the class ConfiguringPageCacheFactoryTest method mustThrowIfConfiguredPageSwapperCannotBeFound.

@Test(expected = IllegalArgumentException.class)
public void mustThrowIfConfiguredPageSwapperCannotBeFound() throws Exception {
    // Given
    Config config = Config.embeddedDefaults(stringMap(pagecache_memory.name(), "8m", pagecache_swapper.name(), "non-existing"));
    // When
    new ConfiguringPageCacheFactory(fsRule.get(), config, PageCacheTracer.NULL, PageCursorTracerSupplier.NULL, NullLog.getInstance());
}
Also used : Config(org.neo4j.kernel.configuration.Config) Test(org.junit.Test)

Example 14 with Config

use of org.neo4j.kernel.configuration.Config in project neo4j by neo4j.

the class ConfigurablePageCacheRule method createPageCache.

private PageCache createPageCache(FileSystemAbstraction fs, PageCacheConfig pageCacheConfig, Config config) {
    PageCacheTracer tracer = selectConfig(baseConfig.tracer, pageCacheConfig.tracer, PageCacheTracer.NULL);
    PageCursorTracerSupplier cursorTracerSupplier = selectConfig(baseConfig.pageCursorTracerSupplier, pageCacheConfig.pageCursorTracerSupplier, DefaultPageCursorTracerSupplier.INSTANCE);
    Config finalConfig = config.withDefaults(MapUtil.stringMap(GraphDatabaseSettings.pagecache_memory.name(), "8M"));
    FormattedLogProvider logProvider = FormattedLogProvider.toOutputStream(System.err);
    ConfiguringPageCacheFactory pageCacheFactory = new ConfiguringPageCacheFactory(fs, finalConfig, tracer, cursorTracerSupplier, logProvider.getLog(PageCache.class)) {

        @Override
        public int calculatePageSize(Config config, PageSwapperFactory swapperFactory) {
            if (pageCacheConfig.pageSize != null) {
                return pageCacheConfig.pageSize;
            }
            return super.calculatePageSize(config, swapperFactory);
        }
    };
    return pageCacheFactory.getOrCreatePageCache();
}
Also used : PageSwapperFactory(org.neo4j.io.pagecache.PageSwapperFactory) PageCursorTracerSupplier(org.neo4j.io.pagecache.tracing.cursor.PageCursorTracerSupplier) DefaultPageCursorTracerSupplier(org.neo4j.io.pagecache.tracing.cursor.DefaultPageCursorTracerSupplier) Config(org.neo4j.kernel.configuration.Config) PageCacheTracer(org.neo4j.io.pagecache.tracing.PageCacheTracer) ConfiguringPageCacheFactory(org.neo4j.kernel.impl.pagecache.ConfiguringPageCacheFactory) PageCache(org.neo4j.io.pagecache.PageCache) FormattedLogProvider(org.neo4j.logging.FormattedLogProvider)

Example 15 with Config

use of org.neo4j.kernel.configuration.Config in project neo4j by neo4j.

the class NeoStoresRule method open.

public NeoStores open(FileSystemAbstraction fs, PageCache pageCache, RecordFormats format, String... config) throws IOException {
    assert neoStores == null : "Already opened";
    TestDirectory testDirectory = TestDirectory.testDirectory(testClass, fs);
    File storeDir = testDirectory.makeGraphDbDir();
    Config configuration = Config.embeddedDefaults(stringMap(config));
    StoreFactory storeFactory = new StoreFactory(storeDir, configuration, new DefaultIdGeneratorFactory(fs), pageCache, fs, format, NullLogProvider.getInstance());
    return neoStores = stores.length == 0 ? storeFactory.openAllNeoStores(true) : storeFactory.openNeoStores(true, stores);
}
Also used : Config(org.neo4j.kernel.configuration.Config) DefaultIdGeneratorFactory(org.neo4j.kernel.impl.store.id.DefaultIdGeneratorFactory) StoreFactory(org.neo4j.kernel.impl.store.StoreFactory) File(java.io.File)

Aggregations

Config (org.neo4j.kernel.configuration.Config)299 Test (org.junit.Test)220 File (java.io.File)74 PageCache (org.neo4j.io.pagecache.PageCache)38 FileSystemAbstraction (org.neo4j.io.fs.FileSystemAbstraction)29 InstanceId (org.neo4j.cluster.InstanceId)26 MultiPaxosContext (org.neo4j.cluster.protocol.atomicbroadcast.multipaxos.context.MultiPaxosContext)25 LogProvider (org.neo4j.logging.LogProvider)20 URI (java.net.URI)19 Executor (java.util.concurrent.Executor)19 ClusterConfiguration (org.neo4j.cluster.protocol.cluster.ClusterConfiguration)19 Timeouts (org.neo4j.cluster.timeout.Timeouts)19 HashMap (java.util.HashMap)18 ObjectInputStreamFactory (org.neo4j.cluster.protocol.atomicbroadcast.ObjectInputStreamFactory)17 ObjectOutputStreamFactory (org.neo4j.cluster.protocol.atomicbroadcast.ObjectOutputStreamFactory)17 AcceptorInstanceStore (org.neo4j.cluster.protocol.atomicbroadcast.multipaxos.AcceptorInstanceStore)17 DefaultIdGeneratorFactory (org.neo4j.kernel.impl.store.id.DefaultIdGeneratorFactory)17 IOException (java.io.IOException)16 BoltConnector (org.neo4j.kernel.configuration.BoltConnector)16 ListenSocketAddress (org.neo4j.helpers.ListenSocketAddress)15