You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@htrace.apache.org by "Masatake Iwasaki (JIRA)" <ji...@apache.org> on 2015/12/14 17:23:46 UTC

[jira] [Commented] (HTRACE-330) Add to Tracer, TRACE-level logging of push and pop of contexts to aid debugging "Can't close TraceScope.."

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

Masatake Iwasaki commented on HTRACE-330:
-----------------------------------------

Is full stack is important here? If not, it could be a bit more brief like:
{noformat}
15/12/14 11:23:10 TRACE core.Tracer: Pushing TraceScope(tracerId=FSClient/10.211.55.5, span={"a":"043617c5caf5da30d087d128bdb9dde1","b":1450059790491,"d":"Globber#glob","r":"FSClient/10.211.55.5","p":["043617c5caf5da302c7eec647c708806"]}, detached=false) at: org.apache.hadoop.fs.Globber.glob(Globber.java:145)
...
15/12/14 11:23:10 TRACE core.Tracer: Popping at: org.apache.hadoop.hdfs.DFSClient.getFileInfo(DFSClient.java:1595)
15/12/14 11:23:10 TRACE core.Tracer: Popping at: org.apache.hadoop.fs.Globber.glob(Globber.java:150)
{noformat}

by utility like:
{code}
      if (LOG.isTraceEnabled()) LOG.trace("Pushing " + scope + " at: " + getCaller());
      ...

    private String getCaller() {
      StackTraceElement[] elements = (new Throwable()).getStackTrace();
      for (StackTraceElement e : elements) {
        if (!(e.getClassName().startsWith(Tracer.class.getPackage().getName()))) {
          return e.toString();
        }
      }
      return java.util.Arrays.toString(elements);
    }
{code}


> Add to Tracer, TRACE-level logging of push and pop of contexts to aid debugging "Can't close TraceScope.."
> ----------------------------------------------------------------------------------------------------------
>
>                 Key: HTRACE-330
>                 URL: https://issues.apache.org/jira/browse/HTRACE-330
>             Project: HTrace
>          Issue Type: Improvement
>          Components: debugging, htraced
>            Reporter: stack
>         Attachments: trace.push.pop.logging.patch
>
>
> Allow logging of push and pop of tracing scopes. Helps debug these kind of complaints:
> {code}
> 74546 2015-12-09 22:41:35,588 FATAL [localhost:62928.activeMasterManager] master.HMaster: Failed to become active master
> 74547 java.lang.RuntimeException: Can't close TraceScope for {"a":"786592075da52dd193e82c3df8462a4a","b":1449729695240,"d":"get","r":"hconnection-0x7b764474","p":["786592075da52dd125a2fdf5331a5961"]} because it is not the current TraceScope, {"a":"786592075da52dd1b93b4c359c1f08f1","b":1449729695565,"d":"hbase:meta","r":"hconnection-0x7b764474","p":["786592075da5      2dd193e82c3df8462a4a"],"t":[{"t":1449729695584,"m":"Creating MemStoreScanner"}]}, in thread localhost:62928.activeMasterManager
> 74548   at org.apache.htrace.core.Tracer.throwClientError(Tracer.java:278)
> 74549   at org.apache.htrace.core.Tracer.closeScope(Tracer.java:588)
> 74550   at org.apache.htrace.core.TraceScope.close(TraceScope.java:111)
> 74551   at org.apache.hadoop.hbase.client.HTable.get(HTable.java:467)
> 74552   at org.apache.hadoop.hbase.client.HTable.get(HTable.java:414)
> 74553   at org.apache.hadoop.hbase.master.TableNamespaceManager.get(TableNamespaceManager.java:178)
> 74554   at org.apache.hadoop.hbase.master.TableNamespaceManager.isTableAvailableAndInitialized(TableNamespaceManager.java:295)
> 74555   at org.apache.hadoop.hbase.master.TableNamespaceManager.start(TableNamespaceManager.java:116)
> 74556   at org.apache.hadoop.hbase.master.HMaster.initNamespace(HMaster.java:971)
> 74557   at org.apache.hadoop.hbase.master.HMaster.finishActiveMasterInitialization(HMaster.java:786)
> 74558   at org.apache.hadoop.hbase.master.HMaster.access$500(HMaster.java:188)
> 74559   at org.apache.hadoop.hbase.master.HMaster$1.run(HMaster.java:1767)
> 74560   at org.apache.htrace.core.TraceRunnable.run(TraceRunnable.java:45)
> 74561   at java.lang.Thread.run(Thread.java:744)
> {code}



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