Lease
A Lease is a cluster-wide, time-based lock on a given resource. Leases are retrieved via LeaseManager.requestLease.
It should be assumed that calls to checkHeld, acquire and release could invoke remote calls, so consider usage carefully.
Inheritors
Types
Functions
Registers a listener that is called on lease state changes.
Release the lock on the lease. This will return true if released. Note that it will return false if the lease was not held. Listeners should be notified before the lock is released.
Release the lock on the lease, with the option of doing it lazily if possible. This should return false if the lease was not held or if the release is lazy. Listeners should be notified before the lock is released.
Check if this process should own the lease. For example, if a lease is first-come first-serve, then this process should try to own the lease, whereas a lease that uses consistent hashing should try to own if and only if it is assigned the lease.