[
https://issues.apache.org/jira/browse/HTRACE-119?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14341322#comment-14341322
]
Masatake Iwasaki commented on HTRACE-119:
-----------------------------------------
I think the reason why NullScope exists is making API usage simple. Users can
write
{code}
TraceScope ts = Trace.startSpan("MySpan");
...
ts.close();
{code}
instead of
{code}
TraceScope ts = null;
ts = Trace.startSpan("MySpan");
...
if (ts != null) {
ts.close();
}
{code}
It is confusing that this is correct for {{close}} but not for {{detach}}.
> detach of NullScope singleton should not fail
> ---------------------------------------------
>
> Key: HTRACE-119
> URL: https://issues.apache.org/jira/browse/HTRACE-119
> Project: HTrace
> Issue Type: Bug
> Affects Versions: master
> Reporter: Masatake Iwasaki
> Assignee: Masatake Iwasaki
> Attachments: HTRACE-119.001.patch
>
>
> The {{detach}} method of NullScope singleton is possible to be called
> multiple times by users avoiding conditionals by the assumption that
> NullScope#close and NullScope#detach results in no-op. Calling {{detach}} of
> NullScope singleton multiple times throws RuntimeException by HTRACE-101 now.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)