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

Consider Caffeine for Caching to Replace Guava After EOL of Java 7 Support #258

Closed
tbradellis opened this issue Mar 31, 2021 · 1 comment · Fixed by #295
Closed

Consider Caffeine for Caching to Replace Guava After EOL of Java 7 Support #258

tbradellis opened this issue Mar 31, 2021 · 1 comment · Fixed by #295
Assignees

Comments

@tbradellis
Copy link
Contributor

tbradellis commented Mar 31, 2021

Feature/Problem

Replace our Guava dependency with Caffeine
We, not infrequently (support ticket searchable with thread dumps), run into deadlocks originating from guava caching.
Remediation is generally to disable the instrumentation point.

Feature Description

We use guava 28.2-android in order to Support Java 7. Java 7 support is scheduled for EOL soon. #220

Caffeine requires 1.8+ ben-manes/caffeine#51

We should consider switching dependencies once Java 7 Support is EOL.

The guava maintainers even recommend switching to caffeine for caching.
google/guava#3700 (comment)

Many more examples:

Describe Alternatives

Continue using guava and disable instrumentation points as needed when issues arise.
Use some other caching library besides caffeine or guava for caching weave extensions

Priority

Nice to Have, for some this could be a MUST Have issue if key instrumentation is lost when disabling modules to workaround a deadlock.

Stephan202 added a commit to PicnicSupermarket/newrelic-java-agent that referenced this issue Apr 28, 2021
Stephan202 added a commit to PicnicSupermarket/newrelic-java-agent that referenced this issue Apr 28, 2021
@Stephan202
Copy link
Contributor

@tbradellis since we discussed this topic in a private support ticket I decided to have a look at what would be involved. The result is #286. Would be nice if a New Relic engineer could schedule some time for a look :)

Stephan202 added a commit to PicnicSupermarket/newrelic-java-agent that referenced this issue May 4, 2021
@jasonjkeller jasonjkeller linked a pull request May 10, 2021 that will close this issue
Stephan202 added a commit to PicnicSupermarket/newrelic-java-agent that referenced this issue Aug 10, 2021
tbradellis pushed a commit to PicnicSupermarket/newrelic-java-agent that referenced this issue Aug 17, 2021
tbradellis added a commit to PicnicSupermarket/newrelic-java-agent that referenced this issue Aug 17, 2021
Stephan202 added a commit to PicnicSupermarket/newrelic-java-agent that referenced this issue Aug 24, 2021
@kford-newrelic kford-newrelic moved this from Triage to To do in Java Engineering Board Sep 10, 2021
@tbradellis tbradellis self-assigned this Sep 11, 2021
Java Engineering Board automation moved this from To do to Done Sep 21, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
Archived in project
Development

Successfully merging a pull request may close this issue.

3 participants