rholder / guava-retrying

This is a small extension to Google's Guava library to allow for the creation of configurable retrying strategies for an arbitrary function call, such as something that talks to a remote service with flaky uptime.
Apache License 2.0
1.44k stars 275 forks source link

The lib is crashing when used in Ratpack (guava-20.0rc1) #66

Open FiveSigma5 opened 8 years ago

FiveSigma5 commented 8 years ago

Last Thursday (10/6/2016), Google updated guava to that release candidate.

The project build.gradle contains this import:

compile 'com.google.guava:guava:[10.+,)'

And thus, right now guava-retrying is compiling with that guava-20.0rc1, instead of the stable guava-19.0. That's causing some crashes in projects that use Ratpack Server.

I suggest changing that compile so only stable versions are used i.e. 19.X, 20.X, without rcX.

mangan77 commented 7 years ago

And again this is a problem as of Guava 21-rc1 which now break our Java7 build. `

com.google.guava guava [10.+,) compile

` Why not use a specific version?

JensRantil commented 7 years ago

I suggest changing that compile so only stable versions are used i.e. 19.X, 20.X, without rcX.

Sounds like a good proposal. How about you create a pull request for this?

tonesandtones commented 7 years ago

I hit this same problem yesterday. Tried to build a project under java 7, it pulled in guava-retrying 2.0.0, which in turned pulled in the latest guava 21.0-RC2. The build failed because guava 21.0-RC2 (and 21.0 when it's released - see Guava [Github]) require java 8.

The text on the main page for Guava-retrying is incorrect when it states that pre-req is java 1.6+ - that pre-req can change at any time that the 'latest-release' version of Guava changes.

Strongly recommend putting an upper bound on the Guava dependency, set at a version that supports java 1.6

rhuffman commented 7 years ago

I have forked this project because this has been a long-standing issue. You can check out the fork at rhuffman/re-retrying, and currently I have released version 3.0.0-rc.1 on the Central Repository.

groupId: tech.huffman.re-retrying artifactId: re-retrying version: 3.0.0-rc.1