tree 049b7135ec7e0c4cf26618f60e8ea637c986eb95
parent 549b5d3f7481de6064b4dc77481e718529440f6b
author Jeffrey Manno <jeffreymanno15@gmail.com> 1616083646 -0400
committer GitHub <noreply@github.com> 1616083646 -0400
gpgsig -----BEGIN PGP SIGNATURE-----
 
 wsBcBAABCAAQBQJgU3q+CRBK7hj4Ov3rIwAAdHIIAC69JvFjYGcveCYdqmSxzzJi
 FHaMtMYllymYIPKB7A2AiwjUeDq3uPtGaJcH8Iq/FhZRnv98xxVCreUSOPmEaawr
 o7nEn7fJaUotZj+dzeZGmls8e354W0L4jf6UGFTEFULKKOJ9KrvBl6IH+fBFSpxZ
 pwOFAFNRVS9SCx6Y4UV2H33Sdniguoj+OaARcieBYzulLqA9kWr0CnIv+icHhPcU
 zm6MoEvmkErypKyFEOv1gfNS+1kFJ03qJl7jSvn7j8Gje+KHXu6/Ry0dxvUqBME1
 yp+zFtU2v2Hsg7Aa56B7xWdvXNX/Y3pkY9D88e0N6WIXkOee47gEmJbSocxsDBY=
 =/Fth
 -----END PGP SIGNATURE-----
 

Improvements to ZooKeeper Lock classes (#1972)

* Create specific types for path parameters for `ZooLock` and `ZooQueueLock`
  to ensure operations intended for one lock type aren't coded incorrectly
  against the other lock type's methods (this fixes #1966)
* Rename `ZooLock` to `ServiceLock` and `ZooQueueLock` to `FateLock` to
  make it more clear the purpose of these very similar lock types,
  including any related classes (this fixes #1967)
* Shorten lots of lines by renaming `validateAndSortByLockPrefix` to
  just `validateAndSort`, using `var` keyword
* Remove unused `ephemeral` field (`FateLock` only uses persistent
  nodes, and the extra parameter when not used makes it harder to reason
  about the actual implementation)
* Guard against null parameters by using `Objects.requireNonNull` in key
  places
* Add javadoc to `FateLock` class and make its fields `final`
* Add brief javadoc to `FateLock.validateAndSort`

Co-authored-by: Christopher Tubbs <ctubbsii@apache.org>