hadoop-hdfs-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Karan Mehta (JIRA)" <j...@apache.org>
Subject [jira] [Created] (HDFS-11583) Parent spans not initialized for every DFSPacket
Date Mon, 27 Mar 2017 18:22:41 GMT
Karan Mehta created HDFS-11583:

             Summary: Parent spans not initialized for every DFSPacket
                 Key: HDFS-11583
                 URL: https://issues.apache.org/jira/browse/HDFS-11583
             Project: Hadoop HDFS
          Issue Type: Bug
            Reporter: Karan Mehta

The issue was found while working with PHOENIX-3752.

Each packet received by the {{run()}} method of {{DataStreamer}} class, uses the {{parents}}
field of the {{DFSPacket}} to create a new {{dataStreamer}} span, which in turn creates a
{{writeTo}} span as its child span. The parents field is initialized when the packet is added
to the {{dataQueue}} and the value is initialized from the {{ThreadLocal}}. This is how HTrace
handles spans. 
A {{TraceScope}} is created and initialized to {{NullScope}} before the loop which runs till
the point when the stream is closed. 

Consider the following scenario, when the {{dataQueue}} contains multiple packets, only the
first of which has a tracing enabled. The scope is initialized to the {{dataStreamer}} scope
and a {{writeTo}} span is created as its child, which gets closed once the packet is sent
out to a remote datanode. Before {{writeTo}} span is started, the {{dataStreamer}} scope is
detached. So calling the close method on it doesn't do anything at the end of loop. 

The second iteration will be using the stale value of the {{scope}} variable with a DFSPacket
on which tracing is not enabled. This results in generation of an orphan {{writeTo}} spans
which are being delivered to the {{SpanReceiver}} as registered in the TraceFramework. This
may result in unlimited number of spans being generated and sent out to receiver. 

This message was sent by Atlassian JIRA

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

View raw message