public static void fenceStream(DistributedLogConfiguration conf, URI uri, String name) throws Exception { BKDistributedLogManager dlm = (BKDistributedLogManager) createNewDLM(name, conf, uri); try { BKLogReadHandler readHandler = dlm.createReadHandler(); List<LogSegmentMetadata> ledgerList = readHandler.getFullLedgerList(true, true); LogSegmentMetadata lastSegment = ledgerList.get(ledgerList.size() - 1); BookKeeperClient bkc = dlm.getWriterBKC(); LedgerHandle lh = bkc.get().openLedger(lastSegment.getLedgerId(), BookKeeper.DigestType.CRC32, conf.getBKDigestPW().getBytes(UTF_8)); lh.close(); } finally { dlm.close(); } }
@BeforeClass public static void setupDefaults() throws Exception { defaultUri = DLMTestUtil.createDLMURI(zkPort, defaultPath); DistributedLogManager dlm = DLMTestUtil.createNewDLM("DefaultStream", conf, defaultUri); bindStream(defaultUri, defaultLedgerPath, defaultHost); DLMTestUtil.generateCompletedLogSegments(dlm, conf, 3, 8192); dlm.close(); }
@Test(timeout = 60000) public void testToolCreateZkAclId() throws Exception { createStream(defaultUri, "0", "CreateAclStream", defaultPrivilegedZkAclId); try { DistributedLogManager dlm = DLMTestUtil.createNewDLM("0CreateAclStream", conf, defaultUri); DLMTestUtil.generateCompletedLogSegments(dlm, conf, 3, 1000); dlm.close(); } catch (ZKException ex) { assertEquals(KeeperException.Code.NOAUTH, ex.getKeeperExceptionCode()); } }
@Test(timeout = 60000) public void testToolTruncate() throws Exception { DistributedLogManager dlm = DLMTestUtil.createNewDLM("TruncateStream", conf, defaultUri); DLMTestUtil.generateCompletedLogSegments(dlm, conf, 3, 1000); dlm.close(); TruncateCommand cmd = new TruncateCommand(); cmd.setUri(defaultUri); cmd.setFilter("TruncateStream"); cmd.setForce(true); assertEquals(0, cmd.runCmd()); }
@Test(timeout = 60000) public void testToolTruncateStream() throws Exception { DistributedLogManager dlm = DLMTestUtil.createNewDLM("testToolTruncateStream", conf, defaultUri); DLMTestUtil.generateCompletedLogSegments(dlm, conf, 3, 1000); DLSN dlsn = new DLSN(2,1,0); TruncateStreamCommand cmd = new TruncateStreamCommand(); cmd.setDlsn(dlsn); cmd.setUri(defaultUri); cmd.setStreamName("testToolTruncateStream"); cmd.setForce(true); assertEquals(0, cmd.runCmd()); LogReader reader = dlm.getInputStream(0); LogRecordWithDLSN record = reader.readNext(false); assertEquals(dlsn, record.getDlsn()); reader.close(); dlm.close(); } }