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]

Reply via email to