[jira] [Comment Edited] (YARN-6170) TimelineReaderServer should wait to join with HttpServer2

2017-02-10 Thread Sangjin Lee (JIRA)

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

Sangjin Lee edited comment on YARN-6170 at 2/10/17 7:06 PM:


Thanks for the info Varun. I found HADOOP-11749.

I can definitely see an argument that {{HttpServer2.start()}} should ensure it 
stays up. However, it might be somewhat awkward to do it there. I'm not too 
sure if I like the idea of turning some threads it owns into non-daemon to do 
it. The right way to do it is still to join, but you cannot do that (inline) in 
the {{start()}} method.

{{HttpServer2}} does offer a {{join()}} method (probably for this purpose). I'm 
going to put up a patch that utilizes this. Let me know what you think.


was (Author: sjlee0):
Thanks for the info Varun. I found HADOOP-11479.

I can definitely see an argument that {{HttpServer2.start()}} should ensure it 
stays up. However, it might be somewhat awkward to do it there. I'm not too 
sure if I like the idea of turning some threads it owns into non-daemon to do 
it. The right way to do it is still to join, but you cannot do that (inline) in 
the {{start()}} method.

{{HttpServer2}} does offer a {{join()}} method (probably for this purpose). I'm 
going to put up a patch that utilizes this. Let me know what you think.

> TimelineReaderServer should wait to join with HttpServer2
> -
>
> Key: YARN-6170
> URL: https://issues.apache.org/jira/browse/YARN-6170
> Project: Hadoop YARN
>  Issue Type: Sub-task
>  Components: timelinereader
>Affects Versions: 3.0.0-alpha2, YARN-5355
>Reporter: Sangjin Lee
>Assignee: Sangjin Lee
>Priority: Minor
>
> While I was backporting YARN-5355-branch-2 to a 2.6.0-based code branch, I 
> noticed that the timeline reader daemon would promptly shut down upon start. 
> It turns out that in the 2.6.0 code line at least there are only daemon 
> threads left once the main method returns. That causes the JVM to shut down.
> The right pattern to start an embedded jetty web server is to call 
> {{Server.start()}} followed by {{Server.join()}}. That way, the server stays 
> up reliably no matter what other threads get created.
> It works on YARN-5355 only because there *happens* to be one other non-daemon 
> thread. We should add the {{join()}} call to be always correct.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)

-
To unsubscribe, e-mail: yarn-issues-unsubscr...@hadoop.apache.org
For additional commands, e-mail: yarn-issues-h...@hadoop.apache.org



[jira] [Comment Edited] (YARN-6170) TimelineReaderServer should wait to join with HttpServer2

2017-02-10 Thread Varun Saxena (JIRA)

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

Varun Saxena edited comment on YARN-6170 at 2/10/17 10:31 AM:
--

Thanks [~sjlee0] for raising the issue. I remember Zhijie raising a similar 
issue(don't remember the JIRA ID) but that talked about HttpServer2 not making 
QueuedThreadPool as daemon if this is likely to be only thread in JVM.

By the way should this be a HADOOP JIRA instead of YARN JIRA?



was (Author: varun_saxena):
Thanks [~sjlee0] for raising the issue. I remember Zhijie raising a similar 
issue(don't remember the JIRA ID) but that talked about not making HttpServer2 
not making QueuedThreadPool as daemon if this is likely to be only thread in 
JVM.

By the way should this be a HADOOP JIRA instead of YARN JIRA?


> TimelineReaderServer should wait to join with HttpServer2
> -
>
> Key: YARN-6170
> URL: https://issues.apache.org/jira/browse/YARN-6170
> Project: Hadoop YARN
>  Issue Type: Sub-task
>  Components: timelinereader
>Affects Versions: YARN-5355
>Reporter: Sangjin Lee
>Assignee: Sangjin Lee
>Priority: Minor
>  Labels: yarn-5355-merge-blocker
>
> While I was backporting YARN-5355-branch-2 to a 2.6.0-based code branch, I 
> noticed that the timeline reader daemon would promptly shut down upon start. 
> It turns out that in the 2.6.0 code line at least there are only daemon 
> threads left once the main method returns. That causes the JVM to shut down.
> The right pattern to start an embedded jetty web server is to call 
> {{Server.start()}} followed by {{Server.join()}}. That way, the server stays 
> up reliably no matter what other threads get created.
> It works on YARN-5355 only because there *happens* to be one other non-daemon 
> thread. We should add the {{join()}} call to be always correct.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)

-
To unsubscribe, e-mail: yarn-issues-unsubscr...@hadoop.apache.org
For additional commands, e-mail: yarn-issues-h...@hadoop.apache.org