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));
}
}
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);
}
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());
}
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();
}
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);
}
Aggregations