On 01/27/2017 06:36 AM, Anton Ivanov wrote:
> The writing was on the wall for that one for a few years now.
> 
> Quoting from the guava documentation for at least several releases
> going back a few years (I picked this one at random from a release a
> year ago):
> 
> Warning: We recommend against using CheckedFuture in new projects. 
> CheckedFuture is difficult to build libraries atop. CheckedFuture ports of 
> methods like 
> Futures.transformAsync(com.google.common.util.concurrent.ListenableFuture<I>, 
> com.google.common.util.concurrent.AsyncFunction<? super I, ? extends O>) have 
> historically had bugs, and some of these bugs are necessary, unavoidable 
> consequences of the CheckedFuture API. Additionally, CheckedFuture encourages 
> users to take exceptions from one thread and rethrow them in another, 
> producing confusing stack traces. 

At the time when we started using this
(https://git.opendaylight.org/gerrit/9178) we were just after the jump
from 14.0.1 to 18.0. The warning surfaced in 19.0:

https://google.github.io/guava/releases/18.0/api/docs/com/google/common/util/concurrent/CheckedFuture.html
https://google.github.io/guava/releases/19.0/api/docs/com/google/common/util/concurrent/CheckedFuture.html

Lesson learned from this is to not use anything @Beta in our APIs.

Bye,
Robert

Attachment: signature.asc
Description: OpenPGP digital signature

_______________________________________________
Discuss mailing list
[email protected]
https://lists.opendaylight.org/mailman/listinfo/discuss

Reply via email to