Can you provide a repo for this? > However, if another client recovers the ledger, and sets the lastEntry to 20, > then we have a potential for a TOAB violation.
I don't fully understand this sentence here. from what I understand, when another client recovers the ledger, if it sees the ledger is closed, it does nothing; if the recovery starts before the first client updated the metadata, the second recovery will set the metadata to IN_RECOVERY, the first client will see metadata version and attempt to resolve the conflict. when resolving the conflicts, there should be one client successfully close the ledger and the other one fails. the current logic give up at closing when hitting metadata version conflicts, so there will not be any metadata overwritten. so I am not sure how this would happen in current code though. regarding the state, we already have a state called IN_RECOVERY which is the "CLOSING" in some sense. Can't we reuse that? [ Full content available at: https://github.com/apache/bookkeeper/issues/1712 ] This message was relayed via gitbox.apache.org for [email protected]
