-
Notifications
You must be signed in to change notification settings - Fork 375
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
The Redis integration can't distinguish final errors from retried errors #3820
Comments
Thanks for letting us know, definitely sucks that we're breaking folks and adding more work for you 😅 Let me sync with the other folks and we'll get back to you asap. |
It really isn't that bad, it's mostly confusion I think. |
Just an FYW that we are still looking into it; just trying to get the right people together with all the summer PTOs. |
No worries. That's much appreciated. |
Hey @byroot, I had a chat internally in Hughes what we came up with:
What we re thinking of doing is going back to the original monkey-patching for 5.x, that same that we do for 4.x. We don't think that is necessarily required for the We are happy to expand a conversation as well and hear any feedback. |
So you wouldn't instrument raw |
This is correct. Given we rather report Redis requests at a high-level, looking at the code in |
Note that |
Ref: redis-rb/redis-client#119
There is a bit of an ongoing problem with users of
dd-trace-rb
, the instrumentation of the Redis gem has a fairly different behavior whether you are using the 4.x version or 5.x version.More detail at redis-rb/redis-client#119 (comment), but in short with the 4.x version the instrumentation is hooked above the code in charge of retrying on error, while with 5.x it's below.
Because of this users upgrading from 4.x to 5.x see a stream of errors that aren't new at all, just weren't reported, and think the 5.x version is bugged.
This is no fault of
dd-trace-rb
, it just use the official hook points declared byredis-client
. As the maintainer ofredis-client
I'd like to find a solution to this, and totally willing to extend or evolve the hook points to allowdd-trace-rb
and similar projects to be able to ignore retried errors.But to help with that I'd first like to know if there is a precedent to this, is this done for other integrations? Would
dd-trace-rb
need to just not see errors, or need some kind of boolean telling whether the error is final, etc. As this would help me drive what the API change would look like.@ivoanjo @TonyCTHsu please let me know your thougths.
The text was updated successfully, but these errors were encountered: