ddupg commented on a change in pull request #2286:
URL: https://github.com/apache/hbase/pull/2286#discussion_r475192320



##########
File path: 
hbase-server/src/test/java/org/apache/hadoop/hbase/TestJMXConnectorServer.java
##########
@@ -56,39 +58,47 @@
   private static Configuration conf = null;
   private static Admin admin;
   // RMI registry port
-  private static int rmiRegistryPort = 61120;
+  private static int rmiRegistryPort;
   // Switch for customized Accesscontroller to throw ACD exception while 
executing test case
-  static boolean hasAccess;
+  private volatile static boolean hasAccess;
 
-  @Before
-  public void setUp() throws Exception {
-    UTIL = new HBaseTestingUtility();
+  @BeforeClass
+  public static void setUpBeforeClass() throws Exception {
     conf = UTIL.getConfiguration();
+    String cps = JMXListener.class.getName() + "," + 
MyAccessController.class.getName();
+    conf.set(CoprocessorHost.MASTER_COPROCESSOR_CONF_KEY, cps);
+    conf.set(CoprocessorHost.REGIONSERVER_COPROCESSOR_CONF_KEY, cps);
+    rmiRegistryPort = UTIL.randomFreePort();
+    conf.setInt("master.rmi.registry.port", rmiRegistryPort);
+    conf.setInt("regionserver.rmi.registry.port", rmiRegistryPort);
+    UTIL.startMiniCluster();
+    admin = UTIL.getConnection().getAdmin();
   }
 
-  @After
-  public void tearDown() throws Exception {
-    // Set to true while stopping cluster
-    hasAccess = true;
+  @AfterClass
+  public static void tearDownAfterClass() throws Exception {
     admin.close();
     UTIL.shutdownMiniCluster();
   }
 
+  @Before
+  public void setUp() {
+    hasAccess = false;

Review comment:
       
[HMaster#stopMaster](https://github.com/apache/hbase/blob/9f62a82334574b135f8e220b024981df64fab811/hbase-server/src/main/java/org/apache/hadoop/hbase/master/HMaster.java#L2944)
 doesn't catch any exception that `cpHost.preStopMaster()` throws out. 
   
[HRegionServer#stop](https://github.com/apache/hbase/blob/9f62a82334574b135f8e220b024981df64fab811/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HRegionServer.java#L2255)
 catches exception from `rsHost.preStop`.
   But I have no idea why the two are different in the design of handling 
exceptions.




----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
[email protected]


Reply via email to