-
-
Notifications
You must be signed in to change notification settings - Fork 890
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
Use a Guava Cache instead of a ThreadLocal #1862
Conversation
This allows high performance without leaking memory, and works around the JVM bug with ThreadLocals. See #1722.
Codecov Report
@@ Coverage Diff @@
## version/7.2.x #1862 +/- ##
===================================================
- Coverage 12.27% 12.27% -0.01%
Complexity 1089 1089
===================================================
Files 812 812
Lines 33278 33281 +3
Branches 3840 3840
===================================================
Hits 4086 4086
- Misses 28994 28997 +3
Partials 198 198
Continue to review full report at Codecov.
|
hmm, this JDK bug has been closed as "not a java bug", with reference to a hadoop bug. So I don't know how deep you looked into this, but at a surface level this looks like it might have made it worse, not better, but I'm not sure. |
I'm under the impression that one of the main reasons it was closed was because they had no reliable reproduction environment and therefore no way to confirm it was a Java bug? Either way - if a part of Java depends on weak reference cleanups, and the default GC doesn't handle that reliably, that's a Java bug. |
The main difference is that we are using weakly-referenced |
This allows high performance without leaking memory, and works around the JVM bug with ThreadLocals. Fixes #1722.