if (segment.supportsSequenceId()) { LogSegmentMetadata newSegment = segment.mutator() .setStartSequenceId(startSequenceId == DistributedLogConstants.UNASSIGNED_SEQUENCE_ID ? 0L : startSequenceId) .build(); segmentsToReturn.set(i, newSegment);
@Test(timeout = 60000, expected = UnexpectedException.class) public void testUnexpectedExceptionOnComputeStartSequenceId() throws Exception { List<LogSegmentMetadata> segments = Lists.newArrayList( inprogressLogSegment(3L, 201L), inprogressLogSegment(2L, 101L), completedLogSegment(1L, 1L, 100L).mutator().setStartSequenceId(1L).build() ); DLUtils.computeStartSequenceId(segments, segments.get(0)); }
@Test(timeout = 60000) public void testComputeStartSequenceIdOnHigherSequenceNumberSegment() throws Exception { List<LogSegmentMetadata> segments = Lists.newArrayList( completedLogSegment(3L, 201L, 300L).mutator().setStartSequenceId(201L).build(), completedLogSegment(2L, 101L, 200L).mutator().setStartSequenceId(101L).build() ); assertEquals(0L, DLUtils.computeStartSequenceId(segments, inprogressLogSegment(5L, 401L))); }
@Test(timeout = 60000) public void testComputeStartSequenceIdOnLowerSequenceNumberSegment() throws Exception { List<LogSegmentMetadata> segments = Lists.newArrayList( completedLogSegment(3L, 201L, 300L).mutator().setStartSequenceId(201L).build(), completedLogSegment(2L, 101L, 200L).mutator().setStartSequenceId(101L).build() ); assertEquals(0L, DLUtils.computeStartSequenceId(segments, inprogressLogSegment(1L, 1L))); }
@Test(timeout = 60000) public void testComputeStartSequenceId() throws Exception { List<LogSegmentMetadata> segments = Lists.newArrayList( completedLogSegment(3L, 201L, 300L).mutator() .setStartSequenceId(201L).setRecordCount(100).build(), completedLogSegment(2L, 101L, 200L).mutator() .setStartSequenceId(101L).setRecordCount(100).build() ); assertEquals(301L, DLUtils.computeStartSequenceId(segments, inprogressLogSegment(4L, 301L))); }