Description
In `release` method, `lease.close()` will cause `semaphore.acquire` return, then two threads will write on same `this.lease` (one set it to `acquiredLease` while the other set it to `null`), so `acquire` method will return true and `this.lease` is still null, which can't be `release`.
Attachments
Issue Links
- links to