HBase
  1. HBase
  2. HBASE-10289

Avoid random port usage by default JMX Server. Create Custome JMX server

    Details

    • Type: Improvement Improvement
    • Status: Closed
    • Priority: Minor Minor
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: 0.99.0, 0.98.4
    • Component/s: None
    • Labels:
    • Hadoop Flags:
      Reviewed

      Description

      If we enable JMX MBean server for HMaster or Region server through VM arguments, the process will use one random which we cannot configure.
      This can be a problem if that random port is configured for some other service.

      This issue can be avoided by supporting a custom JMX Server.

      The ports can be configured. If there is no ports configured, it will continue the same way as now.

      1. HBASE-10289.patch
        7 kB
        nijel
      2. HBASE-10289_1.patch
        8 kB
        nijel
      3. HBASE-10289_2.patch
        15 kB
        nijel
      4. HBASE-10289_3.patch
        16 kB
        nijel
      5. HBASE-10289-v4.patch
        17 kB
        Demai Ni
      6. HBase10289-master.patch
        11 kB
        Qiang Tian
      7. hbase10289-master-v1.patch
        17 kB
        Qiang Tian
      8. hbase10289-master-v2.patch
        18 kB
        Qiang Tian
      9. hbase10289-doc_update-master.patch
        1 kB
        Qiang Tian
      10. hbase10289-0.98.patch
        12 kB
        Qiang Tian

        Issue Links

          Activity

          Hide
          nijel added a comment -

          Attached initial patch with the Custom JMX server.
          Please have a look. If it is ok, i will change the main classes to start this JMX server.

          Show
          nijel added a comment - Attached initial patch with the Custom JMX server. Please have a look. If it is ok, i will change the main classes to start this JMX server.
          Hide
          stack added a comment -

          Tell me more nijel In hbase-env.sh in trunk you can specify ports for JMX (IIRC). Or are you talking about fixing the RMI madness where it picks a random port to respond? With this patch in place, can we remove the talk in hbase-env.sh of flags for starting JMX? What happens if someone passes the flags? Will we have two JMX servers running?

          Thanks for doing this.

          Show
          stack added a comment - Tell me more nijel In hbase-env.sh in trunk you can specify ports for JMX (IIRC). Or are you talking about fixing the RMI madness where it picks a random port to respond? With this patch in place, can we remove the talk in hbase-env.sh of flags for starting JMX? What happens if someone passes the flags? Will we have two JMX servers running? Thanks for doing this.
          Hide
          nijel added a comment -

          can we remove the talk in hbase-env.sh of flags for starting JMX?

          Show
          nijel added a comment - can we remove the talk in hbase-env.sh of flags for starting JMX?
          Hide
          nijel added a comment -

          pls ignore previous comment..

          Tell me more nijel In hbase-env.sh in trunk you can specify ports for JMX (IIRC).

          • Even if we specify the port one of the port will be random.

          can we remove the talk in hbase-env.sh of flags for starting JMX?

          • Yes. After this patch we need not specify the flags in hbase-env.sh

          What happens if someone passes the flags? Will we have two JMX servers running?

          • Yes, 2 JMX servers will be running. In both the servers beans will be registered.

          The idea behind this patch is to give a option to user to control the ports used by JMX server.

          Show
          nijel added a comment - pls ignore previous comment.. Tell me more nijel In hbase-env.sh in trunk you can specify ports for JMX (IIRC). Even if we specify the port one of the port will be random. can we remove the talk in hbase-env.sh of flags for starting JMX? Yes. After this patch we need not specify the flags in hbase-env.sh What happens if someone passes the flags? Will we have two JMX servers running? Yes, 2 JMX servers will be running. In both the servers beans will be registered. The idea behind this patch is to give a option to user to control the ports used by JMX server.
          Hide
          stack added a comment -

          The idea behind this patch is to give a option to user to control the ports used by JMX server.

          Great.

          These defines are only used in one place so I'd move them there rather than add them to HConstants:

          + /** Configuration key for "rmi registry port" */
          + public static final String RMI_REGISTRY_PORT = ".rmi.registry.port";
          +
          + /** Configuration key for "rmi connector port" */
          + public static final String RMI_CONNECTOR_PORT = ".rmi.connector.port";
          +
          + /** Configuration key for "rmi registry ip" */
          + public static final String RMI_REGISTRY_IP = ".rmi.registry.ip";
          +
          + /** Configuration key for "rmi connector name" */
          + public static final String RMI_REGISTRY_CONNECTORNAME = ".rmi.registry.connectorname";
          +
          + /** Default rmi registry ip value */
          + public static final String RMI_REGISTRY_IP_DEFAULT = "127.0.0.1";

          JMXServer is missing an apache license (see adjacent .java files for how). I can add the audience annotation on commit.

          Class could do with a comment – a synopsis of the comments you made above explaining this feature to me would do nicely.

          How does your server get started and shutdown? It should be embedded in Master and RegionServer?

          Show
          stack added a comment - The idea behind this patch is to give a option to user to control the ports used by JMX server. Great. These defines are only used in one place so I'd move them there rather than add them to HConstants: + /** Configuration key for "rmi registry port" */ + public static final String RMI_REGISTRY_PORT = ".rmi.registry.port"; + + /** Configuration key for "rmi connector port" */ + public static final String RMI_CONNECTOR_PORT = ".rmi.connector.port"; + + /** Configuration key for "rmi registry ip" */ + public static final String RMI_REGISTRY_IP = ".rmi.registry.ip"; + + /** Configuration key for "rmi connector name" */ + public static final String RMI_REGISTRY_CONNECTORNAME = ".rmi.registry.connectorname"; + + /** Default rmi registry ip value */ + public static final String RMI_REGISTRY_IP_DEFAULT = "127.0.0.1"; JMXServer is missing an apache license (see adjacent .java files for how). I can add the audience annotation on commit. Class could do with a comment – a synopsis of the comments you made above explaining this feature to me would do nicely. How does your server get started and shutdown? It should be embedded in Master and RegionServer?
          Hide
          nijel added a comment -

          Thanks for the review

          Sorry for the delay bit stuck with internal tasks

          Updated the patch with the comments. Also Added plugin points in Regionserver and Master.

          Show
          nijel added a comment - Thanks for the review Sorry for the delay bit stuck with internal tasks Updated the patch with the comments. Also Added plugin points in Regionserver and Master.
          Hide
          Hadoop QA added a comment -

          -1 overall. Here are the results of testing the latest attachment
          http://issues.apache.org/jira/secure/attachment/12625251/HBASE-10289_1.patch
          against trunk revision .
          ATTACHMENT ID: 12625251

          +1 @author. The patch does not contain any @author tags.

          +1 tests included. The patch appears to include 3 new or modified tests.

          -1 hadoop1.0. The patch failed to compile against the hadoop 1.0 profile.
          Here is snippet of errors:

          [ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:2.5.1:compile (default-compile) on project hbase-server: Compilation failure: Compilation failure:
          [ERROR] /home/jenkins/jenkins-slave/workspace/PreCommit-HBASE-Build/trunk/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HRegionServer.java:[243,34] package org.apache.hadoop.hbase.jmx does not exist
          [ERROR] /home/jenkins/jenkins-slave/workspace/PreCommit-HBASE-Build/trunk/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HRegionServer.java:[524,10] cannot find symbol
          [ERROR] symbol  : class JMXServer
          [ERROR] location: class org.apache.hadoop.hbase.regionserver.HRegionServer
          [ERROR] /home/jenkins/jenkins-slave/workspace/PreCommit-HBASE-Build/trunk/hbase-server/src/main/java/org/apache/hadoop/hbase/master/HMasterCommandLine.java:[44,34] package org.apache.hadoop.hbase.jmx does not exist
          --
          org.apache.maven.lifecycle.LifecycleExecutionException: Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:2.5.1:compile (default-compile) on project hbase-server: Compilation failure
          	at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:213)
          	at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:153)
          	at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:145)
          	at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:84)
          	at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:59)
          --
          Caused by: org.apache.maven.plugin.CompilationFailureException: Compilation failure
          	at org.apache.maven.plugin.AbstractCompilerMojo.execute(AbstractCompilerMojo.java:729)
          	at org.apache.maven.plugin.CompilerMojo.execute(CompilerMojo.java:128)
          	at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:101)
          	at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:209)
          	... 19 more

          Console output: https://builds.apache.org/job/PreCommit-HBASE-Build/8548//console

          This message is automatically generated.

          Show
          Hadoop QA added a comment - -1 overall . Here are the results of testing the latest attachment http://issues.apache.org/jira/secure/attachment/12625251/HBASE-10289_1.patch against trunk revision . ATTACHMENT ID: 12625251 +1 @author . The patch does not contain any @author tags. +1 tests included . The patch appears to include 3 new or modified tests. -1 hadoop1.0 . The patch failed to compile against the hadoop 1.0 profile. Here is snippet of errors: [ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:2.5.1:compile ( default -compile) on project hbase-server: Compilation failure: Compilation failure: [ERROR] /home/jenkins/jenkins-slave/workspace/PreCommit-HBASE-Build/trunk/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HRegionServer.java:[243,34] package org.apache.hadoop.hbase.jmx does not exist [ERROR] /home/jenkins/jenkins-slave/workspace/PreCommit-HBASE-Build/trunk/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HRegionServer.java:[524,10] cannot find symbol [ERROR] symbol : class JMXServer [ERROR] location: class org.apache.hadoop.hbase.regionserver.HRegionServer [ERROR] /home/jenkins/jenkins-slave/workspace/PreCommit-HBASE-Build/trunk/hbase-server/src/main/java/org/apache/hadoop/hbase/master/HMasterCommandLine.java:[44,34] package org.apache.hadoop.hbase.jmx does not exist -- org.apache.maven.lifecycle.LifecycleExecutionException: Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:2.5.1:compile ( default -compile) on project hbase-server: Compilation failure at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:213) at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:153) at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:145) at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:84) at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:59) -- Caused by: org.apache.maven.plugin.CompilationFailureException: Compilation failure at org.apache.maven.plugin.AbstractCompilerMojo.execute(AbstractCompilerMojo.java:729) at org.apache.maven.plugin.CompilerMojo.execute(CompilerMojo.java:128) at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:101) at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:209) ... 19 more Console output: https://builds.apache.org/job/PreCommit-HBASE-Build/8548//console This message is automatically generated.
          Hide
          stack added a comment -

          Please follow the coding convention you find in the rest of the file – two spaces for tabs and the way we do catch clauses, etc.

          NIce test.

          Did you forget to add JMXServer?

          Thanks.

          Show
          stack added a comment - Please follow the coding convention you find in the rest of the file – two spaces for tabs and the way we do catch clauses, etc. NIce test. Did you forget to add JMXServer? Thanks.
          Hide
          nijel added a comment -

          Updated the patch

          Show
          nijel added a comment - Updated the patch
          Hide
          nijel added a comment -

          yes.. i missed the file.. added now

          made changes in test file to get compile with Hadoop 1.x also

          Show
          nijel added a comment - yes.. i missed the file.. added now made changes in test file to get compile with Hadoop 1.x also
          Hide
          Hadoop QA added a comment -

          -1 overall. Here are the results of testing the latest attachment
          http://issues.apache.org/jira/secure/attachment/12625812/HBASE-10289_2.patch
          against trunk revision .
          ATTACHMENT ID: 12625812

          +1 @author. The patch does not contain any @author tags.

          +1 tests included. The patch appears to include 3 new or modified tests.

          +1 hadoop1.0. The patch compiles against the hadoop 1.0 profile.

          +1 hadoop1.1. The patch compiles against the hadoop 1.1 profile.

          -1 javadoc. The javadoc tool appears to have generated 2 warning messages.

          +1 javac. The applied patch does not increase the total number of javac compiler warnings.

          +1 findbugs. The patch does not introduce any new Findbugs (version 1.3.9) warnings.

          +1 release audit. The applied patch does not increase the total number of release audit warnings.

          +1 lineLengths. The patch does not introduce lines longer than 100

          +1 site. The mvn site goal succeeds with this patch.

          -1 core tests. The patch failed these unit tests:
          org.apache.hadoop.hbase.TestCheckTestClasses

          Test results: https://builds.apache.org/job/PreCommit-HBASE-Build/8550//testReport/
          Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/8550//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-protocol.html
          Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/8550//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-thrift.html
          Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/8550//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-client.html
          Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/8550//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-hadoop2-compat.html
          Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/8550//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-examples.html
          Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/8550//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-prefix-tree.html
          Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/8550//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-common.html
          Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/8550//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-server.html
          Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/8550//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-hadoop-compat.html
          Console output: https://builds.apache.org/job/PreCommit-HBASE-Build/8550//console

          This message is automatically generated.

          Show
          Hadoop QA added a comment - -1 overall . Here are the results of testing the latest attachment http://issues.apache.org/jira/secure/attachment/12625812/HBASE-10289_2.patch against trunk revision . ATTACHMENT ID: 12625812 +1 @author . The patch does not contain any @author tags. +1 tests included . The patch appears to include 3 new or modified tests. +1 hadoop1.0 . The patch compiles against the hadoop 1.0 profile. +1 hadoop1.1 . The patch compiles against the hadoop 1.1 profile. -1 javadoc . The javadoc tool appears to have generated 2 warning messages. +1 javac . The applied patch does not increase the total number of javac compiler warnings. +1 findbugs . The patch does not introduce any new Findbugs (version 1.3.9) warnings. +1 release audit . The applied patch does not increase the total number of release audit warnings. +1 lineLengths . The patch does not introduce lines longer than 100 +1 site . The mvn site goal succeeds with this patch. -1 core tests . The patch failed these unit tests: org.apache.hadoop.hbase.TestCheckTestClasses Test results: https://builds.apache.org/job/PreCommit-HBASE-Build/8550//testReport/ Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/8550//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-protocol.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/8550//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-thrift.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/8550//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-client.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/8550//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-hadoop2-compat.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/8550//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-examples.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/8550//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-prefix-tree.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/8550//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-common.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/8550//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-server.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/8550//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-hadoop-compat.html Console output: https://builds.apache.org/job/PreCommit-HBASE-Build/8550//console This message is automatically generated.
          Hide
          nijel added a comment -

          Updated patch
          Test case is failing because test category is not added. Added as small test
          Corrected javadoc warning

          Show
          nijel added a comment - Updated patch Test case is failing because test category is not added. Added as small test Corrected javadoc warning
          Hide
          Hadoop QA added a comment -

          +1 overall. Here are the results of testing the latest attachment
          http://issues.apache.org/jira/secure/attachment/12625852/HBASE-10289_3.patch
          against trunk revision .
          ATTACHMENT ID: 12625852

          +1 @author. The patch does not contain any @author tags.

          +1 tests included. The patch appears to include 3 new or modified tests.

          +1 hadoop1.0. The patch compiles against the hadoop 1.0 profile.

          +1 hadoop1.1. The patch compiles against the hadoop 1.1 profile.

          +1 javadoc. The javadoc tool did not generate any warning messages.

          +1 javac. The applied patch does not increase the total number of javac compiler warnings.

          +1 findbugs. The patch does not introduce any new Findbugs (version 1.3.9) warnings.

          +1 release audit. The applied patch does not increase the total number of release audit warnings.

          +1 lineLengths. The patch does not introduce lines longer than 100

          +1 site. The mvn site goal succeeds with this patch.

          +1 core tests. The patch passed unit tests in .

          Test results: https://builds.apache.org/job/PreCommit-HBASE-Build/8551//testReport/
          Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/8551//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-protocol.html
          Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/8551//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-thrift.html
          Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/8551//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-client.html
          Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/8551//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-hadoop2-compat.html
          Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/8551//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-examples.html
          Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/8551//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-prefix-tree.html
          Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/8551//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-common.html
          Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/8551//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-server.html
          Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/8551//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-hadoop-compat.html
          Console output: https://builds.apache.org/job/PreCommit-HBASE-Build/8551//console

          This message is automatically generated.

          Show
          Hadoop QA added a comment - +1 overall . Here are the results of testing the latest attachment http://issues.apache.org/jira/secure/attachment/12625852/HBASE-10289_3.patch against trunk revision . ATTACHMENT ID: 12625852 +1 @author . The patch does not contain any @author tags. +1 tests included . The patch appears to include 3 new or modified tests. +1 hadoop1.0 . The patch compiles against the hadoop 1.0 profile. +1 hadoop1.1 . The patch compiles against the hadoop 1.1 profile. +1 javadoc . The javadoc tool did not generate any warning messages. +1 javac . The applied patch does not increase the total number of javac compiler warnings. +1 findbugs . The patch does not introduce any new Findbugs (version 1.3.9) warnings. +1 release audit . The applied patch does not increase the total number of release audit warnings. +1 lineLengths . The patch does not introduce lines longer than 100 +1 site . The mvn site goal succeeds with this patch. +1 core tests . The patch passed unit tests in . Test results: https://builds.apache.org/job/PreCommit-HBASE-Build/8551//testReport/ Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/8551//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-protocol.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/8551//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-thrift.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/8551//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-client.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/8551//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-hadoop2-compat.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/8551//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-examples.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/8551//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-prefix-tree.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/8551//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-common.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/8551//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-server.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/8551//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-hadoop-compat.html Console output: https://builds.apache.org/job/PreCommit-HBASE-Build/8551//console This message is automatically generated.
          Hide
          Demai Ni added a comment -

          nijel. just like to check the status of this jira. We encounter a similar problem on 96.0. thanks for the fix

          Show
          Demai Ni added a comment - nijel . just like to check the status of this jira. We encounter a similar problem on 96.0. thanks for the fix
          Hide
          stack added a comment -

          patch looks great to me. Does it work for you Demai Ni?

          nijel We turn JMX on by default but if I read your patch correctly, we will not be using your fancy new JMX server by default. Is that so? Do we need to clean up what is in the shell start scripts around JMX since now it an hbase-*.xml/HBaseConfiguration parameter rather than an argument we pass the JVM. What about security on the this new JMX Server? Can we specify a login for jmx on your server? Thanks.

          Show
          stack added a comment - patch looks great to me. Does it work for you Demai Ni ? nijel We turn JMX on by default but if I read your patch correctly, we will not be using your fancy new JMX server by default. Is that so? Do we need to clean up what is in the shell start scripts around JMX since now it an hbase-*.xml/HBaseConfiguration parameter rather than an argument we pass the JVM. What about security on the this new JMX Server? Can we specify a login for jmx on your server? Thanks.
          Hide
          Demai Ni added a comment -

          Stack, I haven't tried the patch yet. the problem on my end was reported by a co-work, and be able to set the port will resolve the issue. I will try out the patch on my cluster tomorrow.

          Show
          Demai Ni added a comment - Stack , I haven't tried the patch yet. the problem on my end was reported by a co-work, and be able to set the port will resolve the issue. I will try out the patch on my cluster tomorrow.
          Hide
          Demai Ni added a comment -

          Stack, the patch looks good to me.
          I configured hbase-site.xml by adding :

          <property>
           <name>hbase.master.rmi.registry.port</name>
           <value>2356</value>
          </property>
          <property>
           <name>hbase.regionserver.rmi.registry.port</name>
           <value>2357</value>
          </property>
          

          and both ports are set on my single-node cluster.

          the patch is out of date, I will upload a new one shortly

          Show
          Demai Ni added a comment - Stack , the patch looks good to me. I configured hbase-site.xml by adding : <property> <name>hbase.master.rmi.registry.port</name> <value>2356</value> </property> <property> <name>hbase.regionserver.rmi.registry.port</name> <value>2357</value> </property> and both ports are set on my single-node cluster. the patch is out of date, I will upload a new one shortly
          Hide
          Demai Ni added a comment -

          in HMasterCommandLine. I have to repeat

          jmxServer = new JMXServer(conf, "hbase.master");
          jmxServer.start();
          

          twice, so that in the else condition, jmxSever will be start before master.start() to register. Otherwise, its port won't be set for HMaster

          Show
          Demai Ni added a comment - in HMasterCommandLine. I have to repeat jmxServer = new JMXServer(conf, "hbase.master" ); jmxServer.start(); twice, so that in the else condition, jmxSever will be start before master.start() to register. Otherwise, its port won't be set for HMaster
          Hide
          Hadoop QA added a comment -

          +1 overall. Here are the results of testing the latest attachment
          http://issues.apache.org/jira/secure/attachment/12638768/HBASE-10289-v4.patch
          against trunk revision .
          ATTACHMENT ID: 12638768

          +1 @author. The patch does not contain any @author tags.

          +1 tests included. The patch appears to include 2 new or modified tests.

          +1 javadoc. The javadoc tool did not generate any warning messages.

          +1 javac. The applied patch does not increase the total number of javac compiler warnings.

          +1 findbugs. The patch does not introduce any new Findbugs (version 1.3.9) warnings.

          +1 release audit. The applied patch does not increase the total number of release audit warnings.

          +1 lineLengths. The patch does not introduce lines longer than 100

          +1 site. The mvn site goal succeeds with this patch.

          +1 core tests. The patch passed unit tests in .

          Test results: https://builds.apache.org/job/PreCommit-HBASE-Build/9202//testReport/
          Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/9202//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-hadoop2-compat.html
          Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/9202//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-prefix-tree.html
          Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/9202//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-client.html
          Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/9202//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-common.html
          Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/9202//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-protocol.html
          Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/9202//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-server.html
          Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/9202//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-examples.html
          Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/9202//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-thrift.html
          Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/9202//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-hadoop-compat.html
          Console output: https://builds.apache.org/job/PreCommit-HBASE-Build/9202//console

          This message is automatically generated.

          Show
          Hadoop QA added a comment - +1 overall . Here are the results of testing the latest attachment http://issues.apache.org/jira/secure/attachment/12638768/HBASE-10289-v4.patch against trunk revision . ATTACHMENT ID: 12638768 +1 @author . The patch does not contain any @author tags. +1 tests included . The patch appears to include 2 new or modified tests. +1 javadoc . The javadoc tool did not generate any warning messages. +1 javac . The applied patch does not increase the total number of javac compiler warnings. +1 findbugs . The patch does not introduce any new Findbugs (version 1.3.9) warnings. +1 release audit . The applied patch does not increase the total number of release audit warnings. +1 lineLengths . The patch does not introduce lines longer than 100 +1 site . The mvn site goal succeeds with this patch. +1 core tests . The patch passed unit tests in . Test results: https://builds.apache.org/job/PreCommit-HBASE-Build/9202//testReport/ Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/9202//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-hadoop2-compat.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/9202//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-prefix-tree.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/9202//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-client.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/9202//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-common.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/9202//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-protocol.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/9202//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-server.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/9202//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-examples.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/9202//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-thrift.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/9202//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-hadoop-compat.html Console output: https://builds.apache.org/job/PreCommit-HBASE-Build/9202//console This message is automatically generated.
          Hide
          stack added a comment -

          Patch is great. Thanks for testing Demai Ni. How does this patch relate to the stuff that is in hbase-env.sh?

          
          
          # Uncomment and adjust to enable JMX exporting
          # See jmxremote.password and jmxremote.access in $JRE_HOME/lib/management to configure remote password access.
          # More details at: http://java.sun.com/javase/6/docs/technotes/guides/management/agent.html
          #
          # export HBASE_JMX_BASE="-Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false"
          ...
          
          

          Should we remove hbase-env.sh stuff?

          Show
          stack added a comment - Patch is great. Thanks for testing Demai Ni . How does this patch relate to the stuff that is in hbase-env.sh? # Uncomment and adjust to enable JMX exporting # See jmxremote.password and jmxremote.access in $JRE_HOME/lib/management to configure remote password access. # More details at: http: //java.sun.com/javase/6/docs/technotes/guides/management/agent.html # # export HBASE_JMX_BASE= "-Dcom.sun.management.jmxremote.ssl= false -Dcom.sun.management.jmxremote.authenticate= false " ... Should we remove hbase-env.sh stuff?
          Hide
          Demai Ni added a comment -

          stack, thanks for reviewing the patch.

          I am not familiar with JMX setting. from my cluster:

          export HBASE_JMX_BASE="-Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=true -Dcom.sun.management.jmxremote.password.file=/opt/ibm/biginsights/conf/jmx/hbase/jmxremote.password -Dcom.sun.management.jmxremote.access.file=/opt/ibm/biginsights/conf/jmx/hbase/jmxremote.access"
          

          the value $HBASE_JMX_BASE is used to start others, like HMaster, TaskTracker. Probably won't hurt to leave it there... Again, I am not familiar with that(smile)

          Show
          Demai Ni added a comment - stack , thanks for reviewing the patch. I am not familiar with JMX setting. from my cluster: export HBASE_JMX_BASE= "-Dcom.sun.management.jmxremote.ssl= false -Dcom.sun.management.jmxremote.authenticate= true -Dcom.sun.management.jmxremote.password.file=/opt/ibm/biginsights/conf/jmx/hbase/jmxremote.password -Dcom.sun.management.jmxremote.access.file=/opt/ibm/biginsights/conf/jmx/hbase/jmxremote.access" the value $HBASE_JMX_BASE is used to start others, like HMaster, TaskTracker. Probably won't hurt to leave it there... Again, I am not familiar with that(smile)
          Hide
          Qiang Tian added a comment -

          Hi Demai Ni, stack,
          I took a look. below is the details.

          the problem is JMX created 2 additional random ports besides the port specified by "com.sun.management.jmxremote.port".

          One port is RMI server port, the other is used by Java Attach API for local attach purpose(see more details below)

          it looks it has been the case for long time. prior effort focused on customizing the RMI server port, because the port is used by client – when firewall is configured, client just cannot connect to JMX, for example:
          http://olegz.wordpress.com/2009/03/23/jmx-connectivity-through-the-firewall/

          there is some artifcat to address it as well, e.g. :
          http://tomcat.apache.org/tomcat-7.0-doc/config/listeners.html#JMX_Remote_Lifecycle_Listener_-_org.apache.catalina.mbeans.JmxRemoteLifecycleListener

          both registry port(rmiRegistryPortPlatform) and RMI server port(rmiServerPortPlatform) can be configured, and authentication is supported.

          Sun JDK realized this problem, the RMI server port can be configured via "com.sun.management.jmxremote.rmi.port", since JDK7u4.

          then what about the local attach port, which is also random?

          According to http://stackoverflow.com/questions/20884353/why-java-opens-3-ports-when-jmx-is-configured, this feature can be disabled by "-XX:+DisableAttachMechanism" (there is no clear description about it in official link http://docs.oracle.com/javase/7/docs/technotes/tools/windows/java.html), but the guy tested it just does not work, and recently he opened defect against java: http://bugs.java.com/bugdatabase/view_bug.do?bug_id=8035404

          Show
          Qiang Tian added a comment - Hi Demai Ni, stack, I took a look. below is the details. the problem is JMX created 2 additional random ports besides the port specified by "com.sun.management.jmxremote.port". One port is RMI server port, the other is used by Java Attach API for local attach purpose(see more details below) it looks it has been the case for long time. prior effort focused on customizing the RMI server port, because the port is used by client – when firewall is configured, client just cannot connect to JMX, for example: http://olegz.wordpress.com/2009/03/23/jmx-connectivity-through-the-firewall/ there is some artifcat to address it as well, e.g. : http://tomcat.apache.org/tomcat-7.0-doc/config/listeners.html#JMX_Remote_Lifecycle_Listener_-_org.apache.catalina.mbeans.JmxRemoteLifecycleListener both registry port(rmiRegistryPortPlatform) and RMI server port(rmiServerPortPlatform) can be configured, and authentication is supported. Sun JDK realized this problem, the RMI server port can be configured via "com.sun.management.jmxremote.rmi.port", since JDK7u4. then what about the local attach port, which is also random? According to http://stackoverflow.com/questions/20884353/why-java-opens-3-ports-when-jmx-is-configured , this feature can be disabled by "-XX:+DisableAttachMechanism" (there is no clear description about it in official link http://docs.oracle.com/javase/7/docs/technotes/tools/windows/java.html ), but the guy tested it just does not work, and recently he opened defect against java: http://bugs.java.com/bugdatabase/view_bug.do?bug_id=8035404
          Hide
          stack added a comment -

          Thanks Qiang Tian Nice write up. RMI is madness yes. So you would suggest we disable our hbase-env.sh configurations and instead go w/ this patch? The local attach port will or will not still be available? Thanks.

          Show
          stack added a comment - Thanks Qiang Tian Nice write up. RMI is madness yes. So you would suggest we disable our hbase-env.sh configurations and instead go w/ this patch? The local attach port will or will not still be available? Thanks.
          Hide
          Qiang Tian added a comment -

          Hi stack,
          I am new in this area as well...
          my 2 cents:
          1)our QA has tested the patch cannot work. I'd think it is not a complete implementation, other options(stuff in HBASE_JMX_BASE) including security are not considered. there is the wheel already, I might not tend to recreate it..

          2)the real problem is the random ports that JMX opens could cause conflict. even if we implement by ourselves, the random local attach port is still there – unless bug 8035404 is fixed.

          3) to avoid port conflict, we do need to try to eliminate random ports as we did in this jira. from a long term perspective, I am not sure if we need port management at multi-component level...? (e.g. I see a worldwide level port registration and management: http://www.iana.org/assignments/service-names-port-numbers/service-names-port-numbers.xhtml?&page=132)

          4)I tried google "hadoop port in use" and got quite a few hits..and the page ranking of "default ports" is high might show user need a centralized management of ports from various components.. anyway, just my thoughts...

          Show
          Qiang Tian added a comment - Hi stack , I am new in this area as well... my 2 cents: 1)our QA has tested the patch cannot work. I'd think it is not a complete implementation, other options(stuff in HBASE_JMX_BASE) including security are not considered. there is the wheel already, I might not tend to recreate it.. 2)the real problem is the random ports that JMX opens could cause conflict. even if we implement by ourselves, the random local attach port is still there – unless bug 8035404 is fixed. 3) to avoid port conflict, we do need to try to eliminate random ports as we did in this jira. from a long term perspective, I am not sure if we need port management at multi-component level...? (e.g. I see a worldwide level port registration and management: http://www.iana.org/assignments/service-names-port-numbers/service-names-port-numbers.xhtml?&page=132 ) 4)I tried google "hadoop port in use" and got quite a few hits..and the page ranking of "default ports" is high might show user need a centralized management of ports from various components.. anyway, just my thoughts...
          Hide
          nijel added a comment -

          Hi all,
          Thanks for taking a look in to the patch
          Sorry for late reply ..

          We turn JMX on by default but if I read your patch correctly, we will not be using your fancy new JMX server by default. Is that so? Do we need to clean up what is in the shell start scripts around JMX since now it an hbase-*.xml/HBaseConfiguration parameter rather than an argument we pass the JVM. What about security on the this new JMX Server? Can we specify a login for jmx on your server? Thanks.

          this is not enabled by default. If we enable this 2 more ports needs to be configured. Will this disturb the current users ? If not i can do the changes..

          1)our QA has tested the patch cannot work. I'd think it is not a complete implementation, other options(stuff in HBASE_JMX_BASE) including security are not considered. there is the wheel already, I might not tend to recreate it..

          This patch is pluggable JMX server. If we all agree can make changes to the scripts to make it default and take care of removing the existing JMX parameters.

          2)the real problem is the random ports that JMX opens could cause conflict. even if we implement by ourselves, the random local attach port is still there – unless bug 8035404 is fixed.

          The local ports are there for every service. Our RPC mechanism also associated with client ports. But this can be configured to a range to avoid conflicts with the service ports (can update this value /proc/sys/net/ipv4/ip_local_port_range).

          4)I tried google "hadoop port in use" and got quite a few hits..and the page ranking of "default ports" is high might show user need a centralized management of ports from various components.. anyway, just my thoughts..

          i agree with this. Normally user will have a centralized client port management and specified range of client ports.
          But for RMI the port is taken as random and will not release it.
          The issue we faced is say one port is configured for some service and that port is is acquired by HBase process (JMX) which is not expected. This port is not falling in the ephemeral port range configured.

          Show
          nijel added a comment - Hi all, Thanks for taking a look in to the patch Sorry for late reply .. We turn JMX on by default but if I read your patch correctly, we will not be using your fancy new JMX server by default. Is that so? Do we need to clean up what is in the shell start scripts around JMX since now it an hbase-*.xml/HBaseConfiguration parameter rather than an argument we pass the JVM. What about security on the this new JMX Server? Can we specify a login for jmx on your server? Thanks. this is not enabled by default. If we enable this 2 more ports needs to be configured. Will this disturb the current users ? If not i can do the changes.. 1)our QA has tested the patch cannot work. I'd think it is not a complete implementation, other options(stuff in HBASE_JMX_BASE) including security are not considered. there is the wheel already, I might not tend to recreate it.. This patch is pluggable JMX server. If we all agree can make changes to the scripts to make it default and take care of removing the existing JMX parameters. 2)the real problem is the random ports that JMX opens could cause conflict. even if we implement by ourselves, the random local attach port is still there – unless bug 8035404 is fixed. The local ports are there for every service. Our RPC mechanism also associated with client ports. But this can be configured to a range to avoid conflicts with the service ports (can update this value /proc/sys/net/ipv4/ip_local_port_range). 4)I tried google "hadoop port in use" and got quite a few hits..and the page ranking of "default ports" is high might show user need a centralized management of ports from various components.. anyway, just my thoughts.. i agree with this. Normally user will have a centralized client port management and specified range of client ports. But for RMI the port is taken as random and will not release it. The issue we faced is say one port is configured for some service and that port is is acquired by HBase process (JMX) which is not expected. This port is not falling in the ephemeral port range configured.
          Hide
          Qiang Tian added a comment - - edited

          hi nijel,
          /proc/sys/net/ipv4/ip_local_port_range looks not so good as it limits port resource.

          I just happen to find when "com.sun.management.jmxremote.local.only=false" is set, there is only 1 random port, i.e.:
          export HBASE_MASTER_OPTS="$HBASE_JMX_BASE -Dcom.sun.management.jmxremote.port=61100 -Dcom.sun.management
          .jmxremote.local.only=false "

          without "com.sun.management.jmxremote.local.only=false":

          [root@test tmp]# netstat -nltp |grep 61100
          tcp 0 0 :::61100 :::* LISTEN 1989249/java
          [root@test tmp]# netstat -nltp |grep 1989249
          tcp 0 0 :::61100 :::* LISTEN 1989249/java
          tcp 0 0 :::4159 :::* LISTEN 1989249/java
          tcp 0 0 ::ffff:192.168.1.101:60000 :::* LISTEN 1989249/java
          tcp 0 0 :::61320 :::* LISTEN 1989249/java
          tcp 0 0 :::60010 :::* LISTEN 1989249/java

          with "com.sun.management.jmxremote.local.only=false"

          [root@test tmp]# netstat -nltp |grep 61100
          tcp 0 0 :::61100 :::* LISTEN 2021776/java
          [root@test tmp]# netstat -nltp |grep 2021776
          tcp 0 0 :::61100 :::* LISTEN 2021776/java
          tcp 0 0 :::2174 :::* LISTEN 2021776/java
          tcp 0 0 ::ffff:192.168.1.101:60000 :::* LISTEN 2021776/java
          tcp 0 0 :::60010 :::* LISTEN 2021776/java

          I tried jconsole can work locally and remotely. could you also have a try?

          ps below is the description:
          http://www.oracle.com/technetwork/java/javase/compatibility-417013.html
          Area: JMX
          Synopsis: New Property for JMX RMI Connector Server
          Description: The new property, com.sun.management.jmxremote.local.only, when true (the default) indicates that the local JMX RMI connector will only accept connection requests from local interfaces. Setting this property to false restores JDK 6 behavior, but is not recommended because the local JMX RMI connector server will accept connection requests from both local and remote interfaces. For remote management, the remote JMX RMI connector server should be used with authentication and SLL/TLS encyrption enabled.
          Nature of Incompatibility: behavioral

          Regarding to the RMI server port, we could:
          a)using parameter "com.sun.management.jmxremote.rmi.port" after upgrade to jdk7. this is the simplest way.
          b)using existing artifcat catalina-jmx-remote.jar
          c)implement by ourselves as you mentioned.

          Show
          Qiang Tian added a comment - - edited hi nijel , /proc/sys/net/ipv4/ip_local_port_range looks not so good as it limits port resource. I just happen to find when "com.sun.management.jmxremote.local.only=false" is set, there is only 1 random port, i.e.: export HBASE_MASTER_OPTS="$HBASE_JMX_BASE -Dcom.sun.management.jmxremote.port=61100 -Dcom.sun.management .jmxremote.local.only=false " without "com.sun.management.jmxremote.local.only=false": [root@test tmp] # netstat -nltp |grep 61100 tcp 0 0 :::61100 :::* LISTEN 1989249/java [root@test tmp] # netstat -nltp |grep 1989249 tcp 0 0 :::61100 :::* LISTEN 1989249/java tcp 0 0 :::4159 :::* LISTEN 1989249/java tcp 0 0 ::ffff:192.168.1.101:60000 :::* LISTEN 1989249/java tcp 0 0 :::61320 :::* LISTEN 1989249/java tcp 0 0 :::60010 :::* LISTEN 1989249/java with "com.sun.management.jmxremote.local.only=false" [root@test tmp] # netstat -nltp |grep 61100 tcp 0 0 :::61100 :::* LISTEN 2021776/java [root@test tmp] # netstat -nltp |grep 2021776 tcp 0 0 :::61100 :::* LISTEN 2021776/java tcp 0 0 :::2174 :::* LISTEN 2021776/java tcp 0 0 ::ffff:192.168.1.101:60000 :::* LISTEN 2021776/java tcp 0 0 :::60010 :::* LISTEN 2021776/java I tried jconsole can work locally and remotely. could you also have a try? ps below is the description: http://www.oracle.com/technetwork/java/javase/compatibility-417013.html Area: JMX Synopsis: New Property for JMX RMI Connector Server Description: The new property, com.sun.management.jmxremote.local.only, when true (the default) indicates that the local JMX RMI connector will only accept connection requests from local interfaces. Setting this property to false restores JDK 6 behavior, but is not recommended because the local JMX RMI connector server will accept connection requests from both local and remote interfaces. For remote management, the remote JMX RMI connector server should be used with authentication and SLL/TLS encyrption enabled. Nature of Incompatibility: behavioral Regarding to the RMI server port, we could: a)using parameter "com.sun.management.jmxremote.rmi.port" after upgrade to jdk7. this is the simplest way. b)using existing artifcat catalina-jmx-remote.jar c)implement by ourselves as you mentioned.
          Hide
          Qiang Tian added a comment -

          ps the official description is talking about JDK7, but I use jdk 6. and in jre/lib/management/management.properties file, there is similar description in "RMI connector settings for local management" section.

          Show
          Qiang Tian added a comment - ps the official description is talking about JDK7, but I use jdk 6. and in jre/lib/management/management.properties file, there is similar description in "RMI connector settings for local management" section.
          Hide
          Qiang Tian added a comment -

          Hi guys,
          sorry for late response.
          the new patch just uploaded is a pluggable solution based on coprocessor, so that user could turn off or switch back easily.
          1)support password authentication

          2)support a subset of SSL(Enforcing SSL for communication
          ) with default configuration. see http://ddweerasiri.blogspot.com/2011/08/ssl-enabled-jconsole-to-monitor-wso2.html for example.

          3)registry port and connector port can be configured separately. or combined into 1 when SSL is not enabled. (If SSL is enabled, the connector port must use a different value than registry port)

          4)only load coprocessor for regionserver, since "master is also a regionserver" in 0.99.

          5)the code references the example on official site: http://docs.oracle.com/javase/7/docs/technotes/guides/management/agent.html (see section "Example of Mimicking Out-of-the-Box Management")

          6)password authentication and SSL test are done manually since the code almost does nothing for it - most work is related to environment

          7)confirmed random port issue is not resolved in JDK 7 unless bug 8035404 is fixed.

          appreciate your comments.
          thanks.

          Show
          Qiang Tian added a comment - Hi guys, sorry for late response. the new patch just uploaded is a pluggable solution based on coprocessor, so that user could turn off or switch back easily. 1)support password authentication 2)support a subset of SSL(Enforcing SSL for communication ) with default configuration. see http://ddweerasiri.blogspot.com/2011/08/ssl-enabled-jconsole-to-monitor-wso2.html for example. 3)registry port and connector port can be configured separately. or combined into 1 when SSL is not enabled. (If SSL is enabled, the connector port must use a different value than registry port) 4)only load coprocessor for regionserver, since "master is also a regionserver" in 0.99. 5)the code references the example on official site: http://docs.oracle.com/javase/7/docs/technotes/guides/management/agent.html (see section "Example of Mimicking Out-of-the-Box Management") 6)password authentication and SSL test are done manually since the code almost does nothing for it - most work is related to environment 7)confirmed random port issue is not resolved in JDK 7 unless bug 8035404 is fixed. appreciate your comments. thanks.
          Hide
          Hadoop QA added a comment -

          -1 overall. Here are the results of testing the latest attachment
          http://issues.apache.org/jira/secure/attachment/12647089/HBase10289-master.patch
          against trunk revision .
          ATTACHMENT ID: 12647089

          +1 @author. The patch does not contain any @author tags.

          +1 tests included. The patch appears to include 2 new or modified tests.

          +1 javac. The applied patch does not increase the total number of javac compiler warnings.

          -1 javadoc. The javadoc tool appears to have generated 1 warning messages.

          +1 findbugs. The patch does not introduce any new Findbugs (version 1.3.9) warnings.

          -1 release audit. The applied patch generated 31 release audit warnings (more than the trunk's current 0 warnings).

          +1 lineLengths. The patch does not introduce lines longer than 100

          +1 site. The mvn site goal succeeds with this patch.

          +1 core tests. The patch passed unit tests in .

          Test results: https://builds.apache.org/job/PreCommit-HBASE-Build/9620//testReport/
          Release audit warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/9620//artifact/trunk/patchprocess/patchReleaseAuditProblems.txt
          Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/9620//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-examples.html
          Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/9620//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-hadoop-compat.html
          Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/9620//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-prefix-tree.html
          Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/9620//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-thrift.html
          Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/9620//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-server.html
          Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/9620//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-client.html
          Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/9620//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-hadoop2-compat.html
          Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/9620//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-common.html
          Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/9620//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-protocol.html
          Console output: https://builds.apache.org/job/PreCommit-HBASE-Build/9620//console

          This message is automatically generated.

          Show
          Hadoop QA added a comment - -1 overall . Here are the results of testing the latest attachment http://issues.apache.org/jira/secure/attachment/12647089/HBase10289-master.patch against trunk revision . ATTACHMENT ID: 12647089 +1 @author . The patch does not contain any @author tags. +1 tests included . The patch appears to include 2 new or modified tests. +1 javac . The applied patch does not increase the total number of javac compiler warnings. -1 javadoc . The javadoc tool appears to have generated 1 warning messages. +1 findbugs . The patch does not introduce any new Findbugs (version 1.3.9) warnings. -1 release audit . The applied patch generated 31 release audit warnings (more than the trunk's current 0 warnings). +1 lineLengths . The patch does not introduce lines longer than 100 +1 site . The mvn site goal succeeds with this patch. +1 core tests . The patch passed unit tests in . Test results: https://builds.apache.org/job/PreCommit-HBASE-Build/9620//testReport/ Release audit warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/9620//artifact/trunk/patchprocess/patchReleaseAuditProblems.txt Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/9620//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-examples.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/9620//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-hadoop-compat.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/9620//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-prefix-tree.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/9620//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-thrift.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/9620//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-server.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/9620//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-client.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/9620//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-hadoop2-compat.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/9620//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-common.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/9620//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-protocol.html Console output: https://builds.apache.org/job/PreCommit-HBASE-Build/9620//console This message is automatically generated.
          Hide
          stack added a comment -

          Qiang Tian That looks pretty good. At first it looks a bit over the top but it is only ON if you enable it, right? How I enable it? Need a bit of doc or a fat release note. Thanks.

          Show
          stack added a comment - Qiang Tian That looks pretty good. At first it looks a bit over the top but it is only ON if you enable it, right? How I enable it? Need a bit of doc or a fat release note. Thanks.
          Hide
          Qiang Tian added a comment -

          Thanks stack,
          Yes. it is OFF if user does not configure it in hbase-site.xml. (current JMX configuration in hbase-env.sh is also OFF by default)

          What about adding a JMX part in hbase book section "2.5.3. Other Configurations"? e.g. the description of the problem, examples for supported configurations etc.
          thanks.

          Show
          Qiang Tian added a comment - Thanks stack , Yes. it is OFF if user does not configure it in hbase-site.xml. (current JMX configuration in hbase-env.sh is also OFF by default) What about adding a JMX part in hbase book section "2.5.3. Other Configurations"? e.g. the description of the problem, examples for supported configurations etc. thanks.
          Hide
          Qiang Tian added a comment -

          ps making it coprocessor based just utilized the strength of class instantiation of the coprocessor framework, without any other costs. so that we have a real pluggability without modifying other code..(since I thought the native JDK solution is still the best after the bug is fixed)...
          but if you guys think the original way is better, I can change it back..
          thanks.

          Show
          Qiang Tian added a comment - ps making it coprocessor based just utilized the strength of class instantiation of the coprocessor framework, without any other costs. so that we have a real pluggability without modifying other code..(since I thought the native JDK solution is still the best after the bug is fixed)... but if you guys think the original way is better, I can change it back.. thanks.
          Hide
          Qiang Tian added a comment -

          add doc change

          Show
          Qiang Tian added a comment - add doc change
          Hide
          stack added a comment -

          Qiang Tian Thank you for the nice patch and excellent doc! Should bin/hbase-env.sh comments be amended around JMX? Does the old way of setting up JMX will work? If so, should the doc mention it as alternative (though refer back to why it is inferior) and should bin/hbase-env.sh comments point into the hbase refguide for an alternative that allows setting explicit, unchanging ports?

          Nice work Qiang Tian

          Show
          stack added a comment - Qiang Tian Thank you for the nice patch and excellent doc! Should bin/hbase-env.sh comments be amended around JMX? Does the old way of setting up JMX will work? If so, should the doc mention it as alternative (though refer back to why it is inferior) and should bin/hbase-env.sh comments point into the hbase refguide for an alternative that allows setting explicit, unchanging ports? Nice work Qiang Tian
          Hide
          Qiang Tian added a comment -

          Thanks for stack's comments!
          comments applied and change default port to 10102 to be consistent with hbase-env.sh.

          Show
          Qiang Tian added a comment - Thanks for stack 's comments! comments applied and change default port to 10102 to be consistent with hbase-env.sh.
          Hide
          Hadoop QA added a comment -

          -1 overall. Here are the results of testing the latest attachment
          http://issues.apache.org/jira/secure/attachment/12647886/hbase10289-master-v2.patch
          against trunk revision .
          ATTACHMENT ID: 12647886

          +1 @author. The patch does not contain any @author tags.

          +1 tests included. The patch appears to include 2 new or modified tests.

          +1 javac. The applied patch does not increase the total number of javac compiler warnings.

          +1 javadoc. The javadoc tool did not generate any warning messages.

          +1 findbugs. The patch does not introduce any new Findbugs (version 1.3.9) warnings.

          +1 release audit. The applied patch does not increase the total number of release audit warnings.

          -1 lineLengths. The patch introduces the following lines longer than 100:
          +# NOTE: HBase provides an alternative JMX implementation to fix the random ports issue, please see JMX
          + xlink:href="http://docs.oracle.com/javase/6/docs/technotes/guides/management/agent.html">

          +1 site. The mvn site goal succeeds with this patch.

          -1 core tests. The patch failed these unit tests:

          -1 core zombie tests. There are 1 zombie test(s):

          Test results: https://builds.apache.org/job/PreCommit-HBASE-Build/9663//testReport/
          Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/9663//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-hadoop2-compat.html
          Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/9663//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-prefix-tree.html
          Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/9663//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-client.html
          Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/9663//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-common.html
          Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/9663//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-protocol.html
          Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/9663//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-server.html
          Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/9663//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-examples.html
          Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/9663//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-thrift.html
          Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/9663//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-hadoop-compat.html
          Console output: https://builds.apache.org/job/PreCommit-HBASE-Build/9663//console

          This message is automatically generated.

          Show
          Hadoop QA added a comment - -1 overall . Here are the results of testing the latest attachment http://issues.apache.org/jira/secure/attachment/12647886/hbase10289-master-v2.patch against trunk revision . ATTACHMENT ID: 12647886 +1 @author . The patch does not contain any @author tags. +1 tests included . The patch appears to include 2 new or modified tests. +1 javac . The applied patch does not increase the total number of javac compiler warnings. +1 javadoc . The javadoc tool did not generate any warning messages. +1 findbugs . The patch does not introduce any new Findbugs (version 1.3.9) warnings. +1 release audit . The applied patch does not increase the total number of release audit warnings. -1 lineLengths . The patch introduces the following lines longer than 100: +# NOTE: HBase provides an alternative JMX implementation to fix the random ports issue, please see JMX + xlink:href="http://docs.oracle.com/javase/6/docs/technotes/guides/management/agent.html"> +1 site . The mvn site goal succeeds with this patch. -1 core tests . The patch failed these unit tests: -1 core zombie tests . There are 1 zombie test(s): Test results: https://builds.apache.org/job/PreCommit-HBASE-Build/9663//testReport/ Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/9663//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-hadoop2-compat.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/9663//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-prefix-tree.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/9663//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-client.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/9663//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-common.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/9663//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-protocol.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/9663//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-server.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/9663//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-examples.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/9663//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-thrift.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/9663//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-hadoop-compat.html Console output: https://builds.apache.org/job/PreCommit-HBASE-Build/9663//console This message is automatically generated.
          Hide
          stack added a comment -

          Committed to master. Thanks for the nice fixup Qiang Tian

          Show
          stack added a comment - Committed to master. Thanks for the nice fixup Qiang Tian
          Hide
          Hudson added a comment -

          FAILURE: Integrated in HBase-TRUNK #5166 (See https://builds.apache.org/job/HBase-TRUNK/5166/)
          HBASE-10289 Avoid random port usage by default JMX Server. Create Custome JMX server (Qiang Tian) (stack: rev 80557b872fbf31fec94930fc4723d7a459fe52e7)

          • hbase-server/src/main/java/org/apache/hadoop/hbase/JMXListener.java
          • src/main/docbkx/configuration.xml
          • hbase-server/src/test/java/org/apache/hadoop/hbase/TestJMXListener.java
          • conf/hbase-env.sh
          Show
          Hudson added a comment - FAILURE: Integrated in HBase-TRUNK #5166 (See https://builds.apache.org/job/HBase-TRUNK/5166/ ) HBASE-10289 Avoid random port usage by default JMX Server. Create Custome JMX server (Qiang Tian) (stack: rev 80557b872fbf31fec94930fc4723d7a459fe52e7) hbase-server/src/main/java/org/apache/hadoop/hbase/JMXListener.java src/main/docbkx/configuration.xml hbase-server/src/test/java/org/apache/hadoop/hbase/TestJMXListener.java conf/hbase-env.sh
          Hide
          Qiang Tian added a comment -

          Thanks stack.
          Andrew Purtell, would you like it in 0.98?
          thanks.

          Show
          Qiang Tian added a comment - Thanks stack . Andrew Purtell , would you like it in 0.98? thanks.
          Hide
          Andrew Purtell added a comment -

          Sure, I cherry picked the change from trunk and can take it except for the doc update. (We copy docs from trunk into branch releases during the release candidate creation process anyhow.) Let me check that it tests out successfully locally before pushing the merge.

          Show
          Andrew Purtell added a comment - Sure, I cherry picked the change from trunk and can take it except for the doc update. (We copy docs from trunk into branch releases during the release candidate creation process anyhow.) Let me check that it tests out successfully locally before pushing the merge.
          Hide
          Andrew Purtell added a comment -

          I do recommend a doc update for trunk, if we are still re-using docs from trunk for 0.98 branch. The user will also need to add the JMXListener coprocessor to hbase.coprocessor.master.classes.

          Show
          Andrew Purtell added a comment - I do recommend a doc update for trunk, if we are still re-using docs from trunk for 0.98 branch. The user will also need to add the JMXListener coprocessor to hbase.coprocessor.master.classes.
          Hide
          Demai Ni added a comment -

          Andrew Purtell, Qiang mentioned offline last night that 0.98 code may be slightly different comparing to trunk, and he is looking into that, and will provide the patch if it is indeed different. He is at another timezone, so I responded for him... Demai

          Show
          Demai Ni added a comment - Andrew Purtell , Qiang mentioned offline last night that 0.98 code may be slightly different comparing to trunk, and he is looking into that, and will provide the patch if it is indeed different. He is at another timezone, so I responded for him... Demai
          Hide
          Andrew Purtell added a comment -

          Thanks Demai.

          Show
          Andrew Purtell added a comment - Thanks Demai.
          Hide
          Qiang Tian added a comment -

          Thanks Andrew Purtell Demai Ni,
          I will upload the updated trunk doc and 0.98 patch separately.

          Show
          Qiang Tian added a comment - Thanks Andrew Purtell Demai Ni , I will upload the updated trunk doc and 0.98 patch separately.
          Hide
          stack added a comment -

          Qiang Tian Mind making a distinct addendum for trunk that has in it only the doc edit Andy suggest? Thanks.

          Show
          stack added a comment - Qiang Tian Mind making a distinct addendum for trunk that has in it only the doc edit Andy suggest? Thanks.
          Hide
          Andrew Purtell added a comment -

          Reopening for 0.98 patch and trunk doc addendum. Thanks Qiang Tian

          Show
          Andrew Purtell added a comment - Reopening for 0.98 patch and trunk doc addendum. Thanks Qiang Tian
          Hide
          Qiang Tian added a comment -

          upload the doc update for master and code patch for 0.98. (sorry for late response, got some emergency yesterday)

          Show
          Qiang Tian added a comment - upload the doc update for master and code patch for 0.98. (sorry for late response, got some emergency yesterday)
          Hide
          Hadoop QA added a comment -

          -1 overall. Here are the results of testing the latest attachment
          http://issues.apache.org/jira/secure/attachment/12648419/hbase10289-0.98.patch
          against trunk revision .
          ATTACHMENT ID: 12648419

          +1 @author. The patch does not contain any @author tags.

          +1 tests included. The patch appears to include 2 new or modified tests.

          -1 patch. The patch command could not apply the patch.

          Console output: https://builds.apache.org/job/PreCommit-HBASE-Build/9694//console

          This message is automatically generated.

          Show
          Hadoop QA added a comment - -1 overall . Here are the results of testing the latest attachment http://issues.apache.org/jira/secure/attachment/12648419/hbase10289-0.98.patch against trunk revision . ATTACHMENT ID: 12648419 +1 @author . The patch does not contain any @author tags. +1 tests included . The patch appears to include 2 new or modified tests. -1 patch . The patch command could not apply the patch. Console output: https://builds.apache.org/job/PreCommit-HBASE-Build/9694//console This message is automatically generated.
          Hide
          Qiang Tian added a comment -

          Hi stack, Andrew Purtell,
          could you please take a look at the patch?
          thanks.

          Show
          Qiang Tian added a comment - Hi stack , Andrew Purtell , could you please take a look at the patch? thanks.
          Hide
          stack added a comment -

          Qiang Tian Sorry about that. I just added the doc addendum to trunk. Andrew Purtell when you get a chance, do you want to pull this in sir?

          Show
          stack added a comment - Qiang Tian Sorry about that. I just added the doc addendum to trunk. Andrew Purtell when you get a chance, do you want to pull this in sir?
          Hide
          Andrew Purtell added a comment -

          Andrew Purtell when you get a chance, do you want to pull this in sir?

          Ok. I have a stack of HBase related things to do today, will add this to it.

          Show
          Andrew Purtell added a comment - Andrew Purtell when you get a chance, do you want to pull this in sir? Ok. I have a stack of HBase related things to do today, will add this to it.
          Hide
          Hudson added a comment -

          SUCCESS: Integrated in HBase-TRUNK #5220 (See https://builds.apache.org/job/HBase-TRUNK/5220/)
          HBASE-10289 Avoid random port usage by default JMX Server. Create Custome JMX server (Qiang Tian). DOC ADDENDUM (stack: rev b16e36a5b2650b2ce2c7686c6653c77074481115)

          • src/main/docbkx/configuration.xml
          Show
          Hudson added a comment - SUCCESS: Integrated in HBase-TRUNK #5220 (See https://builds.apache.org/job/HBase-TRUNK/5220/ ) HBASE-10289 Avoid random port usage by default JMX Server. Create Custome JMX server (Qiang Tian). DOC ADDENDUM (stack: rev b16e36a5b2650b2ce2c7686c6653c77074481115) src/main/docbkx/configuration.xml
          Hide
          Andrew Purtell added a comment -

          Applied 'hbase10289-0.98.patch' and pushed, new unit test passes locally.

          Show
          Andrew Purtell added a comment - Applied 'hbase10289-0.98.patch' and pushed, new unit test passes locally.
          Hide
          Hudson added a comment -

          SUCCESS: Integrated in HBase-0.98 #348 (See https://builds.apache.org/job/HBase-0.98/348/)
          HBASE-10289 Avoid random port usage by default JMX Server. Create Custom JMX server (Qiang Tian) (apurtell: rev 8ac95e73aeb76bf6bc0679122c772ce093be2955)

          • conf/hbase-env.sh
          • hbase-server/src/main/java/org/apache/hadoop/hbase/JMXListener.java
          • hbase-server/src/test/java/org/apache/hadoop/hbase/TestJMXListener.java
          Show
          Hudson added a comment - SUCCESS: Integrated in HBase-0.98 #348 (See https://builds.apache.org/job/HBase-0.98/348/ ) HBASE-10289 Avoid random port usage by default JMX Server. Create Custom JMX server (Qiang Tian) (apurtell: rev 8ac95e73aeb76bf6bc0679122c772ce093be2955) conf/hbase-env.sh hbase-server/src/main/java/org/apache/hadoop/hbase/JMXListener.java hbase-server/src/test/java/org/apache/hadoop/hbase/TestJMXListener.java
          Hide
          Hudson added a comment -

          FAILURE: Integrated in HBase-0.98-on-Hadoop-1.1 #330 (See https://builds.apache.org/job/HBase-0.98-on-Hadoop-1.1/330/)
          HBASE-10289 Avoid random port usage by default JMX Server. Create Custom JMX server (Qiang Tian) (apurtell: rev 8ac95e73aeb76bf6bc0679122c772ce093be2955)

          • hbase-server/src/main/java/org/apache/hadoop/hbase/JMXListener.java
          • hbase-server/src/test/java/org/apache/hadoop/hbase/TestJMXListener.java
          • conf/hbase-env.sh
          Show
          Hudson added a comment - FAILURE: Integrated in HBase-0.98-on-Hadoop-1.1 #330 (See https://builds.apache.org/job/HBase-0.98-on-Hadoop-1.1/330/ ) HBASE-10289 Avoid random port usage by default JMX Server. Create Custom JMX server (Qiang Tian) (apurtell: rev 8ac95e73aeb76bf6bc0679122c772ce093be2955) hbase-server/src/main/java/org/apache/hadoop/hbase/JMXListener.java hbase-server/src/test/java/org/apache/hadoop/hbase/TestJMXListener.java conf/hbase-env.sh
          Hide
          Enis Soztutar added a comment -

          Closing this issue after 0.99.0 release.

          Show
          Enis Soztutar added a comment - Closing this issue after 0.99.0 release.

            People

            • Assignee:
              Qiang Tian
              Reporter:
              nijel
            • Votes:
              1 Vote for this issue
              Watchers:
              13 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved:

                Development