[ 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