use of org.neo4j.graphdb.GraphDatabaseService in project neo4j by neo4j.
the class ExactDepthPathFinder method instantiateTraverser.
@Override
protected Traverser instantiateTraverser(Node start, Node end) {
GraphDatabaseService db = start.getGraphDatabase();
TraversalDescription side = db.traversalDescription().breadthFirst().uniqueness(uniqueness).order(new BranchOrderingPolicy() {
@Override
public BranchSelector create(TraversalBranch startSource, PathExpander expander) {
return new LiteDepthFirstSelector(startSource, startThreshold, expander);
}
});
return db.bidirectionalTraversalDescription().startSide(side.expand(expander).evaluator(toDepth(onDepth / 2))).endSide(side.expand(expander.reverse()).evaluator(toDepth(onDepth - onDepth / 2))).collisionEvaluator(atDepth(onDepth)).traverse(start, end);
}
use of org.neo4j.graphdb.GraphDatabaseService in project neo4j by neo4j.
the class KernelRecoveryTest method shouldHandleWritesProperlyAfterRecovery.
@Test
public void shouldHandleWritesProperlyAfterRecovery() throws Exception {
// Given
EphemeralFileSystemAbstraction fs = fsRule.get();
GraphDatabaseService db = newDB(fs);
long node1 = createNode(db);
// And given the power goes out
EphemeralFileSystemAbstraction crashedFs = fs.snapshot();
db.shutdown();
try {
db = newDB(crashedFs);
long node2 = createNode(db);
db.shutdown();
// Then the logical log should be in sync
File logFile = new File(storeDir, PhysicalLogFile.DEFAULT_NAME + PhysicalLogFile.DEFAULT_VERSION_SUFFIX + "0");
assertThat(logEntries(crashedFs, logFile), containsExactly(// Tx before recovery
startEntry(-1, -1), commandEntry(node1, NodeCommand.class), commandEntry(ReadOperations.ANY_LABEL, NodeCountsCommand.class), commitEntry(2), // Tx after recovery
startEntry(-1, -1), commandEntry(node2, NodeCommand.class), commandEntry(ReadOperations.ANY_LABEL, NodeCountsCommand.class), commitEntry(3), // checkpoint
checkPoint(new LogPosition(0, 250))));
} finally {
crashedFs.close();
}
}
use of org.neo4j.graphdb.GraphDatabaseService in project neo4j by neo4j.
the class RecoveryRequiredCheckerTest method createSomeDataAndCrash.
private FileSystemAbstraction createSomeDataAndCrash(File store, EphemeralFileSystemAbstraction fileSystem) throws IOException {
final GraphDatabaseService db = new TestGraphDatabaseFactory().setFileSystem(fileSystem).newImpermanentDatabase(store);
try (Transaction tx = db.beginTx()) {
db.createNode();
tx.success();
}
EphemeralFileSystemAbstraction snapshot = fileSystem.snapshot();
db.shutdown();
return snapshot;
}
use of org.neo4j.graphdb.GraphDatabaseService in project neo4j by neo4j.
the class BatchInsertTest method setSingleProperty.
@Test
public void setSingleProperty() throws Exception {
BatchInserter inserter = newBatchInserter();
long node = inserter.createNode(null);
String value = "Something";
String key = "name";
inserter.setNodeProperty(node, key, value);
GraphDatabaseService db = switchToEmbeddedGraphDatabaseService(inserter);
assertThat(getNodeInTx(node, db), inTx(db, hasProperty(key).withValue(value)));
db.shutdown();
}
use of org.neo4j.graphdb.GraphDatabaseService in project neo4j by neo4j.
the class BatchInsertTest method switchToEmbeddedGraphDatabaseService.
private GraphDatabaseService switchToEmbeddedGraphDatabaseService(BatchInserter inserter) {
inserter.shutdown();
TestGraphDatabaseFactory factory = new TestGraphDatabaseFactory();
factory.setFileSystem(fileSystemRule.get());
GraphDatabaseService db = factory.newImpermanentDatabaseBuilder(new File(inserter.getStoreDir())).setConfig(configuration()).newGraphDatabase();
try (Transaction tx = db.beginTx()) {
db.schema().awaitIndexesOnline(10, TimeUnit.SECONDS);
tx.success();
}
return db;
}
Aggregations