[ 
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]

Reply via email to