dlg99 commented on issue #15992:
URL: https://github.com/apache/pulsar/issues/15992#issuecomment-1182230169
AutoRecovery (ReplicationWorker) actually handles case of deleted ledger
```
} catch (BKNoSuchLedgerExistsOnMetadataServerException e) {
// Ledger might have been deleted by user
LOG.info("BKNoSuchLedgerExistsOnMetadataServerException while
opening "
+ "ledger {} for replication. Other clients "
+ "might have deleted the ledger. "
+ "So, no harm to continue", ledgerIdToReplicate);
underreplicationManager.markLedgerReplicated(ledgerIdToReplicate);
getExceptionCounter("BKNoSuchLedgerExistsOnMetadataServerException").inc();
return false;
} catch (BKNotEnoughBookiesException e) {
logBKExceptionAndReleaseLedger(e, ledgerIdToReplicate);
throw e;
} catch (BKException e) {
logBKExceptionAndReleaseLedger(e, ledgerIdToReplicate);
return false;
```
is it possible that ledger isn't deleted from metadata (exists in zk: ls
/ledgers/000/..)?
IIRC ReadLac saying that no ledger exists means that bookie that got request
could not find the ledger data in local index/storage, which could mean that
e.g. ledger has no data (ok), data is lost, metadata is corrupt and points to
the wrong bookie, or something else.
--
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.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]