-
Notifications
You must be signed in to change notification settings - Fork 886
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 dubbo trace/span cross-process propagation #3442
Conversation
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.
Would it be possible to change the tests so that they verify that passing context via RpcInvocation
is broken?
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.
Yes, it should choose RpcContext here, thanks!
Well,I think this problem is difficult to verify in general tests because it occurs inside the dubbo invoke and there is no reference value to prove that the trace is not correct when dubbo server side extract trace context. It seems that the problem can only be discovered by looking at it manually. |
Too bad -- I hoped that it'd be possible to add a one-liner that does something with the Still, thanks for fixing that! 👍 |
I will pay attention to this issue, and if there is a better way to test it in the future, I will start a issue to discuss it. |
It is inappropriate to use the Invocation for cross-process propagation. When the Dubbo Client makes an RPC call, No matter how to set up the invocation's attachement in Filter,
AbstractInvoker
will eventually get the attachement from the RPCContext and backfill it to the invocation.OpenTelemetryFilter
DubboInjectAdapter
AbstractInvoker
As a Dubbo server, the attachements of the
RpcContext
are set in theContextFilter
, which is derived from the invocation. ,and this Filter is a high priority.ContextFilter
About this issue see #3427