-
Notifications
You must be signed in to change notification settings - Fork 925
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
Fix a recursive update with a ConcurrentHashMap
in `RefreshingAddre…
#3530
Conversation
…ssResolver` Motivation: I saw an inifite test that never terminates on our CI build with Java 8 That is caused by a recursive update when invalidating a cache on a failed DNS query. See line#3528 for details Modifications: - Invalidate a cache asynchronously to avoid recursive updates Result: - You no longer see an infinity loop or an `IllegalStateException: Recurse update` when invalidating a DNS cache. - Fixes line#3528
Codecov Report
@@ Coverage Diff @@
## master #3530 +/- ##
============================================
- Coverage 73.93% 73.91% -0.02%
+ Complexity 14206 14203 -3
============================================
Files 1245 1245
Lines 54187 54187
Branches 6929 6929
============================================
- Hits 40061 40051 -10
- Misses 10586 10596 +10
Partials 3540 3540
Continue to review full report at Codecov.
|
Alternatively, you might be able to return Caffeine also offers an |
The returned
Nice suggestion. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks, @ikhoon!
This sounds better to me. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks, @ikhoon!
AsyncCache
also sounds good.
Filed an issue for this. #3547 |
Thanks, @ikhoon. Let's merge this first and then migrate to |
…ssResolver`
Motivation:
I saw an infinite test that never terminates on our CI build with Java 8
That is caused by a recursive update which invalidates a cache when failed to query DNS recodes.
See #3528 for details
Modifications:
Result:
IllegalStateException: Recurse update
when invalidating a DNS cache.
RefreshingAddressResolver
#3528