assertEquals(0L, buffer.getAlignmentDurationNanos()); buffer.cleanup();
assertNull(buffer.getNextNonBlocked()); buffer.cleanup();
assertNull(buffer.getNextNonBlocked()); buffer.cleanup();
/** * Validates that the buffer behaves correctly if no checkpoint barriers come, * for a single input channel. */ @Test public void testSingleChannelNoBarriers() throws Exception { BufferOrEvent[] sequence = { createBuffer(0, PAGE_SIZE), createBuffer(0, PAGE_SIZE), createBuffer(0, PAGE_SIZE), createEndOfPartition(0) }; MockInputGate gate = new MockInputGate(PAGE_SIZE, 1, Arrays.asList(sequence)); BarrierBuffer buffer = createBarrierHandler(gate); for (BufferOrEvent boe : sequence) { assertEquals(boe, buffer.getNextNonBlocked()); } assertEquals(0L, buffer.getAlignmentDurationNanos()); assertNull(buffer.getNextNonBlocked()); assertNull(buffer.getNextNonBlocked()); buffer.cleanup(); }
assertNull(buffer.getNextNonBlocked()); buffer.cleanup();
assertNull(buffer.getNextNonBlocked()); buffer.cleanup();
assertNull(buffer.getNextNonBlocked()); buffer.cleanup(); checkNoTempFilesRemain();
/** * Validates that the buffer behaves correctly if no checkpoint barriers come, * for an input with multiple input channels. */ @Test public void testMultiChannelNoBarriers() throws Exception { BufferOrEvent[] sequence = { createBuffer(2, PAGE_SIZE), createBuffer(2, PAGE_SIZE), createBuffer(0, PAGE_SIZE), createBuffer(1, PAGE_SIZE), createBuffer(0, PAGE_SIZE), createEndOfPartition(0), createBuffer(3, PAGE_SIZE), createBuffer(1, PAGE_SIZE), createEndOfPartition(3), createBuffer(1, PAGE_SIZE), createEndOfPartition(1), createBuffer(2, PAGE_SIZE), createEndOfPartition(2) }; MockInputGate gate = new MockInputGate(PAGE_SIZE, 4, Arrays.asList(sequence)); BarrierBuffer buffer = createBarrierHandler(gate); for (BufferOrEvent boe : sequence) { assertEquals(boe, buffer.getNextNonBlocked()); } assertEquals(0L, buffer.getAlignmentDurationNanos()); assertNull(buffer.getNextNonBlocked()); assertNull(buffer.getNextNonBlocked()); buffer.cleanup(); }
assertNull(buffer.getNextNonBlocked()); buffer.cleanup(); checkNoTempFilesRemain();
/** * Validates that the buffer preserved the order of elements for a * input with a single input channel, and checkpoint events. */ @Test public void testSingleChannelWithBarriers() throws Exception { BufferOrEvent[] sequence = { createBuffer(0, PAGE_SIZE), createBuffer(0, PAGE_SIZE), createBuffer(0, PAGE_SIZE), createBarrier(1, 0), createBuffer(0, PAGE_SIZE), createBuffer(0, PAGE_SIZE), createBuffer(0, PAGE_SIZE), createBuffer(0, PAGE_SIZE), createBarrier(2, 0), createBarrier(3, 0), createBuffer(0, PAGE_SIZE), createBuffer(0, PAGE_SIZE), createBarrier(4, 0), createBarrier(5, 0), createBarrier(6, 0), createBuffer(0, PAGE_SIZE), createEndOfPartition(0) }; MockInputGate gate = new MockInputGate(PAGE_SIZE, 1, Arrays.asList(sequence)); BarrierBuffer buffer = createBarrierHandler(gate); ValidatingCheckpointHandler handler = new ValidatingCheckpointHandler(); buffer.registerCheckpointEventHandler(handler); handler.setNextExpectedCheckpointId(1L); for (BufferOrEvent boe : sequence) { if (boe.isBuffer() || boe.getEvent().getClass() != CheckpointBarrier.class) { assertEquals(boe, buffer.getNextNonBlocked()); } } assertNull(buffer.getNextNonBlocked()); assertNull(buffer.getNextNonBlocked()); buffer.cleanup(); }
assertNull(buffer.getNextNonBlocked()); buffer.cleanup();
assertNull(buffer.getNextNonBlocked()); buffer.cleanup();
buffer.cleanup();
assertNull(buffer.getNextNonBlocked()); buffer.cleanup();
assertNull(buffer.getNextNonBlocked()); buffer.cleanup();
assertNull(buffer.getNextNonBlocked()); buffer.cleanup();
sequence[34], sequence[36], sequence[38], sequence[39]); buffer.cleanup();
assertNull(buffer.getNextNonBlocked()); buffer.cleanup();
assertNull(buffer.getNextNonBlocked()); buffer.cleanup();