[GitHub] [hbase] binlijin commented on a change in pull request #1026: HBASE-23682 Fix NPE when disable DeadServerMetricRegionChore

2020-02-05 Thread GitBox
binlijin commented on a change in pull request #1026: HBASE-23682 Fix NPE when 
disable DeadServerMetricRegionChore
URL: https://github.com/apache/hbase/pull/1026#discussion_r375675180
 
 

 ##
 File path: 
hbase-server/src/test/java/org/apache/hadoop/hbase/master/assignment/TestDeadServerMetricRegionChore.java
 ##
 @@ -0,0 +1,68 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.hadoop.hbase.master.assignment;
+
+import org.apache.hadoop.hbase.HBaseClassTestRule;
+import org.apache.hadoop.hbase.HBaseTestingUtility;
+import org.apache.hadoop.hbase.TableName;
+import org.apache.hadoop.hbase.testclassification.MasterTests;
+import org.apache.hadoop.hbase.testclassification.MediumTests;
+import org.junit.After;
+import org.junit.Before;
+import org.junit.ClassRule;
+import org.junit.Test;
+import org.junit.experimental.categories.Category;
+
+/**
+ * Testcase for HBASE-23682.
+ */
+@Category({ MasterTests.class, MediumTests.class })
+public class TestDeadServerMetricRegionChore {
+
+  @ClassRule
+  public static final HBaseClassTestRule CLASS_RULE =
+HBaseClassTestRule.forClass(TestDeadServerMetricRegionChore.class);
+
+  protected HBaseTestingUtility util;
+
+  @Before
+  public void setUp() throws Exception {
+util = new HBaseTestingUtility();
+// Disable DeadServerMetricRegionChore
+util.getConfiguration()
+  
.setInt(AssignmentManager.DEAD_REGION_METRIC_CHORE_INTERVAL_MSEC_CONF_KEY, -1);
+  }
+
+  @After
+  public void tearDown() throws Exception {
+  }
+
+  @Test
+  public void testDeadServerMetricRegionChore() throws Exception {
+try {
+  this.util.startMiniCluster();
 
 Review comment:
   shutdownMiniCluster() already move to tearDown(), shoud have addressed it.


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:
us...@infra.apache.org


With regards,
Apache Git Services


[GitHub] [hbase] binlijin commented on a change in pull request #1026: HBASE-23682 Fix NPE when disable DeadServerMetricRegionChore

2020-01-16 Thread GitBox
binlijin commented on a change in pull request #1026: HBASE-23682 Fix NPE when 
disable DeadServerMetricRegionChore
URL: https://github.com/apache/hbase/pull/1026#discussion_r367736199
 
 

 ##
 File path: 
hbase-server/src/test/java/org/apache/hadoop/hbase/master/assignment/TestDeadServerMetricRegionChore.java
 ##
 @@ -0,0 +1,68 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.hadoop.hbase.master.assignment;
+
+import org.apache.hadoop.hbase.HBaseClassTestRule;
+import org.apache.hadoop.hbase.HBaseTestingUtility;
+import org.apache.hadoop.hbase.TableName;
+import org.apache.hadoop.hbase.testclassification.MasterTests;
+import org.apache.hadoop.hbase.testclassification.MediumTests;
+import org.junit.After;
+import org.junit.Before;
+import org.junit.ClassRule;
+import org.junit.Test;
+import org.junit.experimental.categories.Category;
+
+/**
+ * Testcase for HBASE-23682.
+ */
+@Category({ MasterTests.class, MediumTests.class })
+public class TestDeadServerMetricRegionChore {
+
+  @ClassRule
+  public static final HBaseClassTestRule CLASS_RULE =
+HBaseClassTestRule.forClass(TestDeadServerMetricRegionChore.class);
+
+  protected HBaseTestingUtility util;
+
+  @Before
+  public void setUp() throws Exception {
+util = new HBaseTestingUtility();
+// Disable DeadServerMetricRegionChore
+util.getConfiguration()
+  
.setInt(AssignmentManager.DEAD_REGION_METRIC_CHORE_INTERVAL_MSEC_CONF_KEY, -1);
+  }
+
+  @After
+  public void tearDown() throws Exception {
+  }
+
+  @Test
+  public void testDeadServerMetricRegionChore() throws Exception {
+try {
+  this.util.startMiniCluster();
 
 Review comment:
   Ok, fix it.


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:
us...@infra.apache.org


With regards,
Apache Git Services


[GitHub] [hbase] binlijin commented on a change in pull request #1026: HBASE-23682 Fix NPE when disable DeadServerMetricRegionChore

2020-01-16 Thread GitBox
binlijin commented on a change in pull request #1026: HBASE-23682 Fix NPE when 
disable DeadServerMetricRegionChore
URL: https://github.com/apache/hbase/pull/1026#discussion_r367337726
 
 

 ##
 File path: 
hbase-server/src/test/java/org/apache/hadoop/hbase/master/assignment/TestDeadServerMetricRegionChore.java
 ##
 @@ -0,0 +1,74 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.hadoop.hbase.master.assignment;
+
+import org.apache.hadoop.conf.Configuration;
+import org.apache.hadoop.hbase.HBaseClassTestRule;
+import org.apache.hadoop.hbase.HBaseTestingUtility;
+import org.apache.hadoop.hbase.TableName;
+import org.apache.hadoop.hbase.testclassification.LargeTests;
+import org.apache.hadoop.hbase.testclassification.MasterTests;
+import org.apache.hadoop.hbase.util.FSUtils;
+import org.junit.After;
+import org.junit.Before;
+import org.junit.ClassRule;
+import org.junit.Test;
+import org.junit.experimental.categories.Category;
+
+/**
+ * Base class for AM test.
+ */
+@Category({ MasterTests.class, LargeTests.class })
+public class TestDeadServerMetricRegionChore {
+
+  @ClassRule
+  public static final HBaseClassTestRule CLASS_RULE =
+HBaseClassTestRule.forClass(TestDeadServerMetricRegionChore.class);
+
+  protected HBaseTestingUtility util;
+
+  protected void setupConfiguration(Configuration conf) throws Exception {
+FSUtils.setRootDir(conf, util.getDataTestDir());
+// Disable DeadServerMetricRegionChore
+
conf.setInt(AssignmentManager.DEAD_REGION_METRIC_CHORE_INTERVAL_MSEC_CONF_KEY, 
-1);
+  }
+
+  @Before
+  public void setUp() throws Exception {
+util = new HBaseTestingUtility();
+setupConfiguration(util.getConfiguration());
+  }
+
+  @After
+  public void tearDown() throws Exception {
+  }
+
+  @Test
+  public void testDeadServerMetricRegionChore() throws Exception {
+try {
+  this.util.startMiniCluster();
+  // Master start up normal.
+  final TableName tableName = 
TableName.valueOf("testDeadServerMetricRegionChore");
+  this.util.createTable(tableName, "f");
+  this.util.waitTableAvailable(tableName);
+} finally {
+  this.util.killMiniHBaseCluster();
 
 Review comment:
   The shutdown has no problem, i already change killMiniHBaseCluster 
to shutdownMiniCluster.


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:
us...@infra.apache.org


With regards,
Apache Git Services


[GitHub] [hbase] binlijin commented on a change in pull request #1026: HBASE-23682 Fix NPE when disable DeadServerMetricRegionChore

2020-01-16 Thread GitBox
binlijin commented on a change in pull request #1026: HBASE-23682 Fix NPE when 
disable DeadServerMetricRegionChore
URL: https://github.com/apache/hbase/pull/1026#discussion_r367337726
 
 

 ##
 File path: 
hbase-server/src/test/java/org/apache/hadoop/hbase/master/assignment/TestDeadServerMetricRegionChore.java
 ##
 @@ -0,0 +1,74 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.hadoop.hbase.master.assignment;
+
+import org.apache.hadoop.conf.Configuration;
+import org.apache.hadoop.hbase.HBaseClassTestRule;
+import org.apache.hadoop.hbase.HBaseTestingUtility;
+import org.apache.hadoop.hbase.TableName;
+import org.apache.hadoop.hbase.testclassification.LargeTests;
+import org.apache.hadoop.hbase.testclassification.MasterTests;
+import org.apache.hadoop.hbase.util.FSUtils;
+import org.junit.After;
+import org.junit.Before;
+import org.junit.ClassRule;
+import org.junit.Test;
+import org.junit.experimental.categories.Category;
+
+/**
+ * Base class for AM test.
+ */
+@Category({ MasterTests.class, LargeTests.class })
+public class TestDeadServerMetricRegionChore {
+
+  @ClassRule
+  public static final HBaseClassTestRule CLASS_RULE =
+HBaseClassTestRule.forClass(TestDeadServerMetricRegionChore.class);
+
+  protected HBaseTestingUtility util;
+
+  protected void setupConfiguration(Configuration conf) throws Exception {
+FSUtils.setRootDir(conf, util.getDataTestDir());
+// Disable DeadServerMetricRegionChore
+
conf.setInt(AssignmentManager.DEAD_REGION_METRIC_CHORE_INTERVAL_MSEC_CONF_KEY, 
-1);
+  }
+
+  @Before
+  public void setUp() throws Exception {
+util = new HBaseTestingUtility();
+setupConfiguration(util.getConfiguration());
+  }
+
+  @After
+  public void tearDown() throws Exception {
+  }
+
+  @Test
+  public void testDeadServerMetricRegionChore() throws Exception {
+try {
+  this.util.startMiniCluster();
+  // Master start up normal.
+  final TableName tableName = 
TableName.valueOf("testDeadServerMetricRegionChore");
+  this.util.createTable(tableName, "f");
+  this.util.waitTableAvailable(tableName);
+} finally {
+  this.util.killMiniHBaseCluster();
 
 Review comment:
   The shutdown has no problem.


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:
us...@infra.apache.org


With regards,
Apache Git Services


[GitHub] [hbase] binlijin commented on a change in pull request #1026: HBASE-23682 Fix NPE when disable DeadServerMetricRegionChore

2020-01-16 Thread GitBox
binlijin commented on a change in pull request #1026: HBASE-23682 Fix NPE when 
disable DeadServerMetricRegionChore
URL: https://github.com/apache/hbase/pull/1026#discussion_r367282791
 
 

 ##
 File path: 
hbase-server/src/test/java/org/apache/hadoop/hbase/master/assignment/TestDeadServerMetricRegionChore.java
 ##
 @@ -0,0 +1,68 @@
+/**
 
 Review comment:
   OK, thanks for you explanation.


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:
us...@infra.apache.org


With regards,
Apache Git Services


[GitHub] [hbase] binlijin commented on a change in pull request #1026: HBASE-23682 Fix NPE when disable DeadServerMetricRegionChore

2020-01-15 Thread GitBox
binlijin commented on a change in pull request #1026: HBASE-23682 Fix NPE when 
disable DeadServerMetricRegionChore
URL: https://github.com/apache/hbase/pull/1026#discussion_r367205126
 
 

 ##
 File path: 
hbase-server/src/test/java/org/apache/hadoop/hbase/master/assignment/TestDeadServerMetricRegionChore.java
 ##
 @@ -0,0 +1,68 @@
+/**
 
 Review comment:
   You mean change "/**" to "/*" ?I see other tests all use "/**" no one 
use "/*" 


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:
us...@infra.apache.org


With regards,
Apache Git Services


[GitHub] [hbase] binlijin commented on a change in pull request #1026: HBASE-23682 Fix NPE when disable DeadServerMetricRegionChore

2020-01-15 Thread GitBox
binlijin commented on a change in pull request #1026: HBASE-23682 Fix NPE when 
disable DeadServerMetricRegionChore
URL: https://github.com/apache/hbase/pull/1026#discussion_r367205126
 
 

 ##
 File path: 
hbase-server/src/test/java/org/apache/hadoop/hbase/master/assignment/TestDeadServerMetricRegionChore.java
 ##
 @@ -0,0 +1,68 @@
+/**
 
 Review comment:
   You mean change "/\*\*" to "/\*" ?I see other tests all use "/\*\*" no 
one use "/*" 


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:
us...@infra.apache.org


With regards,
Apache Git Services


[GitHub] [hbase] binlijin commented on a change in pull request #1026: HBASE-23682 Fix NPE when disable DeadServerMetricRegionChore

2020-01-15 Thread GitBox
binlijin commented on a change in pull request #1026: HBASE-23682 Fix NPE when 
disable DeadServerMetricRegionChore
URL: https://github.com/apache/hbase/pull/1026#discussion_r367204436
 
 

 ##
 File path: 
hbase-server/src/test/java/org/apache/hadoop/hbase/master/assignment/TestDeadServerMetricRegionChore.java
 ##
 @@ -0,0 +1,68 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.hadoop.hbase.master.assignment;
+
+import org.apache.hadoop.hbase.HBaseClassTestRule;
+import org.apache.hadoop.hbase.HBaseTestingUtility;
+import org.apache.hadoop.hbase.TableName;
+import org.apache.hadoop.hbase.testclassification.MasterTests;
+import org.apache.hadoop.hbase.testclassification.MediumTests;
+import org.junit.After;
+import org.junit.Before;
+import org.junit.ClassRule;
+import org.junit.Test;
+import org.junit.experimental.categories.Category;
+
+/**
+ * Testcase for HBASE-23682.
+ */
+@Category({ MasterTests.class, MediumTests.class })
+public class TestDeadServerMetricRegionChore {
+
+  @ClassRule
+  public static final HBaseClassTestRule CLASS_RULE =
+HBaseClassTestRule.forClass(TestDeadServerMetricRegionChore.class);
+
+  protected HBaseTestingUtility util;
+
+  @Before
+  public void setUp() throws Exception {
+util = new HBaseTestingUtility();
+// Disable DeadServerMetricRegionChore
+util.getConfiguration()
+  
.setInt(AssignmentManager.DEAD_REGION_METRIC_CHORE_INTERVAL_MSEC_CONF_KEY, -1);
+  }
+
+  @After
+  public void tearDown() throws Exception {
+  }
+
+  @Test
+  public void testDeadServerMetricRegionChore() throws Exception {
+try {
+  this.util.startMiniCluster();
 
 Review comment:
   Yes, without the patch HMaster will abort when startup so startMiniCluster 
throws exception, with the patch it will not.


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:
us...@infra.apache.org


With regards,
Apache Git Services


[GitHub] [hbase] binlijin commented on a change in pull request #1026: HBASE-23682 Fix NPE when disable DeadServerMetricRegionChore

2020-01-15 Thread GitBox
binlijin commented on a change in pull request #1026: HBASE-23682 Fix NPE when 
disable DeadServerMetricRegionChore
URL: https://github.com/apache/hbase/pull/1026#discussion_r367203725
 
 

 ##
 File path: 
hbase-server/src/main/java/org/apache/hadoop/hbase/master/assignment/AssignmentManager.java
 ##
 @@ -1378,7 +1378,9 @@ public void joinCluster() throws IOException {
 
 // Start the chores
 master.getMasterProcedureExecutor().addChore(this.ritChore);
-master.getMasterProcedureExecutor().addChore(this.deadMetricChore);
+if (this.deadMetricChore != null) {
 
 Review comment:
   I know it can  be removed,  add it to show just where is wrong actually and 
cause the problem. 


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:
us...@infra.apache.org


With regards,
Apache Git Services


[GitHub] [hbase] binlijin commented on a change in pull request #1026: HBASE-23682 Fix NPE when disable DeadServerMetricRegionChore

2020-01-15 Thread GitBox
binlijin commented on a change in pull request #1026: HBASE-23682 Fix NPE when 
disable DeadServerMetricRegionChore
URL: https://github.com/apache/hbase/pull/1026#discussion_r367203725
 
 

 ##
 File path: 
hbase-server/src/main/java/org/apache/hadoop/hbase/master/assignment/AssignmentManager.java
 ##
 @@ -1378,7 +1378,9 @@ public void joinCluster() throws IOException {
 
 // Start the chores
 master.getMasterProcedureExecutor().addChore(this.ritChore);
-master.getMasterProcedureExecutor().addChore(this.deadMetricChore);
+if (this.deadMetricChore != null) {
 
 Review comment:
   Yes, it can  be removed,  add it to show just where is wrong actually.


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:
us...@infra.apache.org


With regards,
Apache Git Services


[GitHub] [hbase] binlijin commented on a change in pull request #1026: HBASE-23682 Fix NPE when disable DeadServerMetricRegionChore

2020-01-14 Thread GitBox
binlijin commented on a change in pull request #1026: HBASE-23682 Fix NPE when 
disable DeadServerMetricRegionChore
URL: https://github.com/apache/hbase/pull/1026#discussion_r37537
 
 

 ##
 File path: 
hbase-server/src/test/java/org/apache/hadoop/hbase/master/assignment/TestDeadServerMetricRegionChore.java
 ##
 @@ -0,0 +1,74 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.hadoop.hbase.master.assignment;
+
+import org.apache.hadoop.conf.Configuration;
+import org.apache.hadoop.hbase.HBaseClassTestRule;
+import org.apache.hadoop.hbase.HBaseTestingUtility;
+import org.apache.hadoop.hbase.TableName;
+import org.apache.hadoop.hbase.testclassification.LargeTests;
+import org.apache.hadoop.hbase.testclassification.MasterTests;
+import org.apache.hadoop.hbase.util.FSUtils;
+import org.junit.After;
+import org.junit.Before;
+import org.junit.ClassRule;
+import org.junit.Test;
+import org.junit.experimental.categories.Category;
+
+/**
+ * Base class for AM test.
+ */
+@Category({ MasterTests.class, LargeTests.class })
+public class TestDeadServerMetricRegionChore {
+
+  @ClassRule
+  public static final HBaseClassTestRule CLASS_RULE =
+HBaseClassTestRule.forClass(TestDeadServerMetricRegionChore.class);
+
+  protected HBaseTestingUtility util;
+
+  protected void setupConfiguration(Configuration conf) throws Exception {
+FSUtils.setRootDir(conf, util.getDataTestDir());
+// Disable DeadServerMetricRegionChore
+
conf.setInt(AssignmentManager.DEAD_REGION_METRIC_CHORE_INTERVAL_MSEC_CONF_KEY, 
-1);
+  }
+
+  @Before
+  public void setUp() throws Exception {
+util = new HBaseTestingUtility();
+setupConfiguration(util.getConfiguration());
+  }
+
+  @After
+  public void tearDown() throws Exception {
+  }
+
+  @Test
+  public void testDeadServerMetricRegionChore() throws Exception {
+try {
+  this.util.startMiniCluster();
+  // Master start up normal.
+  final TableName tableName = 
TableName.valueOf("testDeadServerMetricRegionChore");
+  this.util.createTable(tableName, "f");
+  this.util.waitTableAvailable(tableName);
+} finally {
+  this.util.killMiniHBaseCluster();
 
 Review comment:
   The test is failed  when startMiniCluster without this patch.
   
   [INFO] Running 
org.apache.hadoop.hbase.master.assignment.TestDeadServerMetricRegionChore
   [ERROR] Tests run: 1, Failures: 0, Errors: 1, Skipped: 0, Time elapsed: 
210.246 s <<< FAILURE! - in 
org.apache.hadoop.hbase.master.assignment.TestDeadServerMetricRegionChore
   [ERROR] 
org.apache.hadoop.hbase.master.assignment.TestDeadServerMetricRegionChore.testDeadServerMetricRegionChore
  Time elapsed: 210.054 s  <<< ERROR!
   java.io.IOException: Shutting down
at 
org.apache.hadoop.hbase.master.assignment.TestDeadServerMetricRegionChore.testDeadServerMetricRegionChore(TestDeadServerMetricRegionChore.java:60)
   Caused by: java.lang.RuntimeException: Master not initialized after 20ms
at 
org.apache.hadoop.hbase.master.assignment.TestDeadServerMetricRegionChore.testDeadServerMetricRegionChore(TestDeadServerMetricRegionChore.java:60)
   


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:
us...@infra.apache.org


With regards,
Apache Git Services


[GitHub] [hbase] binlijin commented on a change in pull request #1026: HBASE-23682 Fix NPE when disable DeadServerMetricRegionChore

2020-01-14 Thread GitBox
binlijin commented on a change in pull request #1026: HBASE-23682 Fix NPE when 
disable DeadServerMetricRegionChore
URL: https://github.com/apache/hbase/pull/1026#discussion_r37537
 
 

 ##
 File path: 
hbase-server/src/test/java/org/apache/hadoop/hbase/master/assignment/TestDeadServerMetricRegionChore.java
 ##
 @@ -0,0 +1,74 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.hadoop.hbase.master.assignment;
+
+import org.apache.hadoop.conf.Configuration;
+import org.apache.hadoop.hbase.HBaseClassTestRule;
+import org.apache.hadoop.hbase.HBaseTestingUtility;
+import org.apache.hadoop.hbase.TableName;
+import org.apache.hadoop.hbase.testclassification.LargeTests;
+import org.apache.hadoop.hbase.testclassification.MasterTests;
+import org.apache.hadoop.hbase.util.FSUtils;
+import org.junit.After;
+import org.junit.Before;
+import org.junit.ClassRule;
+import org.junit.Test;
+import org.junit.experimental.categories.Category;
+
+/**
+ * Base class for AM test.
+ */
+@Category({ MasterTests.class, LargeTests.class })
+public class TestDeadServerMetricRegionChore {
+
+  @ClassRule
+  public static final HBaseClassTestRule CLASS_RULE =
+HBaseClassTestRule.forClass(TestDeadServerMetricRegionChore.class);
+
+  protected HBaseTestingUtility util;
+
+  protected void setupConfiguration(Configuration conf) throws Exception {
+FSUtils.setRootDir(conf, util.getDataTestDir());
+// Disable DeadServerMetricRegionChore
+
conf.setInt(AssignmentManager.DEAD_REGION_METRIC_CHORE_INTERVAL_MSEC_CONF_KEY, 
-1);
+  }
+
+  @Before
+  public void setUp() throws Exception {
+util = new HBaseTestingUtility();
+setupConfiguration(util.getConfiguration());
+  }
+
+  @After
+  public void tearDown() throws Exception {
+  }
+
+  @Test
+  public void testDeadServerMetricRegionChore() throws Exception {
+try {
+  this.util.startMiniCluster();
+  // Master start up normal.
+  final TableName tableName = 
TableName.valueOf("testDeadServerMetricRegionChore");
+  this.util.createTable(tableName, "f");
+  this.util.waitTableAvailable(tableName);
+} finally {
+  this.util.killMiniHBaseCluster();
 
 Review comment:
   The test is failed when startMiniCluster
   {code}
   [INFO] Running 
org.apache.hadoop.hbase.master.assignment.TestDeadServerMetricRegionChore
   [ERROR] Tests run: 1, Failures: 0, Errors: 1, Skipped: 0, Time elapsed: 
210.246 s <<< FAILURE! - in 
org.apache.hadoop.hbase.master.assignment.TestDeadServerMetricRegionChore
   [ERROR] 
org.apache.hadoop.hbase.master.assignment.TestDeadServerMetricRegionChore.testDeadServerMetricRegionChore
  Time elapsed: 210.054 s  <<< ERROR!
   java.io.IOException: Shutting down
at 
org.apache.hadoop.hbase.master.assignment.TestDeadServerMetricRegionChore.testDeadServerMetricRegionChore(TestDeadServerMetricRegionChore.java:60)
   Caused by: java.lang.RuntimeException: Master not initialized after 20ms
at 
org.apache.hadoop.hbase.master.assignment.TestDeadServerMetricRegionChore.testDeadServerMetricRegionChore(TestDeadServerMetricRegionChore.java:60)
   {code}


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:
us...@infra.apache.org


With regards,
Apache Git Services


[GitHub] [hbase] binlijin commented on a change in pull request #1026: HBASE-23682 Fix NPE when disable DeadServerMetricRegionChore

2020-01-14 Thread GitBox
binlijin commented on a change in pull request #1026: HBASE-23682 Fix NPE when 
disable DeadServerMetricRegionChore
URL: https://github.com/apache/hbase/pull/1026#discussion_r37537
 
 

 ##
 File path: 
hbase-server/src/test/java/org/apache/hadoop/hbase/master/assignment/TestDeadServerMetricRegionChore.java
 ##
 @@ -0,0 +1,74 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.hadoop.hbase.master.assignment;
+
+import org.apache.hadoop.conf.Configuration;
+import org.apache.hadoop.hbase.HBaseClassTestRule;
+import org.apache.hadoop.hbase.HBaseTestingUtility;
+import org.apache.hadoop.hbase.TableName;
+import org.apache.hadoop.hbase.testclassification.LargeTests;
+import org.apache.hadoop.hbase.testclassification.MasterTests;
+import org.apache.hadoop.hbase.util.FSUtils;
+import org.junit.After;
+import org.junit.Before;
+import org.junit.ClassRule;
+import org.junit.Test;
+import org.junit.experimental.categories.Category;
+
+/**
+ * Base class for AM test.
+ */
+@Category({ MasterTests.class, LargeTests.class })
+public class TestDeadServerMetricRegionChore {
+
+  @ClassRule
+  public static final HBaseClassTestRule CLASS_RULE =
+HBaseClassTestRule.forClass(TestDeadServerMetricRegionChore.class);
+
+  protected HBaseTestingUtility util;
+
+  protected void setupConfiguration(Configuration conf) throws Exception {
+FSUtils.setRootDir(conf, util.getDataTestDir());
+// Disable DeadServerMetricRegionChore
+
conf.setInt(AssignmentManager.DEAD_REGION_METRIC_CHORE_INTERVAL_MSEC_CONF_KEY, 
-1);
+  }
+
+  @Before
+  public void setUp() throws Exception {
+util = new HBaseTestingUtility();
+setupConfiguration(util.getConfiguration());
+  }
+
+  @After
+  public void tearDown() throws Exception {
+  }
+
+  @Test
+  public void testDeadServerMetricRegionChore() throws Exception {
+try {
+  this.util.startMiniCluster();
+  // Master start up normal.
+  final TableName tableName = 
TableName.valueOf("testDeadServerMetricRegionChore");
+  this.util.createTable(tableName, "f");
+  this.util.waitTableAvailable(tableName);
+} finally {
+  this.util.killMiniHBaseCluster();
 
 Review comment:
   The test is failed when startMiniCluster
   
   [INFO] Running 
org.apache.hadoop.hbase.master.assignment.TestDeadServerMetricRegionChore
   [ERROR] Tests run: 1, Failures: 0, Errors: 1, Skipped: 0, Time elapsed: 
210.246 s <<< FAILURE! - in 
org.apache.hadoop.hbase.master.assignment.TestDeadServerMetricRegionChore
   [ERROR] 
org.apache.hadoop.hbase.master.assignment.TestDeadServerMetricRegionChore.testDeadServerMetricRegionChore
  Time elapsed: 210.054 s  <<< ERROR!
   java.io.IOException: Shutting down
at 
org.apache.hadoop.hbase.master.assignment.TestDeadServerMetricRegionChore.testDeadServerMetricRegionChore(TestDeadServerMetricRegionChore.java:60)
   Caused by: java.lang.RuntimeException: Master not initialized after 20ms
at 
org.apache.hadoop.hbase.master.assignment.TestDeadServerMetricRegionChore.testDeadServerMetricRegionChore(TestDeadServerMetricRegionChore.java:60)
   


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:
us...@infra.apache.org


With regards,
Apache Git Services


[GitHub] [hbase] binlijin commented on a change in pull request #1026: HBASE-23682 Fix NPE when disable DeadServerMetricRegionChore

2020-01-14 Thread GitBox
binlijin commented on a change in pull request #1026: HBASE-23682 Fix NPE when 
disable DeadServerMetricRegionChore
URL: https://github.com/apache/hbase/pull/1026#discussion_r31413
 
 

 ##
 File path: 
hbase-server/src/test/java/org/apache/hadoop/hbase/master/assignment/TestDeadServerMetricRegionChore.java
 ##
 @@ -0,0 +1,74 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.hadoop.hbase.master.assignment;
+
+import org.apache.hadoop.conf.Configuration;
+import org.apache.hadoop.hbase.HBaseClassTestRule;
+import org.apache.hadoop.hbase.HBaseTestingUtility;
+import org.apache.hadoop.hbase.TableName;
+import org.apache.hadoop.hbase.testclassification.LargeTests;
+import org.apache.hadoop.hbase.testclassification.MasterTests;
+import org.apache.hadoop.hbase.util.FSUtils;
+import org.junit.After;
+import org.junit.Before;
+import org.junit.ClassRule;
+import org.junit.Test;
+import org.junit.experimental.categories.Category;
+
+/**
+ * Base class for AM test.
+ */
+@Category({ MasterTests.class, LargeTests.class })
+public class TestDeadServerMetricRegionChore {
+
+  @ClassRule
+  public static final HBaseClassTestRule CLASS_RULE =
+HBaseClassTestRule.forClass(TestDeadServerMetricRegionChore.class);
+
+  protected HBaseTestingUtility util;
+
+  protected void setupConfiguration(Configuration conf) throws Exception {
+FSUtils.setRootDir(conf, util.getDataTestDir());
 
 Review comment:
   fix it


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:
us...@infra.apache.org


With regards,
Apache Git Services


[GitHub] [hbase] binlijin commented on a change in pull request #1026: HBASE-23682 Fix NPE when disable DeadServerMetricRegionChore

2020-01-14 Thread GitBox
binlijin commented on a change in pull request #1026: HBASE-23682 Fix NPE when 
disable DeadServerMetricRegionChore
URL: https://github.com/apache/hbase/pull/1026#discussion_r31353
 
 

 ##
 File path: 
hbase-server/src/test/java/org/apache/hadoop/hbase/master/assignment/TestDeadServerMetricRegionChore.java
 ##
 @@ -0,0 +1,74 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.hadoop.hbase.master.assignment;
+
+import org.apache.hadoop.conf.Configuration;
+import org.apache.hadoop.hbase.HBaseClassTestRule;
+import org.apache.hadoop.hbase.HBaseTestingUtility;
+import org.apache.hadoop.hbase.TableName;
+import org.apache.hadoop.hbase.testclassification.LargeTests;
+import org.apache.hadoop.hbase.testclassification.MasterTests;
+import org.apache.hadoop.hbase.util.FSUtils;
+import org.junit.After;
+import org.junit.Before;
+import org.junit.ClassRule;
+import org.junit.Test;
+import org.junit.experimental.categories.Category;
+
+/**
 
 Review comment:
   yes, fix it


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:
us...@infra.apache.org


With regards,
Apache Git Services


[GitHub] [hbase] binlijin commented on a change in pull request #1026: HBASE-23682 Fix NPE when disable DeadServerMetricRegionChore

2020-01-14 Thread GitBox
binlijin commented on a change in pull request #1026: HBASE-23682 Fix NPE when 
disable DeadServerMetricRegionChore
URL: https://github.com/apache/hbase/pull/1026#discussion_r31314
 
 

 ##
 File path: 
hbase-server/src/test/java/org/apache/hadoop/hbase/master/assignment/TestDeadServerMetricRegionChore.java
 ##
 @@ -0,0 +1,74 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.hadoop.hbase.master.assignment;
+
+import org.apache.hadoop.conf.Configuration;
+import org.apache.hadoop.hbase.HBaseClassTestRule;
+import org.apache.hadoop.hbase.HBaseTestingUtility;
+import org.apache.hadoop.hbase.TableName;
+import org.apache.hadoop.hbase.testclassification.LargeTests;
+import org.apache.hadoop.hbase.testclassification.MasterTests;
+import org.apache.hadoop.hbase.util.FSUtils;
+import org.junit.After;
+import org.junit.Before;
+import org.junit.ClassRule;
+import org.junit.Test;
+import org.junit.experimental.categories.Category;
+
+/**
+ * Base class for AM test.
+ */
+@Category({ MasterTests.class, LargeTests.class })
 
 Review comment:
   OK
   


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:
us...@infra.apache.org


With regards,
Apache Git Services


[GitHub] [hbase] binlijin commented on a change in pull request #1026: HBASE-23682 Fix NPE when disable DeadServerMetricRegionChore

2020-01-14 Thread GitBox
binlijin commented on a change in pull request #1026: HBASE-23682 Fix NPE when 
disable DeadServerMetricRegionChore
URL: https://github.com/apache/hbase/pull/1026#discussion_r366300544
 
 

 ##
 File path: 
hbase-server/src/main/java/org/apache/hadoop/hbase/master/assignment/AssignmentManager.java
 ##
 @@ -1378,7 +1378,9 @@ public void joinCluster() throws IOException {
 
 // Start the chores
 master.getMasterProcedureExecutor().addChore(this.ritChore);
-master.getMasterProcedureExecutor().addChore(this.deadMetricChore);
+if (this.deadMetricChore != null) {
 
 Review comment:
   Yes.


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:
us...@infra.apache.org


With regards,
Apache Git Services


[GitHub] [hbase] binlijin commented on a change in pull request #1026: HBASE-23682 Fix NPE when disable DeadServerMetricRegionChore

2020-01-14 Thread GitBox
binlijin commented on a change in pull request #1026: HBASE-23682 Fix NPE when 
disable DeadServerMetricRegionChore
URL: https://github.com/apache/hbase/pull/1026#discussion_r366300595
 
 

 ##
 File path: 
hbase-procedure/src/main/java/org/apache/hadoop/hbase/procedure2/ProcedureExecutor.java
 ##
 @@ -733,6 +733,9 @@ public long getKeepAliveTime(final TimeUnit timeUnit) {
* @param chore the chore to add
*/
   public void addChore(ProcedureInMemoryChore chore) {
+if (chore == null) {
 
 Review comment:
   OK


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:
us...@infra.apache.org


With regards,
Apache Git Services