[ 
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)

Reply via email to