zymap commented on PR #17228: URL: https://github.com/apache/pulsar/pull/17228#issuecomment-1237629791
@hangc0276 @eolivelli @codelipenghui Thanks for your review! I reconsider and change the implementation of the PR. Please take a look again. Thank you. ---- This is another issue I want to mention, I can send it to the mailing list if you prefer to. I take a deep look yesterday, what we want to resolved by this PR is trying to make the ledgers map consistent between the memory and zookeeper server when offloading fails. I saw in Pulsar Metadata handler, we retry the operation when zookeeper throws connection loss exception. But the operation may failed after the retry. For example, we update the ledgers map in memory after successfully updating the LedgerInfo in the zookeeper . If the zookeeper update operation execute successfully on server but throws connection loss on the client, and we have retry on the connection loss exception, then the callback may received a BadVersion exception. At this moment , the memory ledgers list is different to the zookeeper server. And that may cause some other issues on broker. I'm not sure if I missing something. But looks like there have many places in our code we do not consider that situation. -- 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]
