BewareMyPower commented on a change in pull request #8244:
URL: https://github.com/apache/pulsar/pull/8244#discussion_r506928124
##########
File path:
pulsar-broker/src/main/java/org/apache/pulsar/PulsarClusterMetadataTeardown.java
##########
@@ -107,5 +128,86 @@ public static void deleteZkNodeRecursively(ZooKeeper
zooKeeper, String path) thr
}
}
+ private static List<String> getChildren(ZooKeeper zooKeeper, String path) {
+ try {
+ return zooKeeper.getChildren(path, null);
+ } catch (InterruptedException | KeeperException e) {
+ log.error("Failed to get children of {}: {}", path, e);
+ throw new RuntimeException(e);
+ }
+ }
+
+ private static byte[] getData(ZooKeeper zooKeeper, String path) {
+ try {
+ return zooKeeper.getData(path, null, null);
+ } catch (KeeperException | InterruptedException e) {
+ log.error("Failed to get data from {}: {}", path, e);
+ throw new RuntimeException(e);
+ }
+ }
+
+ private static void deleteLedger(BookKeeper bookKeeper, long ledgerId) {
+ try {
+ bookKeeper.deleteLedger(ledgerId);
+ log.debug("Delete ledger id: {}", ledgerId);
+ } catch (InterruptedException e) {
+ throw new RuntimeException(e);
+ } catch (BKException e) {
+ log.warn("Failed to delete ledger {}: {}", ledgerId, e);
+ }
+ }
+
+ private static void deleteManagedLedgers(ZooKeeper zooKeeper, BookKeeper
bookKeeper) {
+ final String managedLedgersRoot = "/managed-ledgers";
Review comment:
Yes, as @sijie says, the `ManagedLedgerFactory#delete` method could
delete these ledgers simply. I'm testing it now, the only problem is after
create the factory to delete ledgers, the program cannot terminate normally.
After I solved the problem, new commits would be pushed.
----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
For queries about this service, please contact Infrastructure at:
[email protected]