[
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 [[email protected]], 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 [[email protected]], 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: [email protected]
For additional commands, e-mail: [email protected]