Search in sources :

Example 6 with Config

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

the class ConfigurableStandalonePageCacheFactory method createPageCache.

/**
     * Create page cache
     * @param fileSystem file system that page cache will be based on
     * @param pageCacheTracer global page cache tracer
     * @param pageCursorTracerSupplier supplier of thread local (transaction local) page cursor tracer that will provide
     * thread local page cache statistics
     * @param config page cache configuration
     * @return created page cache instance
     */
public static PageCache createPageCache(FileSystemAbstraction fileSystem, PageCacheTracer pageCacheTracer, PageCursorTracerSupplier pageCursorTracerSupplier, Config config) {
    Config finalConfig = config.withDefaults(MapUtil.stringMap(GraphDatabaseSettings.pagecache_memory.name(), "8M"));
    FormattedLogProvider logProvider = FormattedLogProvider.toOutputStream(System.err);
    ConfiguringPageCacheFactory pageCacheFactory = new ConfiguringPageCacheFactory(fileSystem, finalConfig, pageCacheTracer, pageCursorTracerSupplier, logProvider.getLog(PageCache.class));
    return pageCacheFactory.getOrCreatePageCache();
}
Also used : Config(org.neo4j.kernel.configuration.Config) PageCache(org.neo4j.io.pagecache.PageCache) FormattedLogProvider(org.neo4j.logging.FormattedLogProvider)

Example 7 with Config

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

the class FileURLAccessRuleTest method shouldThrowWhenRelativePathIsOutsideImportDirectory.

@Test
public void shouldThrowWhenRelativePathIsOutsideImportDirectory() throws Exception {
    File importDir = new File("/tmp/neo4jtest").getAbsoluteFile();
    final Config config = Config.embeddedDefaults(MapUtil.stringMap(GraphDatabaseSettings.load_csv_file_url_root.name(), importDir.toString()));
    try {
        URLAccessRules.fileAccess().validate(config, new URL("file:///../baz.csv"));
        fail("expected exception not thrown ");
    } catch (URLAccessValidationError error) {
        assertThat(error.getMessage(), equalTo("file URL points outside configured import directory"));
    }
}
Also used : Config(org.neo4j.kernel.configuration.Config) File(java.io.File) URL(java.net.URL) URLAccessValidationError(org.neo4j.graphdb.security.URLAccessValidationError) Test(org.junit.Test)

Example 8 with Config

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

the class FileURLAccessRuleTest method shouldThrowWhenFileAccessIsDisabled.

@Test
public void shouldThrowWhenFileAccessIsDisabled() throws Exception {
    final URL url = new URL("file:///bar/baz.csv");
    final Config config = Config.embeddedDefaults(MapUtil.stringMap(GraphDatabaseSettings.allow_file_urls.name(), "false"));
    try {
        URLAccessRules.fileAccess().validate(config, url);
        fail("expected exception not thrown ");
    } catch (URLAccessValidationError error) {
        assertThat(error.getMessage(), equalTo("configuration property 'dbms.security.allow_csv_import_from_file_urls' is false"));
    }
}
Also used : Config(org.neo4j.kernel.configuration.Config) URL(java.net.URL) URLAccessValidationError(org.neo4j.graphdb.security.URLAccessValidationError) Test(org.junit.Test)

Example 9 with Config

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

the class FileURLAccessRuleTest method shouldAdjustURLToWithinImportDirectory.

@Test
public void shouldAdjustURLToWithinImportDirectory() throws Exception {
    final URL url = new File("/bar/baz.csv").toURI().toURL();
    final Config config = Config.embeddedDefaults(MapUtil.stringMap(GraphDatabaseSettings.load_csv_file_url_root.name(), "/var/lib/neo4j/import"));
    URL accessURL = URLAccessRules.fileAccess().validate(config, url);
    URL expected = new File("/var/lib/neo4j/import/bar/baz.csv").toURI().toURL();
    assertEquals(expected, accessURL);
}
Also used : Config(org.neo4j.kernel.configuration.Config) File(java.io.File) URL(java.net.URL) Test(org.junit.Test)

Example 10 with Config

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

the class ConfiguringPageCacheFactoryTest method mustIgnoreExplicitlySpecifiedCachePageSizeIfPageSwapperHintIsStrict.

@Test
public void mustIgnoreExplicitlySpecifiedCachePageSizeIfPageSwapperHintIsStrict() throws Exception {
    // Given
    int cachePageSizeHint = 16 * 1024;
    PageSwapperFactoryForTesting.cachePageSizeHint.set(cachePageSizeHint);
    PageSwapperFactoryForTesting.cachePageSizeHintIsStrict.set(true);
    Config config = Config.embeddedDefaults(stringMap(GraphDatabaseSettings.pagecache_swapper.name(), TEST_PAGESWAPPER_NAME));
    // When
    ConfiguringPageCacheFactory factory = new ConfiguringPageCacheFactory(fsRule.get(), config, PageCacheTracer.NULL, PageCursorTracerSupplier.NULL, NullLog.getInstance());
    // Then
    try (PageCache cache = factory.getOrCreatePageCache()) {
        assertThat(cache.pageSize(), is(cachePageSizeHint));
    }
}
Also used : Config(org.neo4j.kernel.configuration.Config) PageCache(org.neo4j.io.pagecache.PageCache) Test(org.junit.Test)

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