I think we have to call sendAddSuccessCallbacks after calling unsetSucccessAndSendWriteRequest. It's possible that every pendingAddOp had a bookie in the write set swapped, but nevertheless all have ackQuorum satisfied. In that case, PendingAddOp.unsetSuccessAndSendWriteRequest will not call sendAddSuccessCallbacks(), but we will still have writes ready to go. In fact, I think the call in PendingAddOp.unsetSuccessAndSendWriteRequest is entirely unnecessary and should be removed in favor of a single call here. As a side effect, you can call it outside of the metadataLock avoiding that problem as well.
[ Full content available at: https://github.com/apache/bookkeeper/pull/1646 ] This message was relayed via gitbox.apache.org for [email protected]
