Пример #1
0
//JAVA TO C# CONVERTER TODO TASK: Most Java annotations will not have direct .NET equivalent attributes:
//ORIGINAL LINE: @Test public void mustReportPeriod()
        public virtual void MustReportPeriod()
        {
            // given
            AssertableLogProvider logProvider = new AssertableLogProvider(true);
            Log          log          = logProvider.GetLog(typeof(IndexPopulationJob));
            PhaseTracker phaseTracker = GetPhaseTracker(1, log);

            phaseTracker.EnterPhase(PhaseTracker_Phase.Scan);

            // when
            Sleep(1000);
            phaseTracker.EnterPhase(PhaseTracker_Phase.Write);

            // then
            AssertableLogProvider.LogMatcher firstEntry = AssertableLogProvider.inLog(typeof(IndexPopulationJob)).debug("TIME/PHASE Total: SCAN[totalTime=1s], Last 1 sec: SCAN[totalTime=1s]");
            logProvider.AssertExactly(firstEntry);

            // when
            Sleep(1000);
            phaseTracker.EnterPhase(PhaseTracker_Phase.Scan);

            // then
            AssertableLogProvider.LogMatcher secondEntry = AssertableLogProvider.inLog(typeof(IndexPopulationJob)).debug("TIME/PHASE Total: SCAN[totalTime=1s], WRITE[totalTime=1s], Last 1 sec: WRITE[totalTime=1s]");
            logProvider.AssertExactly(firstEntry, secondEntry);

            // when
            Sleep(1000);
            phaseTracker.EnterPhase(PhaseTracker_Phase.Write);

            // then
            AssertableLogProvider.LogMatcher thirdEntry = AssertableLogProvider.inLog(typeof(IndexPopulationJob)).debug("TIME/PHASE Total: " + "SCAN[totalTime=2s, avgTime=1s, minTime=0ns, maxTime=1s, nbrOfReports=2], " + "WRITE[totalTime=1s], " + "Last 1 sec: SCAN[totalTime=1s]");
            logProvider.AssertExactly(firstEntry, secondEntry, thirdEntry);
        }
Пример #2
0
//JAVA TO C# CONVERTER TODO TASK: Most Java annotations will not have direct .NET equivalent attributes:
//ORIGINAL LINE: @Test public void mustLogPhaseTracker()
        public virtual void MustLogPhaseTracker()
        {
            Label  nodeLabel = Label.label("testLabel5");
            string key       = "key";
            string value     = "hej";

            using (Transaction transaction = _database.beginTx())
            {
                _database.createNode(nodeLabel).setProperty(key, value);
                transaction.Success();
            }

            // when
            using (Transaction tx = _database.beginTx())
            {
                _database.schema().indexFor(nodeLabel).on(key).create();
                tx.Success();
            }
            WaitForOnlineIndexes();

            // then
            using (Transaction tx = _database.beginTx())
            {
                ResourceIterator <Node> nodes = _database.findNodes(nodeLabel, key, value);
                long nodeCount = Iterators.count(nodes);
                assertEquals("expected exactly one hit in index but was ", 1, nodeCount);
                nodes.Close();
                tx.Success();
            }
            AssertableLogProvider.LogMatcher matcher = inLog(typeof(IndexPopulationJob)).info(containsString("TIME/PHASE Final:"));
            _logProvider.assertAtLeastOnce(matcher);
        }
Пример #3
0
//JAVA TO C# CONVERTER TODO TASK: Most Java annotations will not have direct .NET equivalent attributes:
//ORIGINAL LINE: @Test public void mustReportMain()
        public virtual void MustReportMain()
        {
            // given
            AssertableLogProvider logProvider = new AssertableLogProvider(true);
            Log          log          = logProvider.GetLog(typeof(IndexPopulationJob));
            PhaseTracker phaseTracker = GetPhaseTracker(log);

            phaseTracker.EnterPhase(PhaseTracker_Phase.Scan);
            Sleep(100);
            phaseTracker.EnterPhase(PhaseTracker_Phase.Write);
            Sleep(100);
            phaseTracker.EnterPhase(PhaseTracker_Phase.Scan);
            Sleep(100);
            phaseTracker.EnterPhase(PhaseTracker_Phase.Write);
            Sleep(100);
            phaseTracker.EnterPhase(PhaseTracker_Phase.Merge);
            Sleep(100);
            phaseTracker.EnterPhase(PhaseTracker_Phase.Build);
            Sleep(100);
            phaseTracker.EnterPhase(PhaseTracker_Phase.ApplyExternal);
            Sleep(100);
            phaseTracker.EnterPhase(PhaseTracker_Phase.Flip);
            Sleep(100);

            // when
            phaseTracker.Stop();

            // then
            AssertableLogProvider.LogMatcher logMatcher = AssertableLogProvider.inLog(typeof(IndexPopulationJob)).info("TIME/PHASE Final: " + "SCAN[totalTime=200ms, avgTime=100ms, minTime=0ns, maxTime=100ms, nbrOfReports=2], " + "WRITE[totalTime=200ms, avgTime=100ms, minTime=0ns, maxTime=100ms, nbrOfReports=2], " + "MERGE[totalTime=100ms], BUILD[totalTime=100ms], APPLY_EXTERNAL[totalTime=100ms], FLIP[totalTime=100ms]");
            logProvider.AssertAtLeastOnce(logMatcher);
        }
Пример #4
0
//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);
        }