On Mon, Dec 20, 2021 at 2:24 PM Michael Marshall <mmarsh...@apache.org> wrote: > I haven't been able to follow the PIP 45 work, so I have some high > level questions. Do we have documentation on the implementation of > these re-acquirable resource locks? I'd like to understand how these > work.
There is admittedly not much high-level doc on the locks. The implementation class is the best reference atm: https://github.com/apache/pulsar/blob/master/pulsar-metadata/src/main/java/org/apache/pulsar/metadata/coordination/impl/ResourceLockImpl.java Similarly, for leader election implementation: https://github.com/apache/pulsar/blob/master/pulsar-metadata/src/main/java/org/apache/pulsar/metadata/coordination/impl/LeaderElectionImpl.java > Also, are you able to describe the thorough testing? Were these > tests manual or are they already part of our GitHub CI or both? It's a combination of those. In the unit tests, through fault injections, we're reproducing all the possible states.