[jira] [Commented] (HDFS-8213) DFSClient should not instantiate SpanReceiverHost

2015-04-23 Thread Colin Patrick McCabe (JIRA)

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

Colin Patrick McCabe commented on HDFS-8213:


bq. can you people suggest configuration for DFSClient..?

I'm thinking {{hdfs.client.htrace.spanreceiver.classes}}.  It's not completely 
trivial because I have to change our SpanReceiverHost thing, but shouldn't be 
too bad... let me see if I can post the patch

> DFSClient should not instantiate SpanReceiverHost
> -
>
> Key: HDFS-8213
> URL: https://issues.apache.org/jira/browse/HDFS-8213
> Project: Hadoop HDFS
>  Issue Type: Bug
>Affects Versions: 2.7.0
>Reporter: Billie Rinaldi
>Assignee: Brahma Reddy Battula
>Priority: Critical
>
> DFSClient initializing SpanReceivers is a problem for Accumulo, which manages 
> SpanReceivers through its own configuration.  This results in the same 
> receivers being registered multiple times and spans being delivered more than 
> once.  The documentation says SpanReceiverHost.getInstance should be issued 
> once per process, so there is no expectation that DFSClient should do this.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (HDFS-8213) DFSClient should not instantiate SpanReceiverHost

2015-04-22 Thread Brahma Reddy Battula (JIRA)

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

Brahma Reddy Battula commented on HDFS-8213:


Thanks [~billie.rinaldi] for raising issue and [~cmccabe] for your inputs ..

can you people suggest configuration for DFSClient..? 

> DFSClient should not instantiate SpanReceiverHost
> -
>
> Key: HDFS-8213
> URL: https://issues.apache.org/jira/browse/HDFS-8213
> Project: Hadoop HDFS
>  Issue Type: Bug
>Affects Versions: 2.7.0
>Reporter: Billie Rinaldi
>Assignee: Brahma Reddy Battula
>Priority: Critical
>
> DFSClient initializing SpanReceivers is a problem for Accumulo, which manages 
> SpanReceivers through its own configuration.  This results in the same 
> receivers being registered multiple times and spans being delivered more than 
> once.  The documentation says SpanReceiverHost.getInstance should be issued 
> once per process, so there is no expectation that DFSClient should do this.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (HDFS-8213) DFSClient should not instantiate SpanReceiverHost

2015-04-22 Thread Billie Rinaldi (JIRA)

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

Billie Rinaldi commented on HDFS-8213:
--

I agree, having DFSClient use a separate configuration key seems like it would 
satisfy all the issues we've discussed.  Thanks for coming up with a solution 
that works for both of us, [~cmccabe].

> DFSClient should not instantiate SpanReceiverHost
> -
>
> Key: HDFS-8213
> URL: https://issues.apache.org/jira/browse/HDFS-8213
> Project: Hadoop HDFS
>  Issue Type: Bug
>Affects Versions: 2.7.0
>Reporter: Billie Rinaldi
>Assignee: Brahma Reddy Battula
>Priority: Critical
>
> DFSClient initializing SpanReceivers is a problem for Accumulo, which manages 
> SpanReceivers through its own configuration.  This results in the same 
> receivers being registered multiple times and spans being delivered more than 
> once.  The documentation says SpanReceiverHost.getInstance should be issued 
> once per process, so there is no expectation that DFSClient should do this.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (HDFS-8213) DFSClient should not instantiate SpanReceiverHost

2015-04-22 Thread Colin Patrick McCabe (JIRA)

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

Colin Patrick McCabe commented on HDFS-8213:


bq. Yes, clients need tracing, and when they do they should enable it 
themselves. FsShell should enable tracing when it wants to use it, instead of 
doing that in DFSClient.

There are hundreds or maybe even thousands of programs that use the HDFS 
client.  It's not practical to modify them all to run 
{{Trace#addSpanReceiver}}.  In some cases the programs that use HDFS are even 
proprietary or customer programs where we don't have access to the source code.

I have some ideas for how to make this all work better with a better interface 
in {{Tracer}}.  We might need an incompatible interface change to do it, 
though.  For now, let's just change the config key for DFSClient... that should 
fix the problem for Accumulo.

> DFSClient should not instantiate SpanReceiverHost
> -
>
> Key: HDFS-8213
> URL: https://issues.apache.org/jira/browse/HDFS-8213
> Project: Hadoop HDFS
>  Issue Type: Bug
>Affects Versions: 2.7.0
>Reporter: Billie Rinaldi
>Assignee: Brahma Reddy Battula
>Priority: Critical
>
> DFSClient initializing SpanReceivers is a problem for Accumulo, which manages 
> SpanReceivers through its own configuration.  This results in the same 
> receivers being registered multiple times and spans being delivered more than 
> once.  The documentation says SpanReceiverHost.getInstance should be issued 
> once per process, so there is no expectation that DFSClient should do this.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (HDFS-8213) DFSClient should not instantiate SpanReceiverHost

2015-04-22 Thread Colin Patrick McCabe (JIRA)

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

Colin Patrick McCabe commented on HDFS-8213:


bq. I think Billie Rinaldi is correct here; the client should not instantiate 
it's own SpanReceiverHost, but instead depend on the process in which it 
resides to provide. This is how HBase client works as well.

[~ndimiduk], what if I want to trace an HBase PUT all the way through the 
system?  You're saying that the HBase client can't activate tracing on its own, 
so I have to make code changes to the process doing the PUT (i.e. the user of 
the HBase client) in order to get that info?  Seems like a limitation.

It's also worth pointing out that adding a {{SpanReceiverHost}} to the 
{{DFSClient}} is not really a new change... it goes back to HDFS-7055, last 
October.  So it's been in there at least 6 months.  Of course we can revisit it 
if that makes sense, but it's not really "new" except in the sense that it took 
a very long time to do another Hadoop release with that in it.  (We really 
should start being better with releases...)

Thinking about this a little more, another possible resolution here is to 
change the configuration keys which the DFSClient looks for so that it's 
different than the ones which the NameNode and DataNode look for.  Right now 
{{hadoop.htrace.spanreceiver.classes}} will activate span receivers in both the 
NN and the DFSClient.  But the DFSClient could instead look for 
{{hdfs.client.htrace.spanreceiver.classes}}.  Then [~billie.rinaldi] could use 
the same configuration file for everything, and the dfsclient would never 
create its own span receivers or samplers.  And I could continue to trace the 
dfsclient without modifying daemon code.  Seems like a good resolution.

> DFSClient should not instantiate SpanReceiverHost
> -
>
> Key: HDFS-8213
> URL: https://issues.apache.org/jira/browse/HDFS-8213
> Project: Hadoop HDFS
>  Issue Type: Bug
>Affects Versions: 2.7.0
>Reporter: Billie Rinaldi
>Assignee: Brahma Reddy Battula
>Priority: Critical
>
> DFSClient initializing SpanReceivers is a problem for Accumulo, which manages 
> SpanReceivers through its own configuration.  This results in the same 
> receivers being registered multiple times and spans being delivered more than 
> once.  The documentation says SpanReceiverHost.getInstance should be issued 
> once per process, so there is no expectation that DFSClient should do this.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (HDFS-8213) DFSClient should not instantiate SpanReceiverHost

2015-04-22 Thread Billie Rinaldi (JIRA)

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

Billie Rinaldi commented on HDFS-8213:
--

Yes, clients need tracing, and when they do they should enable it themselves.  
FsShell should enable tracing when it wants to use it, instead of doing that in 
DFSClient.

A solution in 2.7.1 would be sufficient.  I have concerns about bumping the 
htrace dependency version as htrace 3.2 has many API incompatibilities with 
3.1.  I've begun to compile them on ACCUMULO-3741.

> DFSClient should not instantiate SpanReceiverHost
> -
>
> Key: HDFS-8213
> URL: https://issues.apache.org/jira/browse/HDFS-8213
> Project: Hadoop HDFS
>  Issue Type: Bug
>Affects Versions: 2.7.0
>Reporter: Billie Rinaldi
>Assignee: Brahma Reddy Battula
>Priority: Critical
>
> DFSClient initializing SpanReceivers is a problem for Accumulo, which manages 
> SpanReceivers through its own configuration.  This results in the same 
> receivers being registered multiple times and spans being delivered more than 
> once.  The documentation says SpanReceiverHost.getInstance should be issued 
> once per process, so there is no expectation that DFSClient should do this.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (HDFS-8213) DFSClient should not instantiate SpanReceiverHost

2015-04-22 Thread Colin Patrick McCabe (JIRA)

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

Colin Patrick McCabe commented on HDFS-8213:


bq. The hadoop.htrace.span.receiver.classes is not set in Accumulo 
configuration files, but it is set in Hadoop configuration files. Accumulo uses 
Hadoop configuration files to connect to HDFS, thus its uses of DFSClient will 
have Hadoop's hadoop.htrace.span.receiver.classes. HBase does something 
similar, I believe.

The way Cloudera Manager manages configuration files is that it creates 
separate config files for each daemon.  So the NameNode reads its own set of 
config files, the DataNode reads a separate set, Hive reads another set, Flume 
reads still another set, etc. etc.  So {{hadoop.htrace.span.receiver.classes}} 
would be set in the NN and DN configuration files, but not in the ones 
targetted towards the DFSClients.  Does Ambari do something similar?  It seems 
like using the same set of configuration files for everything would be very 
limiting, if you wanted to do something like turn on short circuit for some 
clients but not for others, etc.

I know from a developer perspective it's frustrating to not be able to use the 
same config files for every daemon (I like to do that myself) but it's not 
broken, just inconvenient.

bq. No. The way it works (did work, until this change was introduced in 
DFSClient) is that server processes instantiate SpanReceiverHost. If an app 
wants tracing, it also has to instantiate SpanReceiverHost. The Accumulo client 
does not instantiate SPH itself, as DFSClient should not.

It's not true that only server processes need tracing.  Clients also need 
tracing.  For example, one test I do a lot is to run FsShell with tracing 
turned on.  This would not be possible if only servers had tracing.  The point 
that I was making with my example is that the Accumulo client itself probably 
should have tracing too, and this would potentially conflict with another 
server using the Accumulo client.

bq. The change in DFSClient changes how apps are supposed to use tracing. It 
seems like this would be mitigated by deduping SpanReceivers in htrace, but if 
we go that route I would like the DFSClient change to be reverted until HDFS 
moves to a version of htrace with deduping. Otherwise, Accumulo and HBase will 
have to leave HDFS tracing disabled, or change how they're configuring HDFS, if 
they wish to avoid double delivery of spans.

We're doing a new release of HTrace soon... like this week or the next.  If we 
can get the deduping into the 3.2 release, we can bump the version in Hadoop 
2.7.1.  We can't change what's in Hadoop 2.7.0, that release is done.

Thanks again for trying this stuff out.  I'm going to work on a deduping patch 
for HTrace, would appreciate a review.

> DFSClient should not instantiate SpanReceiverHost
> -
>
> Key: HDFS-8213
> URL: https://issues.apache.org/jira/browse/HDFS-8213
> Project: Hadoop HDFS
>  Issue Type: Bug
>Affects Versions: 2.7.0
>Reporter: Billie Rinaldi
>Assignee: Brahma Reddy Battula
>Priority: Critical
>
> DFSClient initializing SpanReceivers is a problem for Accumulo, which manages 
> SpanReceivers through its own configuration.  This results in the same 
> receivers being registered multiple times and spans being delivered more than 
> once.  The documentation says SpanReceiverHost.getInstance should be issued 
> once per process, so there is no expectation that DFSClient should do this.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (HDFS-8213) DFSClient should not instantiate SpanReceiverHost

2015-04-22 Thread Billie Rinaldi (JIRA)

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

Billie Rinaldi commented on HDFS-8213:
--

The hadoop.htrace.span.receiver.classes is not set in Accumulo configuration 
files, but it is set in Hadoop configuration files.  Accumulo uses Hadoop 
configuration files to connect to HDFS, thus its uses of DFSClient will have 
Hadoop's hadoop.htrace.span.receiver.classes.  HBase does something similar, I 
believe.

bq. Plus, it just kicks the problem up to a higher level. If my FooProcess 
wants to use both HTrace and Accumulo, FooProcess could easily make the same 
argument that "Accumulo should not instantiate SpanReceiverHost" since 
FooProcess is already doing that. And since FooProcess uses the accumulo 
client, it would conflict with whatever accumulo was configuring, if the same 
config file was used for everything.

No.  The way it works (did work, until this change was introduced in DFSClient) 
is that server processes instantiate SpanReceiverHost.  If an app wants 
tracing, it also has to instantiate SpanReceiverHost.  The Accumulo client does 
not instantiate SPH itself, as DFSClient should not.

bq. One thing we could do to make this a little less painful is to deduplicate 
span receivers inside the library. So if both DFSClient and Accumlo requested 
an HTracedSpanReceiver, we could simply create one instance of that. This would 
allow us to use the same config file for everything.

The change in DFSClient changes how apps are supposed to use tracing.  It seems 
like this would be mitigated by deduping SpanReceivers in htrace, but if we go 
that route I would like the DFSClient change to be reverted until HDFS moves to 
a version of htrace with deduping.  Otherwise, Accumulo and HBase will have to 
leave HDFS tracing disabled, or change how they're configuring HDFS, if they 
wish to avoid double delivery of spans.

> DFSClient should not instantiate SpanReceiverHost
> -
>
> Key: HDFS-8213
> URL: https://issues.apache.org/jira/browse/HDFS-8213
> Project: Hadoop HDFS
>  Issue Type: Bug
>Affects Versions: 2.7.0
>Reporter: Billie Rinaldi
>Assignee: Brahma Reddy Battula
>Priority: Critical
>
> DFSClient initializing SpanReceivers is a problem for Accumulo, which manages 
> SpanReceivers through its own configuration.  This results in the same 
> receivers being registered multiple times and spans being delivered more than 
> once.  The documentation says SpanReceiverHost.getInstance should be issued 
> once per process, so there is no expectation that DFSClient should do this.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (HDFS-8213) DFSClient should not instantiate SpanReceiverHost

2015-04-22 Thread Colin Patrick McCabe (JIRA)

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

Colin Patrick McCabe commented on HDFS-8213:


Thanks again for kicking the tires on htrace, [~billie.rinaldi].  Let me see if 
I can get to the bottom of this.

bq. As documented, each process must configure its own span receivers if it 
wants to use tracing. If I set hadoop.htrace.span.receiver.classes to the empty 
string, then the NameNode and DataNode will not do any tracing.

You are right that you need to set {{hadoop.htrace.span.receiver.classes}} in 
the NameNode and DataNode configuration.  However, you need to avoid setting it 
in the Accumulo configuration... instead, use whatever configuration Accumulo 
uses to set this value.  This means that you can't use the same config file for 
the NN and DN as for the DFSClient, currently.

bq. If span receiver initialization in DFSClient is important to the use of the 
hadoop.htrace.sampler configuration property, perhaps a compromise would be to 
perform SpanReceiverHost.getInstance only when the sampler is set to something 
other than NeverSampler.

Keep in mind that {{hadoop.htrace.sampler}} is a completely different 
configuration key than {{hadoop.htrace.span.receiver.classes}}.  If you are 
sampling at the level of Accumulo operations, I would not recommend setting 
{{hadoop.htrace.sampler}}, in any config file on the cluster.  You want all of 
the sampling to happen inside accumulo.

bq. I think Billie Rinaldi is correct here; the client should not instantiate 
it's own SpanReceiverHost, but instead depend on the process in which it 
resides to provide. This is how HBase client works as well.

HBase is exactly the same.  In the case of HBase, you do not want to set 
{{hadoop.htrace.span.receiver.classes}} in the HBase config files.  Instead, 
you would set {{hbase.htrace.span.receiver.classes}}.  Then HBase would create 
a span receiver, and DFSClient would not.

It seems like there is a hidden assumption here that you want to use the same 
config file for everything.  But we really don't support that right now.

Getting rid of the SpanReceiverHost in DFSClient is not an option since some 
people want to just trace HDFS without tracing any other system.  Plus, it just 
kicks the problem up to a higher level.  If my FooProcess wants to use both 
HTrace and Accumulo, FooProcess could easily make the same argument that 
"Accumulo should not instantiate SpanReceiverHost" since FooProcess is already 
doing that.  And since FooProcess uses the accumulo client, it would conflict 
with whatever accumulo was configuring, if the same config file was used for 
everything.

One thing we could do to make this a little less painful is to deduplicate span 
receivers inside the library.  So if both DFSClient and Accumlo requested an 
HTracedSpanReceiver, we could simply create one instance of that.  This would 
allow us to use the same config file for everything.

As a side note, [~billie.rinaldi], can you explain how you configure which 
sampler and span receiver accumulo uses?  In HBase we set it to 
{{hbase.htrace.span.receiver.classes}}, etc.  I would recommend something like 
{{accumulo.htrace.span.receiver.classes}} for consistency.  This also allows 
you to sue the same config file for everything since it doesn't conflict with 
the keys which Hadoop uses to set these values.  That is the reason why we set 
up the "hbase.htrace" "namespace" as separate from the "hadoop.htrace" 
"namespace" if you see what I'm saying.

> DFSClient should not instantiate SpanReceiverHost
> -
>
> Key: HDFS-8213
> URL: https://issues.apache.org/jira/browse/HDFS-8213
> Project: Hadoop HDFS
>  Issue Type: Bug
>Affects Versions: 2.7.0
>Reporter: Billie Rinaldi
>Assignee: Brahma Reddy Battula
>Priority: Critical
>
> DFSClient initializing SpanReceivers is a problem for Accumulo, which manages 
> SpanReceivers through its own configuration.  This results in the same 
> receivers being registered multiple times and spans being delivered more than 
> once.  The documentation says SpanReceiverHost.getInstance should be issued 
> once per process, so there is no expectation that DFSClient should do this.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (HDFS-8213) DFSClient should not instantiate SpanReceiverHost

2015-04-21 Thread Nick Dimiduk (JIRA)

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

Nick Dimiduk commented on HDFS-8213:


I think [~billie.rinaldi] is correct here; the client should not instantiate 
it's own SpanReceiverHost, but instead depend on the process in which it 
resides to provide. This is how HBase client works as well.

> DFSClient should not instantiate SpanReceiverHost
> -
>
> Key: HDFS-8213
> URL: https://issues.apache.org/jira/browse/HDFS-8213
> Project: Hadoop HDFS
>  Issue Type: Bug
>Affects Versions: 2.7.0
>Reporter: Billie Rinaldi
>Priority: Critical
>
> DFSClient initializing SpanReceivers is a problem for Accumulo, which manages 
> SpanReceivers through its own configuration.  This results in the same 
> receivers being registered multiple times and spans being delivered more than 
> once.  The documentation says SpanReceiverHost.getInstance should be issued 
> once per process, so there is no expectation that DFSClient should do this.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (HDFS-8213) DFSClient should not instantiate SpanReceiverHost

2015-04-21 Thread Billie Rinaldi (JIRA)

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

Billie Rinaldi commented on HDFS-8213:
--

If span receiver initialization in DFSClient is important to the use of the 
hadoop.htrace.sampler configuration property, perhaps a compromise would be to 
perform SpanReceiverHost.getInstance only when the sampler is set to something 
other than NeverSampler.

> DFSClient should not instantiate SpanReceiverHost
> -
>
> Key: HDFS-8213
> URL: https://issues.apache.org/jira/browse/HDFS-8213
> Project: Hadoop HDFS
>  Issue Type: Bug
>Affects Versions: 2.7.0
>Reporter: Billie Rinaldi
>Priority: Critical
>
> DFSClient initializing SpanReceivers is a problem for Accumulo, which manages 
> SpanReceivers through its own configuration.  This results in the same 
> receivers being registered multiple times and spans being delivered more than 
> once.  The documentation says SpanReceiverHost.getInstance should be issued 
> once per process, so there is no expectation that DFSClient should do this.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (HDFS-8213) DFSClient should not instantiate SpanReceiverHost

2015-04-21 Thread Billie Rinaldi (JIRA)

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

Billie Rinaldi commented on HDFS-8213:
--

As documented, each process must configure its own span receivers if it wants 
to use tracing.  If I set hadoop.htrace.span.receiver.classes to the empty 
string, then the NameNode and DataNode will not do any tracing.

> DFSClient should not instantiate SpanReceiverHost
> -
>
> Key: HDFS-8213
> URL: https://issues.apache.org/jira/browse/HDFS-8213
> Project: Hadoop HDFS
>  Issue Type: Bug
>Affects Versions: 2.7.0
>Reporter: Billie Rinaldi
>Priority: Critical
>
> DFSClient initializing SpanReceivers is a problem for Accumulo, which manages 
> SpanReceivers through its own configuration.  This results in the same 
> receivers being registered multiple times and spans being delivered more than 
> once.  The documentation says SpanReceiverHost.getInstance should be issued 
> once per process, so there is no expectation that DFSClient should do this.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (HDFS-8213) DFSClient should not instantiate SpanReceiverHost

2015-04-21 Thread Colin Patrick McCabe (JIRA)

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

Colin Patrick McCabe commented on HDFS-8213:


Hi Billie,

{{DFSClient}} needs to instantiate {{SpanReceiverHost}} in order to implement 
tracing, in the case where the process using the {{DFSClient}} doesn't 
configure its own span receivers.

If you are concerned about multiple span receivers being instantiated, simply 
set {{hadoop.htrace.span.receiver.classes}} to the empty string, and Hadoop 
won't instantiate any span receivers.  That should be its default anyway.

> DFSClient should not instantiate SpanReceiverHost
> -
>
> Key: HDFS-8213
> URL: https://issues.apache.org/jira/browse/HDFS-8213
> Project: Hadoop HDFS
>  Issue Type: Bug
>Affects Versions: 2.7.0
>Reporter: Billie Rinaldi
>Priority: Critical
>
> DFSClient initializing SpanReceivers is a problem for Accumulo, which manages 
> SpanReceivers through its own configuration.  This results in the same 
> receivers being registered multiple times and spans being delivered more than 
> once.  The documentation says SpanReceiverHost.getInstance should be issued 
> once per process, so there is no expectation that DFSClient should do this.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)