public BatchingNeoStore( FileSystemAbstraction fileSystem, String storeDir, Configuration config, Monitor writeMonitor, Logging logging, WriterFactory writerFactory, Monitors monitors) { this.config = config; this.writeMonitor = writeMonitor; this.writerFactory = writerFactory; this.monitors = monitors; this.fileSystem = life.add(new ChannelReusingFileSystemAbstraction(fileSystem)); this.logger = logging.getMessagesLog(getClass()); this.neo4jConfig = configForStoreDir( new Config( stringMap(dense_node_threshold.name(), valueOf(config.denseNodeThreshold())), GraphDatabaseSettings.class), new File(storeDir)); this.neoStore = newBatchWritingNeoStore(); this.propertyKeyRepository = new BatchingPropertyKeyTokenRepository(neoStore.getPropertyKeyTokenStore()); this.labelRepository = new BatchingLabelTokenRepository(neoStore.getLabelTokenStore()); this.relationshipTypeRepository = new BatchingRelationshipTypeTokenRepository(neoStore.getRelationshipTypeTokenStore()); life.start(); }
private void shouldImportCsvData0(BatchingPageCache.WriterFactory delegateWriterFactory) throws Exception { // GIVEN Configuration config = new Configuration.Default() { @Override public int denseNodeThreshold() { return 30; } }; BatchImporter inserter = new ParallelBatchImporter( directory.getAbsolutePath(), new DefaultFileSystemAbstraction(), config, new DetailedExecutionMonitor(), new IoQueue(config.numberOfIoThreads(), delegateWriterFactory)); // WHEN int nodeCount = 100_000; int relationshipCount = nodeCount * 10; inserter.doImport( nodes(nodeCount), relationships(relationshipCount, nodeCount), IdMappers.actualIds()); inserter.shutdown(); // THEN GraphDatabaseService db = new GraphDatabaseFactory().newEmbeddedDatabase(directory.getAbsolutePath()); try (Transaction tx = db.beginTx()) { verifyData(nodeCount, db); tx.success(); } finally { db.shutdown(); } }
private BatchingPageCache batchingPageCache(Mode mode) { return new BatchingPageCache( fileSystem, config.fileChannelBufferSize(), writerFactory, writeMonitor, mode); }
@Override public int fileChannelBufferSize() { return defaults.fileChannelBufferSize(); }
@Override public int batchSize() { return defaults.batchSize(); }
@Override public int workAheadSize() { return defaults.workAheadSize(); }