Description
It seems that when a ListenableFuture has callbacks, when an operation is complete, the callbacks are executed before the Future's countdown latch is released.
As ListenableFuture callbacks can only interact with the Future itself, it can cause some weird stuff like the future isn't done or canceled but the callback is executed because the get(), isDone(), isCancelled() methods often rely on the countdown latch to work.
It is particularly true for BulkGetFuture.
Attachments
For Gerrit Dashboard: SPY-149 | ||||||
---|---|---|---|---|---|---|
# | Subject | Branch | Project | Status | CR | V |
31714,5 | SPY-149: Notify Listeners after Complete. | master | spymemcached | Status: MERGED | +2 | +1 |
31734,3 | SPY-149: Notify Listeners after Complete. | master | couchbase-java-client | Status: MERGED | +2 | +1 |