Java Code Examples for org.apache.distributedlog.api.DistributedLogManager#delete()
The following examples show how to use
org.apache.distributedlog.api.DistributedLogManager#delete() .
You can vote up the ones you like or vote down the ones you don't like,
and go to the original project or source file by following the links above each example. You may check out the related API usage on the sidebar.
Example 1
Source File: BKDistributedLogNamespace.java From distributedlog with Apache License 2.0 | 6 votes |
@Override public void deleteLog(String logName) throws InvalidStreamNameException, LogNotFoundException, IOException { checkState(); logName = validateAndNormalizeName(logName); com.google.common.base.Optional<URI> uri = Utils.ioResult(driver.getLogMetadataStore().getLogLocation(logName)); if (!uri.isPresent()) { throw new LogNotFoundException("Log " + logName + " isn't found."); } DistributedLogManager dlm = openLogInternal( uri.get(), logName, Optional.empty(), Optional.empty()); dlm.delete(); }
Example 2
Source File: DistributedLogTool.java From distributedlog with Apache License 2.0 | 6 votes |
private void truncateStreams(Namespace namespace, List<String> streams, int tid, int numStreamsPerThreads) throws IOException { int startIdx = tid * numStreamsPerThreads; int endIdx = Math.min(streams.size(), (tid + 1) * numStreamsPerThreads); for (int i = startIdx; i < endIdx; i++) { String s = streams.get(i); DistributedLogManager dlm = namespace.openLog(s); try { if (deleteStream) { dlm.delete(); } else { dlm.purgeLogsOlderThan(Long.MAX_VALUE); } } finally { dlm.close(); } } }
Example 3
Source File: DistributedLogTool.java From distributedlog with Apache License 2.0 | 5 votes |
@Override protected int runCmd() throws Exception { getConf().setZkAclId(getZkAclId()); DistributedLogManager dlm = getNamespace().openLog(getStreamName()); try { dlm.delete(); } finally { dlm.close(); } return 0; }
Example 4
Source File: TestBKDistributedLogManager.java From distributedlog with Apache License 2.0 | 5 votes |
@Test(timeout = 60000) public void testDeleteLog() throws Exception { String name = "delete-log-should-delete-ledgers"; DistributedLogManager dlm = createNewDLM(conf, name); long txid = 1; // Create the log and write some records BKSyncLogWriter writer = (BKSyncLogWriter) dlm.startLogSegmentNonPartitioned(); for (long j = 1; j <= DEFAULT_SEGMENT_SIZE; j++) { writer.write(DLMTestUtil.getLogRecordInstance(txid++)); } BKLogSegmentWriter perStreamLogWriter = writer.getCachedLogWriter(); writer.closeAndComplete(); BKLogWriteHandler blplm = ((BKDistributedLogManager) (dlm)).createWriteHandler(true); assertNotNull(zkc.exists(blplm.completedLedgerZNode(txid, txid - 1, perStreamLogWriter.getLogSegmentSequenceNumber()), false)); Utils.ioResult(blplm.asyncClose()); // Should be able to open the underline ledger using BK client long ledgerId = perStreamLogWriter.getLogSegmentId(); BKNamespaceDriver driver = (BKNamespaceDriver) dlm.getNamespaceDriver(); driver.getReaderBKC().get().openLedgerNoRecovery(ledgerId, BookKeeper.DigestType.CRC32, conf.getBKDigestPW().getBytes(UTF_8)); // Delete the log and we shouldn't be able the open the ledger dlm.delete(); try { driver.getReaderBKC().get().openLedgerNoRecovery(ledgerId, BookKeeper.DigestType.CRC32, conf.getBKDigestPW().getBytes(UTF_8)); fail("Should fail to open ledger after we delete the log"); } catch (BKException.BKNoSuchLedgerExistsException e) { // ignore } // delete again should not throw any exception try { dlm.delete(); } catch (IOException ioe) { fail("Delete log twice should not throw any exception"); } }
Example 5
Source File: TestBKDistributedLogManager.java From distributedlog with Apache License 2.0 | 4 votes |
@Test(timeout = 60000) public void deleteDuringRead() throws Exception { String name = "distrlog-delete-with-reader"; DistributedLogManager dlm = createNewDLM(conf, name); long txid = 1; for (long i = 0; i < 3; i++) { long start = txid; BKSyncLogWriter writer = (BKSyncLogWriter) dlm.startLogSegmentNonPartitioned(); for (long j = 1; j <= DEFAULT_SEGMENT_SIZE; j++) { writer.write(DLMTestUtil.getLogRecordInstance(txid++)); } BKLogSegmentWriter perStreamLogWriter = writer.getCachedLogWriter(); writer.closeAndComplete(); BKLogWriteHandler blplm = ((BKDistributedLogManager) (dlm)).createWriteHandler(true); assertNotNull(zkc.exists(blplm.completedLedgerZNode(start, txid - 1, perStreamLogWriter.getLogSegmentSequenceNumber()), false)); Utils.ioResult(blplm.asyncClose()); } LogReader reader = dlm.getInputStream(1); LogRecord record = reader.readNext(false); assert (null != record); DLMTestUtil.verifyLogRecord(record); long lastTxId = record.getTransactionId(); dlm.delete(); boolean exceptionEncountered; try { record = reader.readNext(false); while (null != record) { DLMTestUtil.verifyLogRecord(record); assert (lastTxId < record.getTransactionId()); lastTxId = record.getTransactionId(); record = reader.readNext(false); } // make sure the exception is thrown from readahead while (true) { reader.readNext(false); } } catch (LogReadException | LogNotFoundException | DLIllegalStateException e) { exceptionEncountered = true; } assertTrue(exceptionEncountered); reader.close(); }