protected final TestGraphDatabaseFactory maybeSetInternalLogProvider( TestGraphDatabaseFactory factory ) { return ( internalLogProvider == null ) ? factory : factory.setInternalLogProvider( internalLogProvider ); } }
protected TestGraphDatabaseFactory getTestGraphDatabaseFactory() { TestGraphDatabaseFactory factory = new TestGraphDatabaseFactory(); factory.setInternalLogProvider( internalLogProvider ); factory.setUserLogProvider( userLogProvider ); return factory; }
protected TestGraphDatabaseFactory getTestGraphDatabaseFactory() { TestGraphDatabaseFactory factory = new TestGraphDatabaseFactory(); logProvider = new AssertableLogProvider(); factory.setInternalLogProvider( logProvider ); return factory; }
protected TestGraphDatabaseFactory getTestGraphDatabaseFactory() { TestGraphDatabaseFactory factory = new TestGraphDatabaseFactory(); logProvider = new AssertableLogProvider(); factory.setInternalLogProvider( logProvider ); return factory; }
private GraphDatabaseService startDatabase( File storeDir ) { return new TestGraphDatabaseFactory().setInternalLogProvider( logProvider ).newEmbeddedDatabase( storeDir ); }
private void nativeIndexMustLogCrashPointerCleanupDuringRecovery( GraphDatabaseSettings.SchemaIndex setting, String... subTypes ) throws Exception { // given setTestConfig( GraphDatabaseSettings.default_schema_provider, setting.providerName() ); dirtyDatabase(); // when AssertableLogProvider logProvider = new AssertableLogProvider( true ); factory.setInternalLogProvider( logProvider ); startDatabase().shutdown(); // then List<Matcher<String>> matchers = new ArrayList<>(); for ( String subType : subTypes ) { matchers.add( indexRecoveryLogMatcher( "Schema index cleanup job registered", subType ) ); matchers.add( indexRecoveryLogMatcher( "Schema index cleanup job started", subType ) ); matchers.add( indexRecoveryFinishedLogMatcher( subType ) ); matchers.add( indexRecoveryLogMatcher( "Schema index cleanup job closed", subType ) ); } matchers.forEach( logProvider::assertContainsExactlyOneMessageMatching ); }
@Before public void setUp() { storeDir = testDirectory.storeDir(); logProvider = new AssertableLogProvider(); database = new TestGraphDatabaseFactory().setInternalLogProvider( logProvider ).newEmbeddedDatabase( storeDir ); }
@Before public void setUp() throws Exception { storeDir = directory.databaseDir(); monitors.addMonitorListener( recoveryMonitor ); databaseFactory = new TestGraphDatabaseFactory().setInternalLogProvider( logProvider ).setMonitors( monitors ); logFiles = buildDefaultLogFiles(); }
private void startDb() { db = new TestGraphDatabaseFactory().setInternalLogProvider( logProvider ) .setFileSystem( new UncloseableDelegatingFileSystemAbstraction( fileSystem ) ) .newImpermanentDatabaseBuilder() .setConfig( index_background_sampling_enabled, "false" ) .newGraphDatabase(); }
private void restart( FileSystemAbstraction fs ) throws IOException { if ( db != null ) { db.shutdown(); } fs.mkdirs( storeDir ); TestGraphDatabaseFactory dbFactory = new TestGraphDatabaseFactory(); db = dbFactory.setUserLogProvider( userLogProvider ) .setInternalLogProvider( internalLogProvider ) .setFileSystem( new UncloseableDelegatingFileSystemAbstraction( fs ) ) .newImpermanentDatabaseBuilder( storeDir ) .setConfig( index_background_sampling_enabled, "false" ) .newGraphDatabase(); }
@Test( timeout = TEST_TIMEOUT ) public void notifyWhenFileWatchingFailToStart() { AssertableLogProvider logProvider = new AssertableLogProvider( true ); GraphDatabaseService db = null; try { db = new TestGraphDatabaseFactory().setInternalLogProvider( logProvider ) .setFileSystem( new NonWatchableFileSystemAbstraction() ) .newEmbeddedDatabase( testDirectory.storeDir( "failed-start-db" ) ); logProvider.assertContainsMessageContaining( "Can not create file watcher for current file system. " + "File monitoring capabilities for store files will be disabled." ); } finally { shutdownDatabaseSilently( db ); } }
@Test( timeout = TEST_TIMEOUT ) public void shouldLogWhenDisabled() { AssertableLogProvider logProvider = new AssertableLogProvider( true ); GraphDatabaseService db = null; try { db = new TestGraphDatabaseFactory().setInternalLogProvider( logProvider ) .setFileSystem( new NonWatchableFileSystemAbstraction() ) .newEmbeddedDatabaseBuilder( testDirectory.directory( "failed-start-db" ) ) .setConfig( GraphDatabaseSettings.filewatcher_enabled, Settings.FALSE ) .newGraphDatabase(); logProvider.assertContainsMessageContaining( "File watcher disabled by configuration." ); } finally { shutdownDatabaseSilently( db ); } }
@Test public void scanStoreMustLogCrashPointerCleanupDuringRecovery() throws Exception { // given dirtyDatabase(); // when AssertableLogProvider logProvider = new AssertableLogProvider( true ); factory.setUserLogProvider( logProvider ); factory.setInternalLogProvider( logProvider ); startDatabase().shutdown(); // then logProvider.assertContainsLogCallContaining( "Label index cleanup job registered" ); logProvider.assertContainsLogCallContaining( "Label index cleanup job started" ); logProvider.assertContainsMessageMatching( Matchers.stringContainsInOrder( Iterables.asIterable( "Label index cleanup job finished", "Number of pages visited", "Number of cleaned crashed pointers", "Time spent" ) ) ); logProvider.assertContainsLogCallContaining( "Label index cleanup job closed" ); }
@Test public void shutdownDatabaseDuringIndexPopulations() { AssertableLogProvider assertableLogProvider = new AssertableLogProvider( true ); File storeDir = directory.directory( "shutdownDbTest" ); Label testLabel = Label.label( "testLabel" ); String propertyName = "testProperty"; GraphDatabaseService shutDownDb = new TestGraphDatabaseFactory().setInternalLogProvider( assertableLogProvider ) .newEmbeddedDatabase( storeDir ); prePopulateDatabase( shutDownDb, testLabel, propertyName ); try ( Transaction transaction = shutDownDb.beginTx() ) { shutDownDb.schema().indexFor( testLabel ).on( propertyName ).create(); transaction.success(); } shutDownDb.shutdown(); assertableLogProvider.assertNone( AssertableLogProvider.inLog( IndexPopulationJob.class ).anyError() ); }
@Test public void shouldSeeExpectedDiagnostics() { AssertableLogProvider logProvider = new AssertableLogProvider(); GraphDatabaseService db = new TestGraphDatabaseFactory().setInternalLogProvider( logProvider ) .newImpermanentDatabaseBuilder() .setConfig( GraphDatabaseSettings.dump_configuration, Settings.TRUE ) .setConfig( GraphDatabaseSettings.pagecache_memory, "4M" ) .newGraphDatabase(); cleanupRule.add( db ); // THEN we should have logged logProvider.assertContainsMessageContaining( "Network information" ); logProvider.assertContainsMessageContaining( "Disk space on partition" ); logProvider.assertContainsMessageContaining( "Local timezone" ); // page cache info logProvider.assertContainsMessageContaining( "Page cache: 4M" ); // neostore records for ( MetaDataStore.Position position : MetaDataStore.Position.values() ) { logProvider.assertContainsMessageContaining( position.name() ); } // transaction log info logProvider.assertContainsMessageContaining( "Transaction log" ); logProvider.assertContainsMessageContaining( "TimeZone version: " ); } }
protected final TestGraphDatabaseFactory maybeSetInternalLogProvider( TestGraphDatabaseFactory factory ) { return ( internalLogProvider == null ) ? factory : factory.setInternalLogProvider( internalLogProvider ); } }