//JAVA TO C# CONVERTER TODO TASK: Most Java annotations will not have direct .NET equivalent attributes: //ORIGINAL LINE: @Test public void pruningStrategyShouldBeDynamic() throws java.io.IOException //JAVA TO C# CONVERTER WARNING: Method 'throws' clauses are not available in C#: public virtual void PruningStrategyShouldBeDynamic() { CheckPointer checkPointer = GetInstanceFromDb(typeof(CheckPointer)); Config config = GetInstanceFromDb(typeof(Config)); FileSystemAbstraction fs = GetInstanceFromDb(typeof(FileSystemAbstraction)); LogFiles logFiles = LogFilesBuilder.builder(Db.databaseLayout(), fs).withLogVersionRepository(new SimpleLogVersionRepository()).withLastCommittedTransactionIdSupplier(() => 1).withTransactionIdStore(new SimpleTransactionIdStore()).build(); // Force transaction log rotation WriteTransactionsAndRotateTwice(); // Checkpoint to make sure strategy is evaluated checkPointer.ForceCheckPoint(_triggerInfo); // Make sure file is still there since we have disable pruning assertThat(CountTransactionLogs(logFiles), @is(3)); // Change pruning to true config.UpdateDynamicSetting(keep_logical_logs.name(), "false", "test"); // Checkpoint to make sure strategy is evaluated checkPointer.ForceCheckPoint(_triggerInfo); // Make sure file is removed assertThat(CountTransactionLogs(logFiles), @is(2)); }
//JAVA TO C# CONVERTER TODO TASK: Most Java annotations will not have direct .NET equivalent attributes: //ORIGINAL LINE: @Test(timeout = TEST_TIMEOUT) public void notifyWhenWholeStoreDirectoryRemoved() throws java.io.IOException, InterruptedException //JAVA TO C# CONVERTER WARNING: Method 'throws' clauses are not available in C#: public virtual void NotifyWhenWholeStoreDirectoryRemoved() { assumeFalse(SystemUtils.IS_OS_WINDOWS); string fileName = TestDirectory.databaseLayout().metadataStore().Name; FileWatcher fileWatcher = GetFileWatcher(_database); CheckPointer checkpointer = GetCheckpointer(_database); ModificationEventListener modificationListener = new ModificationEventListener(fileName); fileWatcher.AddFileWatchEventListener(modificationListener); do { CreateNode(_database); ForceCheckpoint(checkpointer); } while (!modificationListener.AwaitModificationNotification()); fileWatcher.RemoveFileWatchEventListener(modificationListener); string storeDirectoryName = TestDirectory.databaseLayout().databaseDirectory().Name; DeletionLatchEventListener eventListener = new DeletionLatchEventListener(storeDirectoryName); fileWatcher.AddFileWatchEventListener(eventListener); FileUtils.deleteRecursively(TestDirectory.databaseLayout().databaseDirectory()); eventListener.AwaitDeletionNotification(); _logProvider.rawMessageMatcher().assertContains("'" + storeDirectoryName + "' which belongs to the store was deleted while database was running."); }
//JAVA TO C# CONVERTER TODO TASK: Most Java annotations will not have direct .NET equivalent attributes: //ORIGINAL LINE: @Test(timeout = TEST_TIMEOUT) public void doNotMonitorTransactionLogFiles() throws InterruptedException, java.io.IOException //JAVA TO C# CONVERTER WARNING: Method 'throws' clauses are not available in C#: public virtual void DoNotMonitorTransactionLogFiles() { assumeFalse(SystemUtils.IS_OS_WINDOWS); FileWatcher fileWatcher = GetFileWatcher(_database); CheckPointer checkpointer = GetCheckpointer(_database); string metadataStore = TestDirectory.databaseLayout().metadataStore().Name; ModificationEventListener modificationEventListener = new ModificationEventListener(metadataStore); fileWatcher.AddFileWatchEventListener(modificationEventListener); do { CreateNode(_database); ForceCheckpoint(checkpointer); } while (!modificationEventListener.AwaitModificationNotification()); string fileName = TransactionLogFiles.DEFAULT_NAME + ".0"; DeletionLatchEventListener deletionListener = new DeletionLatchEventListener(fileName); fileWatcher.AddFileWatchEventListener(deletionListener); DeleteFile(TestDirectory.storeDir(), fileName); deletionListener.AwaitDeletionNotification(); AssertableLogProvider.LogMatcher logMatcher = AssertableLogProvider.inLog(typeof(DefaultFileDeletionEventListener)).info(containsString(fileName)); _logProvider.assertNone(logMatcher); }
public StoreCopyServer(NeoStoreDataSource dataSource, CheckPointer checkPointer, FileSystemAbstraction fileSystem, File databaseDirectory, Monitor monitor) { this._dataSource = dataSource; this._checkPointer = checkPointer; this._fileSystem = fileSystem; this._databaseDirectory = getCanonicalFile(databaseDirectory); this._monitor = monitor; }
public CheckPointScheduler(CheckPointer checkPointer, IOLimiter ioLimiter, JobScheduler scheduler, long recurringPeriodMillis, DatabaseHealth health) { this._checkPointer = checkPointer; this._ioLimiter = ioLimiter; this._scheduler = scheduler; this._recurringPeriodMillis = recurringPeriodMillis; this._health = health; }
//JAVA TO C# CONVERTER WARNING: Method 'throws' clauses are not available in C#: //ORIGINAL LINE: private static void generateTransactionsAndRotate(org.neo4j.kernel.internal.GraphDatabaseAPI database, int logFilesToGenerate, boolean checkpoint) throws java.io.IOException private static void GenerateTransactionsAndRotate(GraphDatabaseAPI database, int logFilesToGenerate, bool checkpoint) { DependencyResolver resolver = database.DependencyResolver; LogFiles logFiles = resolver.ResolveDependency(typeof(TransactionLogFiles)); CheckPointer checkpointer = resolver.ResolveDependency(typeof(CheckPointer)); while (logFiles.HighestLogVersion < logFilesToGenerate) { logFiles.LogFile.rotate(); GenerateTransaction(database); if (checkpoint) { checkpointer.ForceCheckPoint(new SimpleTriggerInfo("testForcedCheckpoint")); } } }
//JAVA TO C# CONVERTER TODO TASK: Most Java annotations will not have direct .NET equivalent attributes: //ORIGINAL LINE: @Test public void shouldUseEventBasedReportingCorrectly() throws Throwable //JAVA TO C# CONVERTER WARNING: Method 'throws' clauses are not available in C#: public virtual void ShouldUseEventBasedReportingCorrectly() { // GIVEN AddNodes(100); // WHEN CheckPointer checkPointer = _db.DependencyResolver.resolveDependency(typeof(CheckPointer)); checkPointer.CheckPointIfNeeded(new SimpleTriggerInfo("test")); // wait for the file to be written before shutting down the cluster File metricFile = metricsCsv(_outputPath, CheckPointingMetrics.CHECK_POINT_DURATION); long result = readLongValueAndAssert(metricFile, (newValue, currentValue) => newValue >= 0); // THEN assertThat(result, greaterThanOrEqualTo(0L)); }
//JAVA TO C# CONVERTER WARNING: Java wildcard generics have no direct equivalent in .NET: //ORIGINAL LINE: public org.neo4j.com.Response<?> copyStore(StoreWriter writer) public override Response <object> CopyStore(StoreWriter writer) { NeoStoreDataSource neoStoreDataSource = Original.DependencyResolver.resolveDependency(typeof(NeoStoreDataSource)); TransactionIdStore transactionIdStore = Original.DependencyResolver.resolveDependency(typeof(TransactionIdStore)); LogicalTransactionStore logicalTransactionStore = Original.DependencyResolver.resolveDependency(typeof(LogicalTransactionStore)); CheckPointer checkPointer = Original.DependencyResolver.resolveDependency(typeof(CheckPointer)); RequestContext requestContext = (new StoreCopyServer(neoStoreDataSource, checkPointer, Fs, OriginalDir, (new Monitors()).newMonitor(typeof(StoreCopyServer.Monitor)))).flushStoresAndStreamStoreFiles("test", writer, IncludeLogs); //JAVA TO C# CONVERTER WARNING: The original Java variable was marked 'final': //ORIGINAL LINE: final org.neo4j.storageengine.api.StoreId storeId = original.getDependencyResolver().resolveDependency(org.neo4j.kernel.impl.storageengine.impl.recordstorage.RecordStorageEngine.class).getStoreId(); StoreId storeId = Original.DependencyResolver.resolveDependency(typeof(RecordStorageEngine)).StoreId; ResponsePacker responsePacker = new ResponsePacker(logicalTransactionStore, transactionIdStore, () => storeId); Response = spy(responsePacker.PackTransactionStreamResponse(requestContext, null)); return(Response); }
//JAVA TO C# CONVERTER TODO TASK: Most Java annotations will not have direct .NET equivalent attributes: //ORIGINAL LINE: @Test(timeout = TEST_TIMEOUT) public void notifyAboutStoreFileDeletion() throws Exception //JAVA TO C# CONVERTER WARNING: Method 'throws' clauses are not available in C#: public virtual void NotifyAboutStoreFileDeletion() { assumeFalse(SystemUtils.IS_OS_WINDOWS); string fileName = TestDirectory.databaseLayout().metadataStore().Name; FileWatcher fileWatcher = GetFileWatcher(_database); CheckPointer checkpointer = GetCheckpointer(_database); DeletionLatchEventListener deletionListener = new DeletionLatchEventListener(fileName); fileWatcher.AddFileWatchEventListener(deletionListener); do { CreateNode(_database); ForceCheckpoint(checkpointer); } while (!deletionListener.AwaitModificationNotification()); DeleteFile(TestDirectory.storeDir(), fileName); deletionListener.AwaitDeletionNotification(); _logProvider.rawMessageMatcher().assertContains("'" + fileName + "' which belongs to the store was deleted while database was running."); }
private void PrepareDatabase(Label label) { GenerateData(label); using (Transaction transaction = Database.beginTx()) { for (int i = 0; i < 10; i++) { Database.schema().indexFor(label).on(PROPERTY_PREFIX + i).create(); } transaction.Success(); } using (Transaction ignored = Database.beginTx()) { Database.schema().awaitIndexesOnline(1, TimeUnit.MINUTES); } _checkPointer = ResolveDependency(typeof(CheckPointer)); _indexingService = ResolveDependency(typeof(IndexingService)); _fileSystem = ResolveDependency(typeof(FileSystemAbstraction)); }
//JAVA TO C# CONVERTER TODO TASK: Most Java annotations will not have direct .NET equivalent attributes: //ORIGINAL LINE: @Test(timeout = TEST_TIMEOUT) public void doNotNotifyAboutLuceneIndexFilesDeletion() throws InterruptedException, java.io.IOException //JAVA TO C# CONVERTER WARNING: Method 'throws' clauses are not available in C#: public virtual void DoNotNotifyAboutLuceneIndexFilesDeletion() { DependencyResolver dependencyResolver = (( GraphDatabaseAPI )_database).DependencyResolver; FileWatcher fileWatcher = GetFileWatcher(_database); CheckPointer checkPointer = dependencyResolver.ResolveDependency(typeof(CheckPointer)); string propertyStoreName = TestDirectory.databaseLayout().propertyStore().Name; AccumulativeDeletionEventListener accumulativeListener = new AccumulativeDeletionEventListener(); ModificationEventListener modificationListener = new ModificationEventListener(propertyStoreName); fileWatcher.AddFileWatchEventListener(modificationListener); fileWatcher.AddFileWatchEventListener(accumulativeListener); string labelName = "labelName"; string propertyName = "propertyName"; Label testLabel = Label.label(labelName); CreateIndexes(_database, propertyName, testLabel); do { CreateNode(_database, propertyName, testLabel); ForceCheckpoint(checkPointer); } while (!modificationListener.AwaitModificationNotification()); fileWatcher.RemoveFileWatchEventListener(modificationListener); ModificationEventListener afterRemovalListener = new ModificationEventListener(propertyStoreName); fileWatcher.AddFileWatchEventListener(afterRemovalListener); DropAllIndexes(_database); do { CreateNode(_database, propertyName, testLabel); ForceCheckpoint(checkPointer); } while (!afterRemovalListener.AwaitModificationNotification()); accumulativeListener.AssertDoesNotHaveAnyDeletions(); }
//JAVA TO C# CONVERTER TODO TASK: Most Java annotations will not have direct .NET equivalent attributes: //ORIGINAL LINE: @Test(timeout = TEST_TIMEOUT) public void notifyAboutExplicitIndexFolderRemoval() throws InterruptedException, java.io.IOException //JAVA TO C# CONVERTER WARNING: Method 'throws' clauses are not available in C#: public virtual void NotifyAboutExplicitIndexFolderRemoval() { string monitoredDirectory = GetExplicitIndexDirectory(TestDirectory.databaseLayout()); FileWatcher fileWatcher = GetFileWatcher(_database); CheckPointer checkPointer = GetCheckpointer(_database); DeletionLatchEventListener deletionListener = new DeletionLatchEventListener(monitoredDirectory); string metadataStore = TestDirectory.databaseLayout().metadataStore().Name; ModificationEventListener modificationEventListener = new ModificationEventListener(metadataStore); fileWatcher.AddFileWatchEventListener(deletionListener); fileWatcher.AddFileWatchEventListener(modificationEventListener); do { CreateNode(_database); ForceCheckpoint(checkPointer); } while (!modificationEventListener.AwaitModificationNotification()); DeleteStoreDirectory(_storeDir, monitoredDirectory); deletionListener.AwaitDeletionNotification(); _logProvider.rawMessageMatcher().assertContains("'" + monitoredDirectory + "' which belongs to the store was deleted while database was running."); }
//JAVA TO C# CONVERTER WARNING: Method 'throws' clauses are not available in C#: //ORIGINAL LINE: private void checkpoint(org.neo4j.graphdb.GraphDatabaseService db) throws java.io.IOException private void Checkpoint(GraphDatabaseService db) { CheckPointer checkPointer = checkPointer(db); checkPointer.ForceCheckPoint(new SimpleTriggerInfo("test")); }
//JAVA TO C# CONVERTER WARNING: Method 'throws' clauses are not available in C#: //ORIGINAL LINE: private static void forceCheckpoint(org.neo4j.kernel.impl.transaction.log.checkpoint.CheckPointer checkPointer) throws java.io.IOException private static void ForceCheckpoint(CheckPointer checkPointer) { checkPointer.ForceCheckPoint(new SimpleTriggerInfo("testForceCheckPoint")); }