hadoop-hdfs-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Masatake Iwasaki (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (HDFS-11622) TraceId hardcoded to 0 in DataStreamer, correlation between multiple spans is lost
Date Thu, 13 Apr 2017 09:50:41 GMT

    [ https://issues.apache.org/jira/browse/HDFS-11622?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15967360#comment-15967360
] 

Masatake Iwasaki commented on HDFS-11622:
-----------------------------------------

Thanks for the comment, [~apurtell]. Considering batching in the HBase WAL, HDFS needs feature
to add parent span when {{DFSOutputStream#write}} is called to append each WALEntry (and when
{{hflush}} is called too?). Even code in trunk does not have this yet. Parent spans added
only on queuing DFSPacket now.

The issue described here is about tracking tracing spans by not parent-child relationship
but trace id . This is relevant to branch-2.7 only. While this is not crucial for end-to-end
tracing of HBase WAL batching, I welcome the patch to fix this issue if there are needs for
analyzing tracing spans by trace id only.

> TraceId hardcoded to 0 in DataStreamer, correlation between multiple spans is lost
> ----------------------------------------------------------------------------------
>
>                 Key: HDFS-11622
>                 URL: https://issues.apache.org/jira/browse/HDFS-11622
>             Project: Hadoop HDFS
>          Issue Type: Bug
>          Components: tracing
>            Reporter: Karan Mehta
>
> In the {{run()}} method of {{DataStreamer}} class, the following code is written. {{parents\[0\]}}
refer to the {{spanId}} of the parent span.
> {code}
>               one = dataQueue.getFirst(); // regular data packet
>               long parents[] = one.getTraceParents();
>               if (parents.length > 0) {
>                      scope = Trace.startSpan("dataStreamer", new TraceInfo(0, parents[0]));
>                 // TODO: use setParents API once it's available from HTrace 3.2
>                 // scope = Trace.startSpan("dataStreamer", Sampler.ALWAYS);
>                 // scope.getSpan().setParents(parents);
>               }
> {code}
> The {{scope}} starts a new TraceSpan with a traceId hardcoded to 0. Ideally it should
be taken when {{currentPacket.addTraceParent(Trace.currentSpan())}} is invoked. This JIRA
is to propose an additional long field inside the {{DFSPacket}} class which holds the parent
{{traceId}}. 



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)

---------------------------------------------------------------------
To unsubscribe, e-mail: hdfs-issues-unsubscribe@hadoop.apache.org
For additional commands, e-mail: hdfs-issues-help@hadoop.apache.org


Mime
View raw message