Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[CURATOR-503] Update dependencies in January 2019 #301

Merged
merged 2 commits into from Mar 3, 2019

Conversation

leventov
Copy link
Member

@leventov leventov commented Jan 21, 2019

The main motivation for this update is updating Guava from 20.0 to 27.0.1-jre. Between these versions, the implementation of Maps.newConcurrentMap() (this method is used in many places in Curator code) was changed and now it returns ConcurrentHashMap instead of Guava's own implementation, that was less efficient.

This PR also updates Jackson version, as well as #280, from 2.7 to 2.9. Answering questions raised in the comments to that PR: I believe upgrading Jackson from 2.7 to 2.9 is safe. The compatibility standards in Jackson are much higher than in an average Java project. Most incompatibilities in 2.8 and 2.9 are minor tweaks in Jackson's programmatic API (shouldn't be a concern as long as Curator is built and passes tests with the updated dependencies). Also support for some old Java and Android versions is dropped, shouldn't be a concern in Curator either. Finally, seems that there are the only two changes that affect serialization format: of java.nio.Path and of java.sql.Date. It also doesn't seem to be relevant to Curator.

Testing: mvn test in a private CI server passed.


<profiles>
<profile>
<id>jdk-9-plus</id>
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm -1 on this change. I'd rather see a comprehensive Java 11 PR (we have a Jira for this already). Java 9 is not an LTS release.

Copy link
Member Author

@leventov leventov Feb 6, 2019

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This profile is activated whenever the test runtime is Java 9+ (including Java 11). I could change this to Java 11+, so that Java 9 and 10 are not supported at all, but I don't see much sense in doing this. In fact, that would break the workflow for people who want to run some tests locally and for whatever reason they happen to have Java 9 or 10, but not Java 11 installed (that was my case).

@Randgalt
Copy link
Member

Randgalt commented Mar 3, 2019

FYI - Guava has been broken into multiple JARs it seems. I had to update the Guava shading we do. 6c07104

@asfgit asfgit merged commit 518ac56 into apache:master Mar 3, 2019
@leventov leventov deleted the update-deps-2018 branch March 4, 2019 20:40
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
3 participants