Details
-
Sub-task
-
Status: Resolved
-
Major
-
Resolution: Fixed
-
2.0.0-alpha, 3.0.0-alpha1
-
None
-
None
-
None
Description
HDFS-3058 will clean currentLedgers on exception.
In BookKeeperJournalManager, startLogSegment() is deleting the corresponding 'inprogress_ledger' ledger on exception. Here leaving the 'inprogress_x' ledger metadata in ZooKeeper. When the other node becomes active, he will see the 'inprogress_x' znode and tries to recoverLastTxId() it would throw exception, since there is no 'inprogress_ledger' exists.
Caused by: org.apache.bookkeeper.client.BKException$BKNoSuchLedgerExistsException at org.apache.bookkeeper.client.BookKeeper.openLedger(BookKeeper.java:393) at org.apache.hadoop.contrib.bkjournal.BookKeeperJournalManager.recoverLastTxId(BookKeeperJournalManager.java:493)
As per the discussion in HDFS-3058, we will handle the coment as part of this JIRA.