You are viewing a plain text version of this content. The canonical link for it is here.
Posted to common-issues@hadoop.apache.org by "John Zhuge (JIRA)" <ji...@apache.org> on 2016/05/26 23:13:12 UTC
[jira] [Comment Edited] (HADOOP-12855) Add option to disable
JVMPauseMonitor across services
[ https://issues.apache.org/jira/browse/HADOOP-12855?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15303121#comment-15303121 ]
John Zhuge edited comment on HADOOP-12855 at 5/26/16 11:12 PM:
---------------------------------------------------------------
Hi [~stevel@apache.org], looking back, I do not like the designs in HADOOP-12946 and HADOOP-12908 which both rely heavily on static variable and atomic operation.
{{JVMPauseMonitor}} should NOT be embedded in other service. JVM should start one and only copy of {{JVMPauseMonitor}} and then start other services. A typical main function:
{code}
main(String args[]) {
new JVMPauseMonitor(new Configuration()).start();
DataNode datanode = createDataNode(args, null, resources);
}
{code}
was (Author: jzhuge):
Hi [~stevel@apache.org], looking back, I do not like the designs in HADOOP-12946 and HADOOP-12908 which both rely heavily on static variable and atomic operation.
{{JVMPauseMonitor}} should NOT be embedded in other service. When one JVM starts, it should start one and only copy of {{JVMPauseMonitor}} and then start other services. A typical main function can be:
{code}
main(String args[]) {
Configuration conf = new SomeConfiguration();
new JVMPauseMonitor(conf).start();
DataNode datanode = createDataNode(args, conf, resources);
}
{code}
> Add option to disable JVMPauseMonitor across services
> -----------------------------------------------------
>
> Key: HADOOP-12855
> URL: https://issues.apache.org/jira/browse/HADOOP-12855
> Project: Hadoop Common
> Issue Type: Improvement
> Components: performance, test
> Affects Versions: 2.8.0
> Environment: JVMs with miniHDFS and miniYarn clusters
> Reporter: Steve Loughran
> Assignee: John Zhuge
> Attachments: HADOOP-12855-001.patch, HADOOP-12855-002.patch, HADOOP-12855-003.patch, HADOOP-12855-004.patch, HADOOP-12855-005.patch, HADOOP-12855-option-001.patch, HADOOP-12855-option-002.patch
>
>
> Now that the YARN and HDFS services automatically start a JVM pause monitor, if you start up the mini HDFS and YARN clusters, with history server, you are spinning off 5 + threads, all looking for JVM pauses, all printing things out when it happens.
> We do not need these monitors in minicluster testing; they merely add load and noise to tests.
> Rather than retrofit new options everywhere, how about having a "jvm.pause.monitor.enabled" flag (default true), which, when set, starts off the monitor thread.
> That way, the existing code is unchanged, there is always a JVM pause monitor for the various services —it just isn't spinning up threads.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)
---------------------------------------------------------------------
To unsubscribe, e-mail: common-issues-unsubscribe@hadoop.apache.org
For additional commands, e-mail: common-issues-help@hadoop.apache.org