@Override public void onSegmentsUpdated(List<LogSegmentMetadata> segments) { if (segments.size() > 0 && segments.get(0).getRegionId() == regionId) { if (!checking) { logger.info("Start checking stream {}.", name); checking = true; run(); } } else { if (checking) { logger.info("Stop checking stream {}.", name); } } }
@Test(timeout = 60000) public void testReadMetadata() throws Exception { LogSegmentMetadata metadata1 = new LogSegmentMetadataBuilder("/metadata1", LogSegmentMetadata.LEDGER_METADATA_CURRENT_LAYOUT_VERSION, 1000, 1).setRegionId(TEST_REGION_ID).build(); metadata1.write(zkc); LogSegmentMetadata read1 = FutureUtils.result(LogSegmentMetadata.read(zkc, "/metadata1")); assertEquals(metadata1, read1); assertEquals(TEST_REGION_ID, read1.getRegionId()); }
Mutator(LogSegmentMetadata original) { super(original.getZkPath(), original.getVersion(), original.getLedgerId(), original.getFirstTxId()); this.inprogress = original.isInProgress(); this.logSegmentSequenceNo = original.getLogSegmentSequenceNumber(); this.lastEntryId = original.getLastEntryId(); this.lastSlotId = original.getLastSlotId(); this.lastTxId = original.getLastTxId(); this.completionTime = original.getCompletionTime(); this.recordCount = original.getRecordCount(); this.regionId = original.getRegionId(); this.status = original.getStatus(); this.minActiveEntryId = original.getMinActiveDLSN().getEntryId(); this.minActiveSlotId = original.getMinActiveDLSN().getSlotId(); this.startSequenceId = original.getStartSequenceId(); this.envelopeEntries = original.getEnvelopeEntries(); }
@Test(timeout = 60000) public void testReadMetadataCrossVersion() throws Exception { LogSegmentMetadata metadata1 = new LogSegmentMetadataBuilder("/metadata2", 1, 1000, 1).setRegionId(TEST_REGION_ID).build(); metadata1.write(zkc); // synchronous read LogSegmentMetadata read1 = FutureUtils.result(LogSegmentMetadata.read(zkc, "/metadata2", true)); assertEquals(read1.getLedgerId(), metadata1.getLedgerId()); assertEquals(read1.getFirstTxId(), metadata1.getFirstTxId()); assertEquals(read1.getLastTxId(), metadata1.getLastTxId()); assertEquals(read1.getLogSegmentSequenceNumber(), metadata1.getLogSegmentSequenceNumber()); assertEquals(DistributedLogConstants.LOCAL_REGION_ID, read1.getRegionId()); }
assertEquals(completedLogSegment.getLedgerId(), readCompletedLogSegment.getLedgerId()); assertEquals(completedLogSegment.getLogSegmentSequenceNumber(), readCompletedLogSegment.getLogSegmentSequenceNumber()); assertEquals(completedLogSegment.getRegionId(), readCompletedLogSegment.getRegionId()); assertEquals(completedLogSegment.getZkPath(), readCompletedLogSegment.getZkPath()); assertEquals(completedLogSegment.getZNodeName(), readCompletedLogSegment.getZNodeName());