@Test public void testHasAvailableSegments() { assertEquals(1, testSubject.availableProcessorThreads()); testSubject.start(); assertWithin(1, TimeUnit.SECONDS, () -> assertEquals(0, testSubject.availableProcessorThreads())); testSubject.releaseSegment(0); assertWithin(2, TimeUnit.SECONDS, () -> assertEquals(1, testSubject.availableProcessorThreads())); }
@Test public void testBlacklistingSegmentWillHaveProcessorClaimAnotherOne() { tokenStore.storeToken(new GlobalSequenceTrackingToken(1L), "test", 0); tokenStore.storeToken(new GlobalSequenceTrackingToken(2L), "test", 1); tokenStore.storeToken(new GlobalSequenceTrackingToken(2L), "test", 2); testSubject.start(); assertWithin(1, SECONDS, () -> assertEquals(0, testSubject.availableProcessorThreads())); assertEquals(new HashSet<>(asList(0, 1)), testSubject.processingStatus().keySet()); testSubject.releaseSegment(0); assertWithin(5, SECONDS, () -> assertTrue(testSubject.processingStatus().containsKey(2))); assertEquals(new HashSet<>(asList(2, 1)), testSubject.processingStatus().keySet()); assertWithin(2, SECONDS, () -> assertEquals(0, testSubject.availableProcessorThreads())); }
.setMode("Tracking") .setActiveThreads(processor.activeProcessorThreads()) .setAvailableThreads(processor.availableProcessorThreads()) .setRunning(processor.isRunning()) .setError(processor.isError())
.setMode("Tracking") .setActiveThreads(processor.activeProcessorThreads()) .setAvailableThreads(processor.availableProcessorThreads()) .setRunning(processor.isRunning()) .setError(processor.isError())