@Override public void run() { while (true) { Long ledger = ledgerQueue.poll(); if (null == ledger) { break; } try { getBookKeeperClient().get().deleteLedger(ledger); int numLedgersDeleted = numLedgers.incrementAndGet(); if (numLedgersDeleted % 1000 == 0) { System.out.println("Deleted " + numLedgersDeleted + " ledgers."); } } catch (BKException.BKNoSuchLedgerExistsException e) { int numLedgersDeleted = numLedgers.incrementAndGet(); if (numLedgersDeleted % 1000 == 0) { System.out.println("Deleted " + numLedgersDeleted + " ledgers."); } } catch (Exception e) { numFailures.incrementAndGet(); break; } } doneLatch.countDown(); System.out.println("Thread " + tid + " quits"); } });
/** * Deletes the Ledger with given LedgerId. * * @param ledgerId The Id of the Ledger to delete. * @param bookKeeper A reference to the BookKeeper client to use. * @throws DurableDataLogException If an exception occurred. The causing exception is wrapped inside it. */ static void delete(long ledgerId, BookKeeper bookKeeper) throws DurableDataLogException { try { Exceptions.handleInterrupted(() -> bookKeeper.deleteLedger(ledgerId)); } catch (BKException bkEx) { throw new DurableDataLogException(String.format("Unable to delete Ledger %d.", ledgerId), bkEx); } }
@Override public void run() { while (true) { Long ledger = ledgerQueue.poll(); if (null == ledger) { break; } try { getBookKeeperClient().get().deleteLedger(ledger); int numLedgersDeleted = numLedgers.incrementAndGet(); if (numLedgersDeleted % 1000 == 0) { System.out.println("Deleted " + numLedgersDeleted + " ledgers."); } } catch (BKException.BKNoSuchLedgerExistsException e) { int numLedgersDeleted = numLedgers.incrementAndGet(); if (numLedgersDeleted % 1000 == 0) { System.out.println("Deleted " + numLedgersDeleted + " ledgers."); } } catch (Exception e) { numFailures.incrementAndGet(); break; } } doneLatch.countDown(); System.out.println("Thread " + tid + " quits"); } });
private void deleteCandidates(List<Long> deletionCandidates, Collection<Long> referencedLedgerIds, Context context) { for (long ledgerId : deletionCandidates) { if (referencedLedgerIds.contains(ledgerId)) { output("Not deleting Ledger %d because is is now referenced.", ledgerId); continue; } try { Exceptions.handleInterrupted(() -> context.logFactory.getBookKeeperClient().deleteLedger(ledgerId)); output("Deleted Ledger %d.", ledgerId); } catch (Exception ex) { output("FAILED to delete Ledger %d: %s.", ledgerId, ex.getMessage()); } } }
actualLedgersList.removeLedger(ledgerId); try { bookKeeper.deleteLedger(ledgerId); } catch (BKException.BKNoSuchLedgerExistsException error) { LOGGER.log(Level.SEVERE, "error while dropping ledger " + ledgerId + " for tablespace " + tableSpaceDescription(), error);
@Override public int runCmd(CommandLine cmdLine) throws Exception { final long lid = getOptionLedgerIdValue(cmdLine, "ledgerid", -1); if (lid == -1) { System.err.println("Must specify a ledger id"); return -1; } boolean force = cmdLine.hasOption("f"); boolean confirm = false; if (!force) { confirm = IOUtils.confirmPrompt( "Are you sure to delete Ledger : " + ledgerIdFormatter.formatLedgerId(lid) + "?"); } BookKeeper bk = null; try { if (force || confirm) { ClientConfiguration conf = new ClientConfiguration(); conf.addConfiguration(bkConf); bk = new BookKeeper(conf); bk.deleteLedger(lid); } } finally { if (bk != null) { bk.close(); } } return 0; }
} finally { if (lh != null) { bk.deleteLedger(lh.getId()); LOG.info("Deleted ledger {}", lh.getId());
Long ledgerId = Long.parseLong(params.get("ledger_id")); bk.deleteLedger(ledgerId);