I repro'd on a checkout from when this was reported, and it looks like a legit 
bug and potentially serious.
However, I haven't been able to get a direct repro on master, though it looks 
like the bug still exists.

The bug occurs as follows:
- A managed ledger, with current ledger as 3
- The managed ledger attempts to write two entries to 3
- First entry write to 3 fails, 3 is closed, deleted, and replaced by 5 in the 
managed ledger, the writes are retried
- Second entry write fails, 3 is closed, deleted from the ledger list (it's not 
there) and ledger 6 is created and added to the ledger list.

The solution should be to make sure the ledgerClosed() checks whether the 
passed in ledger is the current ledger and only try to add a new one if so. 
However, I would like a reliable test for this first, but we'll need to modify 
the mocks first.

(cc @merlimat )

[ Full content available at: 
https://github.com/apache/incubator-pulsar/issues/240 ]
This message was relayed via gitbox.apache.org for [email protected]

Reply via email to