diff --git hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HRegionServer.java hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HRegionServer.java index 37fca3c..5bc0a66 100644 --- hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HRegionServer.java +++ hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HRegionServer.java @@ -2928,6 +2928,7 @@ public class HRegionServer extends HasThread implements LOG.debug("Exception details for failure to fetch wal coprocessor information.", exception); } } + coprocessors.addAll(rsHost.getCoprocessors()); return coprocessors.toArray(new String[coprocessors.size()]); } diff --git hbase-server/src/test/java/org/apache/hadoop/hbase/TestJMXListener.java hbase-server/src/test/java/org/apache/hadoop/hbase/TestJMXListener.java index ed141a6..c3e137f 100644 --- hbase-server/src/test/java/org/apache/hadoop/hbase/TestJMXListener.java +++ hbase-server/src/test/java/org/apache/hadoop/hbase/TestJMXListener.java @@ -30,8 +30,10 @@ import org.apache.hadoop.conf.Configuration; import org.apache.hadoop.hbase.coprocessor.CoprocessorHost; import org.apache.hadoop.hbase.testclassification.MediumTests; import org.apache.hadoop.hbase.testclassification.MiscTests; +import org.apache.hadoop.hbase.util.JVMClusterUtil; import org.junit.AfterClass; import org.junit.Assert; +import static org.junit.Assert.fail; import org.junit.BeforeClass; import org.junit.Rule; import org.junit.Test; @@ -93,5 +95,19 @@ public class TestJMXListener { } - + @Test + public void testGetRegionServerCoprocessors() throws Exception { + for (JVMClusterUtil.RegionServerThread rs : UTIL.getHBaseCluster().getRegionServerThreads()) { + boolean find = false; + for (String s : rs.getRegionServer().getRegionServerCoprocessors()) { + if (s.equals(JMXListener.class.getSimpleName())) { + find = true; + break; + } + } + if (!find) { + fail("where is the JMXListener?"); + } + } + } } \ No newline at end of file