use of org.neo4j.io.fs.DefaultFileSystemAbstraction in project neo4j by neo4j.
the class IndexConsistencyIT method fullConsistencyCheck.
private ConsistencyCheckService.Result fullConsistencyCheck() throws ConsistencyCheckIncompleteException, IOException {
try (FileSystemAbstraction fsa = new DefaultFileSystemAbstraction()) {
ConsistencyCheckService service = new ConsistencyCheckService();
DatabaseLayout databaseLayout = db.databaseLayout();
Config config = Config.defaults(logs_directory, databaseLayout.databaseDirectory());
return service.runFullConsistencyCheck(databaseLayout, config, NONE, log, fsa, false, ConsistencyFlags.DEFAULT);
}
}
use of org.neo4j.io.fs.DefaultFileSystemAbstraction in project neo4j by neo4j.
the class CheckPointingLogRotationStressTesting method shouldBehaveCorrectlyUnderStress.
@Test
public void shouldBehaveCorrectlyUnderStress() throws Throwable {
long durationInMinutes = parseLong(fromEnv("CHECK_POINT_LOG_ROTATION_STRESS_DURATION", DEFAULT_DURATION_IN_MINUTES));
File storeDir = new File(fromEnv("CHECK_POINT_LOG_ROTATION_STORE_DIRECTORY", DEFAULT_STORE_DIR));
long nodeCount = parseLong(fromEnv("CHECK_POINT_LOG_ROTATION_NODE_COUNT", DEFAULT_NODE_COUNT));
int threads = parseInt(fromEnv("CHECK_POINT_LOG_ROTATION_WORKER_THREADS", DEFAULT_WORKER_THREADS));
String pageCacheMemory = fromEnv("CHECK_POINT_LOG_ROTATION_PAGE_CACHE_MEMORY", DEFAULT_PAGE_CACHE_MEMORY);
System.out.println("1/6\tBuilding initial store...");
try (FileSystemAbstraction fileSystem = new DefaultFileSystemAbstraction()) {
new ParallelBatchImporter(ensureExistsAndEmpty(storeDir), fileSystem, DEFAULT, NullLogService.getInstance(), ExecutionMonitors.defaultVisible(), Config.defaults()).doImport(new NodeCountInputs(nodeCount));
}
System.out.println("2/6\tStarting database...");
GraphDatabaseBuilder builder = new TestGraphDatabaseFactory().newEmbeddedDatabaseBuilder(storeDir);
GraphDatabaseService db = builder.setConfig(GraphDatabaseSettings.pagecache_memory, pageCacheMemory).setConfig(GraphDatabaseSettings.keep_logical_logs, Settings.FALSE).setConfig(GraphDatabaseSettings.check_point_interval_time, CHECK_POINT_INTERVAL_MINUTES + "m").setConfig(GraphDatabaseFacadeFactory.Configuration.tracer, "timer").newGraphDatabase();
System.out.println("3/6\tWarm up db...");
try (Workload workload = new Workload(db, defaultRandomMutation(nodeCount, db), threads)) {
// make sure to run at least one checkpoint during warmup
long warmUpTimeMillis = TimeUnit.SECONDS.toMillis(CHECK_POINT_INTERVAL_MINUTES * 2);
workload.run(warmUpTimeMillis, Workload.TransactionThroughput.NONE);
}
System.out.println("4/6\tStarting workload...");
TransactionThroughputChecker throughput = new TransactionThroughputChecker();
try (Workload workload = new Workload(db, defaultRandomMutation(nodeCount, db), threads)) {
workload.run(TimeUnit.MINUTES.toMillis(durationInMinutes), throughput);
}
System.out.println("5/6\tShutting down...");
db.shutdown();
try {
System.out.println("6/6\tPrinting stats and recorded timings...");
TimerTransactionTracer.printStats(System.out);
throughput.assertThroughput(System.out);
} finally {
System.out.println("Done.");
}
// let's cleanup disk space when everything went well
FileUtils.deleteRecursively(storeDir);
}
use of org.neo4j.io.fs.DefaultFileSystemAbstraction in project neo4j by neo4j.
the class DumpCountsStore method main.
public static void main(String... args) throws IOException {
if (args.length != 1) {
System.err.println("Expecting exactly one argument describing the path to the store");
System.exit(1);
}
try (FileSystemAbstraction fileSystem = new DefaultFileSystemAbstraction()) {
dumpCountsStore(fileSystem, new File(args[0]), System.out);
}
}
use of org.neo4j.io.fs.DefaultFileSystemAbstraction in project neo4j by neo4j.
the class DumpLogicalLog method main.
/**
* Usage: [--txfilter "regex"] [--ccfilter cc-report-file] [--tofile] storeDirOrFile1 storeDirOrFile2 ...
*
* --txfilter
* Will match regex against each {@link LogEntry} and if there is a match,
* include transaction containing the LogEntry in the dump.
* regex matching is done with {@link Pattern}
*
* --ccfilter
* Will look at an inconsistency report file from consistency checker and
* include transactions that are relevant to them
*
* --tofile
* Redirects output to dump-logical-log.txt in the store directory
*/
public static void main(String[] args) throws IOException {
Args arguments = Args.withFlags(TO_FILE).parse(args);
TimeZone timeZone = parseTimeZoneConfig(arguments);
Predicate<LogEntry[]> filter = parseFilter(arguments, timeZone);
Function<LogEntry, String> serializer = parseSerializer(filter, timeZone);
try (FileSystemAbstraction fileSystem = new DefaultFileSystemAbstraction();
Printer printer = getPrinter(arguments)) {
for (String fileAsString : arguments.orphans()) {
new DumpLogicalLog(fileSystem).dump(fileAsString, printer.getFor(fileAsString), filter, serializer);
}
}
}
use of org.neo4j.io.fs.DefaultFileSystemAbstraction in project neo4j by neo4j.
the class DumpStore method main.
public static void main(String... args) throws Exception {
if (args == null || args.length == 0) {
System.err.println("SYNTAX: [file[:id[,id]*]]+");
return;
}
try (DefaultFileSystemAbstraction fs = new DefaultFileSystemAbstraction();
PageCache pageCache = createPageCache(fs)) {
final DefaultIdGeneratorFactory idGeneratorFactory = new DefaultIdGeneratorFactory(fs);
Function<File, StoreFactory> createStoreFactory = file -> new StoreFactory(file.getParentFile(), Config.defaults(), idGeneratorFactory, pageCache, fs, logProvider());
for (String arg : args) {
dumpFile(createStoreFactory, arg);
}
}
}
Aggregations