Uh oh!
There was an error while loading. Please reload this page.
HBASE-26759 Fix trace continuity through CallRunner - #4126
Conversation
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
Apache9
commented
Feb 23, 2022
I think the problem here is that we forget to end the span created in ServerRpcConnection? Anyway, I think we should have a big span to trace the whole rpc processing... |
ndimiduk
commented
Feb 23, 2022
I did not attempt to perform an audit of the span lifecycle, only reconnected the orphaned span to what appears to be its proper parent. If you think there are bugs in properly closing spans, I hope that we can find them by way of the pom change i have over on https://github.com/apache/hbase/pull/4106/files#diff-9c5fb3d1b7e3b0f54bc5c4182965c4fe1f9023d449017cece3005d3f90e8e4d8 |
ndimiduk
commented
Feb 23, 2022
I believe this patch fixes the issue because I no longer see a litany of these spans attached to a test-root span, and instead see spans of this name attached to a region scanner lifecycle, |
ndimiduk
commented
Feb 23, 2022
I do find it strange that we have a span explicitly for a |
This comment was marked as outdated.
This comment was marked as outdated.
Apache9
commented
Feb 25, 2022
I mean we have a span here I think it will be the parent span for the spans at server side, and seems it has not been ended properly? |
ndimiduk
commented
Feb 28, 2022
I see that the trace scope is closed properly, but I think you're correct that the trace is not ended, neither with success nor failure.
My impression was that this span in |
We appear to be generating spans with without a parent context with the name `RegionScanner.close`. This was a symptom of span scope disconnect through the `CallRunner` execution path.
4780035 to
01ab773CompareRegionScanner.close spansndimiduk
commented
Mar 4, 2022
@Apache9 please take another look. |
Apache-HBase
commented
Mar 4, 2022
🎊 +1 overall
This message was automatically generated. |
Apache9
commented
Mar 4, 2022
Ah, sorry, forgot to reply here. No additional scope. Let me check the newest PR. |
| if (!this.rpcServer.scheduler.dispatch(new CallRunner(this.rpcServer, call))) { | ||
| if (this.rpcServer.scheduler.dispatch(new CallRunner(this.rpcServer, call, span))) { | ||
| // unset span do that it's not closed in the finally block | ||
| span = null; |
There was a problem hiding this comment.
Yes, the code structure here is not friendly for tracing...
Thanks for the detailed comments!
Apache-HBase
commented
Mar 4, 2022
🎊 +1 overall
This message was automatically generated. |
Signed-off-by: Andrew Purtell <apurtell@apache.org> Signed-off-by: Duo Zhang <zhangduo@apache.org>
Signed-off-by: Andrew Purtell <apurtell@apache.org> Signed-off-by: Duo Zhang <zhangduo@apache.org>
Apache-HBase
commented
Mar 5, 2022
💔 -1 overall
This message was automatically generated. |
Apache-HBase
commented
Mar 5, 2022
🎊 +1 overall
This message was automatically generated. |
We appear to be generating spans with without a parent context with the name
RegionScanner.close.