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

Abhishek Agarwal edited comment on STORM-1542 at 2/12/16 12:15 PM:
-------------------------------------------------------------------

Now I can give an easy fix just to counter this specific scenario, I do not 
like the whole flow involved in this debugging utility. I send a jstack request 
and then I have to go to files section to wait for jstack dump to appear (which 
in itself is not intuitive). And the requests are being routed through 
zookeeper, which leads to error scenarios like these. 

These calls should be inline and synchronous for a better user experience. One 
option is to have an admin port in worker. jstack, jmap requests can be sent to 
this admin port. Downside is that for each worker, two ports need to be 
configured. 

Another option is to have an admin port in supervisor itself. Supervisor can 
execute the jstack, jmap commands in a separate process, read the 
results/errors and return them back to user in the UI. 

Any thoughts/suggestions?


was (Author: abhishek.agarwal):
Now I can give an easy fix just to counter this specific scenario, I do not 
like the whole flow involved in this debugging utility. I sent a jstack 
request, then I have to go to files section to wait for jstack dump to appear 
(which in itself is not intuitive). And the requests are being routed through 
zookeeper, which leads to error scenarios like these. 

The whole call should be inline ideally. I was thinking worker port having an 
admin port on which worker jvm itself can be queried for thread stack trace. 
But then for each worker, two ports would have to be configured. 

Other option is to have an admin port in supervisor itself. Here supervisor can 
still execute the jstack, jmap commands etc and return them in the same call. 

Any thoughts/suggestions?

> Clicking jstack for a worker in UI results in endless empty jstack dumps
> ------------------------------------------------------------------------
>
>                 Key: STORM-1542
>                 URL: https://issues.apache.org/jira/browse/STORM-1542
>             Project: Apache Storm
>          Issue Type: Bug
>          Components: storm-core
>    Affects Versions: 1.0.0
>            Reporter: Abhishek Agarwal
>            Assignee: Abhishek Agarwal
>            Priority: Critical
>
> Resolved path for jstack command on supervisor is
> /home/y/share/yjava_jdk/java/jstack which doesn't exist. command returns 127 
> as exit code. When a request for jstack dump is made from UI, a zookeeper 
> node is created. Now supervisor keeps on reading this node, executes jstack 
> command and since exit code is non-zero, doesn't delete the node afterwards. 
> Thus supervisor keeps on executing the command forever and each invocation 
> creates an new empty file.
> {noformat}
> $BINPATH/jstack $1 > "$2/${FILENAME}"
> {noformat}



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

Reply via email to