You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@hbase.apache.org by GitBox <gi...@apache.org> on 2021/05/10 10:54:39 UTC

[GitHub] [hbase-operator-tools] wchevreuil opened a new pull request #86: HBASE-25874 [hbase-operator-tools]Add tool for identifying 'unknown s…

wchevreuil opened a new pull request #86:
URL: https://github.com/apache/hbase-operator-tools/pull/86


   …ervers' from master logs, then submit SCPs for each of those.


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



[GitHub] [hbase-operator-tools] wchevreuil commented on a change in pull request #86: HBASE-25874 [hbase-operator-tools]Add tool for identifying 'unknown s…

Posted by GitBox <gi...@apache.org>.
wchevreuil commented on a change in pull request #86:
URL: https://github.com/apache/hbase-operator-tools/pull/86#discussion_r629626179



##########
File path: hbase-tools/src/main/java/org/apache/hbase/RegionsOnUnknownServersRecoverer.java
##########
@@ -0,0 +1,101 @@
+/*
+ * 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.hbase;
+
+import org.apache.hadoop.conf.Configuration;
+import org.apache.hadoop.conf.Configured;
+import org.apache.hadoop.hbase.HBaseConfiguration;
+import org.apache.hadoop.hbase.client.Connection;
+import org.apache.hadoop.hbase.client.ConnectionFactory;
+import org.apache.hadoop.util.Tool;
+import org.apache.hadoop.util.ToolRunner;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import java.io.BufferedReader;
+import java.io.File;
+import java.io.FileReader;
+import java.util.HashSet;
+import java.util.Set;
+
+/**
+ * Tool for identifying Unknown Servers from master logs and schedule SCPs for each of those using
+ * HBCK2 'scheduleRecoveries' option. This is useful for clusters running hbase versions lower than
+ * 2.2.7, 2.3.5 and 2.4.7. For any of these versions or higher, use HBCK2 'recoverUnknown' option.
+ */
+public class RegionsOnUnknownServersRecoverer extends Configured implements Tool {
+
+  private static final Logger LOG =
+    LoggerFactory.getLogger(RegionsOnUnknownServersRecoverer.class.getName());
+
+  private static final String CATALOG_JANITOR = "CatalogJanitor: hole=";
+
+  private static final String UNKNOWN_SERVER = "unknown_server=";
+
+  private Configuration conf;
+
+  private Set<String> unknownServers = new HashSet<>();
+
+  public RegionsOnUnknownServersRecoverer(Configuration conf){
+    this.conf = conf;
+  }
+
+  @Override
+  public int run(String[] args) throws Exception {
+    if(args.length!=1){
+      LOG.error("Wrong number of arguments. "
+        + "Arguments are: <PATH_TO_MASTER_LOGS>");
+      return 1;
+    }
+    BufferedReader reader = null;
+    try(Connection conn = ConnectionFactory.createConnection(conf)) {
+      reader = new BufferedReader(new FileReader(new File(args[0])));

Review comment:
       It's actually closed by `reader.close`, as it's the IS wrapped in there, no? 




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



[GitHub] [hbase-operator-tools] Apache-HBase commented on pull request #86: HBASE-25874 [hbase-operator-tools]Add tool for identifying 'unknown s…

Posted by GitBox <gi...@apache.org>.
Apache-HBase commented on pull request #86:
URL: https://github.com/apache/hbase-operator-tools/pull/86#issuecomment-838116440


   :broken_heart: **-1 overall**
   
   
   
   
   
   
   | Vote | Subsystem | Runtime | Comment |
   |:----:|----------:|--------:|:--------|
   | +0 :ok: |  reexec  |   0m 43s |  Docker mode activated.  |
   ||| _ Prechecks _ |
   | +1 :green_heart: |  dupname  |   0m  0s |  No case conflicting files found.  |
   | +0 :ok: |  markdownlint  |   0m  0s |  markdownlint was not available.  |
   | +0 :ok: |  spotbugs  |   0m  0s |  spotbugs executables are not available.  |
   | +1 :green_heart: |  @author  |   0m  0s |  The patch does not contain any @author tags.  |
   | -0 :warning: |  test4tests  |   0m  0s |  The patch doesn't appear to include any new or modified tests. Please justify why no new tests are needed for this patch. Also please list what manual steps were performed to verify this patch.  |
   ||| _ master Compile Tests _ |
   | +1 :green_heart: |  mvninstall  |   0m 53s |  master passed  |
   | +1 :green_heart: |  compile  |   0m  8s |  master passed  |
   | +1 :green_heart: |  checkstyle  |   0m  6s |  master passed  |
   | +1 :green_heart: |  javadoc  |   0m  7s |  master passed  |
   ||| _ Patch Compile Tests _ |
   | +1 :green_heart: |  mvninstall  |   0m  9s |  the patch passed  |
   | +1 :green_heart: |  compile  |   0m  8s |  the patch passed  |
   | +1 :green_heart: |  javac  |   0m  8s |  the patch passed  |
   | -1 :x: |  checkstyle  |   0m  4s |  hbase-tools: The patch generated 2 new + 0 unchanged - 0 fixed = 2 total (was 0)  |
   | +1 :green_heart: |  whitespace  |   0m  0s |  The patch has no whitespace issues.  |
   | +1 :green_heart: |  javadoc  |   0m  5s |  the patch passed  |
   ||| _ Other Tests _ |
   | -1 :x: |  unit  |   2m 17s |  hbase-tools in the patch failed.  |
   | +1 :green_heart: |  asflicense  |   0m  6s |  The patch does not generate ASF License warnings.  |
   |  |   |   4m 54s |   |
   
   
   | Reason | Tests |
   |-------:|:------|
   | Failed junit tests | hbase.TestRegionsMerger |
   
   
   | Subsystem | Report/Notes |
   |----------:|:-------------|
   | Docker | ClientAPI=1.41 ServerAPI=1.41 base: https://ci-hadoop.apache.org/job/HBase/job/HBase-Operator-Tools-PreCommit/job/PR-86/2/artifact/yetus-precommit-check/output/Dockerfile |
   | GITHUB PR | https://github.com/apache/hbase-operator-tools/pull/86 |
   | Optional Tests | dupname asflicense markdownlint javac javadoc unit spotbugs findbugs checkstyle compile |
   | uname | Linux b9155d65bc12 5.4.0-1025-aws #25~18.04.1-Ubuntu SMP Fri Sep 11 12:03:04 UTC 2020 x86_64 GNU/Linux |
   | Build tool | maven |
   | git revision | master / f118dfb |
   | Default Java | Oracle Corporation-1.8.0_282-b08 |
   | checkstyle | https://ci-hadoop.apache.org/job/HBase/job/HBase-Operator-Tools-PreCommit/job/PR-86/2/artifact/yetus-precommit-check/output/diff-checkstyle-hbase-tools.txt |
   | unit | https://ci-hadoop.apache.org/job/HBase/job/HBase-Operator-Tools-PreCommit/job/PR-86/2/artifact/yetus-precommit-check/output/patch-unit-hbase-tools.txt |
   |  Test Results | https://ci-hadoop.apache.org/job/HBase/job/HBase-Operator-Tools-PreCommit/job/PR-86/2/testReport/ |
   | Max. process+thread count | 1169 (vs. ulimit of 5000) |
   | modules | C: hbase-tools U: hbase-tools |
   | Console output | https://ci-hadoop.apache.org/job/HBase/job/HBase-Operator-Tools-PreCommit/job/PR-86/2/console |
   | versions | git=2.20.1 |
   | Powered by | Apache Yetus 0.12.0 https://yetus.apache.org |
   
   
   This message was automatically generated.
   
   


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



[GitHub] [hbase-operator-tools] joshelser commented on a change in pull request #86: HBASE-25874 [hbase-operator-tools]Add tool for identifying 'unknown s…

Posted by GitBox <gi...@apache.org>.
joshelser commented on a change in pull request #86:
URL: https://github.com/apache/hbase-operator-tools/pull/86#discussion_r629476487



##########
File path: hbase-tools/src/main/java/org/apache/hbase/RegionsOnUnknownServersRecoverer.java
##########
@@ -0,0 +1,101 @@
+/*
+ * 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.hbase;
+
+import org.apache.hadoop.conf.Configuration;
+import org.apache.hadoop.conf.Configured;
+import org.apache.hadoop.hbase.HBaseConfiguration;
+import org.apache.hadoop.hbase.client.Connection;
+import org.apache.hadoop.hbase.client.ConnectionFactory;
+import org.apache.hadoop.util.Tool;
+import org.apache.hadoop.util.ToolRunner;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import java.io.BufferedReader;
+import java.io.File;
+import java.io.FileReader;
+import java.util.HashSet;
+import java.util.Set;
+
+/**
+ * Tool for identifying Unknown Servers from master logs and schedule SCPs for each of those using
+ * HBCK2 'scheduleRecoveries' option. This is useful for clusters running hbase versions lower than
+ * 2.2.7, 2.3.5 and 2.4.7. For any of these versions or higher, use HBCK2 'recoverUnknown' option.
+ */
+public class RegionsOnUnknownServersRecoverer extends Configured implements Tool {
+
+  private static final Logger LOG =
+    LoggerFactory.getLogger(RegionsOnUnknownServersRecoverer.class.getName());
+
+  private static final String CATALOG_JANITOR = "CatalogJanitor: hole=";
+
+  private static final String UNKNOWN_SERVER = "unknown_server=";
+
+  private Configuration conf;
+
+  private Set<String> unknownServers = new HashSet<>();
+
+  public RegionsOnUnknownServersRecoverer(Configuration conf){
+    this.conf = conf;
+  }
+
+  @Override
+  public int run(String[] args) throws Exception {
+    if(args.length!=1){
+      LOG.error("Wrong number of arguments. "
+        + "Arguments are: <PATH_TO_MASTER_LOGS>");
+      return 1;
+    }
+    BufferedReader reader = null;
+    try(Connection conn = ConnectionFactory.createConnection(conf)) {
+      reader = new BufferedReader(new FileReader(new File(args[0])));
+      String line = null;
+      while((line = reader.readLine()) != null){
+        if(line.contains(CATALOG_JANITOR)){
+          String[] servers = line.split(UNKNOWN_SERVER);
+          for(int i=1; i<servers.length; i++){
+            String server = servers[i].split("/")[0];
+            if(!unknownServers.contains(server)){
+              LOG.info("Adding server {} to our list of servers that will have SCPs.", server);
+              unknownServers.add(server);
+            }
+          }
+        }
+      }
+      HBCK2 hbck2 = new HBCK2(conf);

Review comment:
       What about at `dryrun` option which can be run first to make sure reasonable servernames are parsed?

##########
File path: hbase-tools/src/main/java/org/apache/hbase/RegionsOnUnknownServersRecoverer.java
##########
@@ -0,0 +1,101 @@
+/*
+ * 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.hbase;
+
+import org.apache.hadoop.conf.Configuration;
+import org.apache.hadoop.conf.Configured;
+import org.apache.hadoop.hbase.HBaseConfiguration;
+import org.apache.hadoop.hbase.client.Connection;
+import org.apache.hadoop.hbase.client.ConnectionFactory;
+import org.apache.hadoop.util.Tool;
+import org.apache.hadoop.util.ToolRunner;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import java.io.BufferedReader;
+import java.io.File;
+import java.io.FileReader;
+import java.util.HashSet;
+import java.util.Set;
+
+/**
+ * Tool for identifying Unknown Servers from master logs and schedule SCPs for each of those using
+ * HBCK2 'scheduleRecoveries' option. This is useful for clusters running hbase versions lower than
+ * 2.2.7, 2.3.5 and 2.4.7. For any of these versions or higher, use HBCK2 'recoverUnknown' option.
+ */
+public class RegionsOnUnknownServersRecoverer extends Configured implements Tool {
+
+  private static final Logger LOG =
+    LoggerFactory.getLogger(RegionsOnUnknownServersRecoverer.class.getName());
+
+  private static final String CATALOG_JANITOR = "CatalogJanitor: hole=";
+
+  private static final String UNKNOWN_SERVER = "unknown_server=";
+
+  private Configuration conf;
+
+  private Set<String> unknownServers = new HashSet<>();
+
+  public RegionsOnUnknownServersRecoverer(Configuration conf){
+    this.conf = conf;
+  }
+
+  @Override
+  public int run(String[] args) throws Exception {
+    if(args.length!=1){
+      LOG.error("Wrong number of arguments. "
+        + "Arguments are: <PATH_TO_MASTER_LOGS>");
+      return 1;
+    }
+    BufferedReader reader = null;
+    try(Connection conn = ConnectionFactory.createConnection(conf)) {
+      reader = new BufferedReader(new FileReader(new File(args[0])));

Review comment:
       The `FileReader` should be closed (is also `AutoCloseable`)




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



[GitHub] [hbase-operator-tools] Apache-HBase commented on pull request #86: HBASE-25874 [hbase-operator-tools]Add tool for identifying 'unknown s…

Posted by GitBox <gi...@apache.org>.
Apache-HBase commented on pull request #86:
URL: https://github.com/apache/hbase-operator-tools/pull/86#issuecomment-839720407


   :broken_heart: **-1 overall**
   
   
   
   
   
   
   | Vote | Subsystem | Runtime | Comment |
   |:----:|----------:|--------:|:--------|
   | +0 :ok: |  reexec  |   0m 43s |  Docker mode activated.  |
   ||| _ Prechecks _ |
   | +1 :green_heart: |  dupname  |   0m  0s |  No case conflicting files found.  |
   | +0 :ok: |  markdownlint  |   0m  0s |  markdownlint was not available.  |
   | +0 :ok: |  spotbugs  |   0m  0s |  spotbugs executables are not available.  |
   | +1 :green_heart: |  @author  |   0m  0s |  The patch does not contain any @author tags.  |
   | -0 :warning: |  test4tests  |   0m  0s |  The patch doesn't appear to include any new or modified tests. Please justify why no new tests are needed for this patch. Also please list what manual steps were performed to verify this patch.  |
   ||| _ master Compile Tests _ |
   | +1 :green_heart: |  mvninstall  |   0m 57s |  master passed  |
   | +1 :green_heart: |  compile  |   0m  8s |  master passed  |
   | +1 :green_heart: |  checkstyle  |   0m  6s |  master passed  |
   | +1 :green_heart: |  javadoc  |   0m  7s |  master passed  |
   ||| _ Patch Compile Tests _ |
   | +1 :green_heart: |  mvninstall  |   0m 11s |  the patch passed  |
   | +1 :green_heart: |  compile  |   0m  8s |  the patch passed  |
   | +1 :green_heart: |  javac  |   0m  8s |  the patch passed  |
   | +1 :green_heart: |  checkstyle  |   0m  4s |  the patch passed  |
   | -1 :x: |  whitespace  |   0m  0s |  The patch has 1 line(s) that end in whitespace. Use git apply --whitespace=fix <<patch_file>>. Refer https://git-scm.com/docs/git-apply  |
   | +1 :green_heart: |  javadoc  |   0m  5s |  the patch passed  |
   ||| _ Other Tests _ |
   | +1 :green_heart: |  unit  |   2m 13s |  hbase-tools in the patch passed.  |
   | +1 :green_heart: |  asflicense  |   0m  6s |  The patch does not generate ASF License warnings.  |
   |  |   |   4m 55s |   |
   
   
   | Subsystem | Report/Notes |
   |----------:|:-------------|
   | Docker | ClientAPI=1.41 ServerAPI=1.41 base: https://ci-hadoop.apache.org/job/HBase/job/HBase-Operator-Tools-PreCommit/job/PR-86/4/artifact/yetus-precommit-check/output/Dockerfile |
   | GITHUB PR | https://github.com/apache/hbase-operator-tools/pull/86 |
   | Optional Tests | dupname asflicense markdownlint javac javadoc unit spotbugs findbugs checkstyle compile |
   | uname | Linux 814902db5e44 5.4.0-1025-aws #25~18.04.1-Ubuntu SMP Fri Sep 11 12:03:04 UTC 2020 x86_64 GNU/Linux |
   | Build tool | maven |
   | git revision | master / f118dfb |
   | Default Java | Oracle Corporation-1.8.0_282-b08 |
   | whitespace | https://ci-hadoop.apache.org/job/HBase/job/HBase-Operator-Tools-PreCommit/job/PR-86/4/artifact/yetus-precommit-check/output/whitespace-eol.txt |
   |  Test Results | https://ci-hadoop.apache.org/job/HBase/job/HBase-Operator-Tools-PreCommit/job/PR-86/4/testReport/ |
   | Max. process+thread count | 1214 (vs. ulimit of 5000) |
   | modules | C: hbase-tools U: hbase-tools |
   | Console output | https://ci-hadoop.apache.org/job/HBase/job/HBase-Operator-Tools-PreCommit/job/PR-86/4/console |
   | versions | git=2.20.1 |
   | Powered by | Apache Yetus 0.12.0 https://yetus.apache.org |
   
   
   This message was automatically generated.
   
   


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



[GitHub] [hbase-operator-tools] Apache-HBase commented on pull request #86: HBASE-25874 [hbase-operator-tools]Add tool for identifying 'unknown s…

Posted by GitBox <gi...@apache.org>.
Apache-HBase commented on pull request #86:
URL: https://github.com/apache/hbase-operator-tools/pull/86#issuecomment-838514224


   :confetti_ball: **+1 overall**
   
   
   
   
   
   
   | Vote | Subsystem | Runtime | Comment |
   |:----:|----------:|--------:|:--------|
   | +0 :ok: |  reexec  |   1m 52s |  Docker mode activated.  |
   ||| _ Prechecks _ |
   | +1 :green_heart: |  dupname  |   0m  0s |  No case conflicting files found.  |
   | +0 :ok: |  markdownlint  |   0m  0s |  markdownlint was not available.  |
   | +0 :ok: |  spotbugs  |   0m  0s |  spotbugs executables are not available.  |
   | +1 :green_heart: |  @author  |   0m  0s |  The patch does not contain any @author tags.  |
   | -0 :warning: |  test4tests  |   0m  0s |  The patch doesn't appear to include any new or modified tests. Please justify why no new tests are needed for this patch. Also please list what manual steps were performed to verify this patch.  |
   ||| _ master Compile Tests _ |
   | +1 :green_heart: |  mvninstall  |   0m 49s |  master passed  |
   | +1 :green_heart: |  compile  |   0m  9s |  master passed  |
   | +1 :green_heart: |  checkstyle  |   0m  6s |  master passed  |
   | +1 :green_heart: |  javadoc  |   0m  7s |  master passed  |
   ||| _ Patch Compile Tests _ |
   | +1 :green_heart: |  mvninstall  |   0m 10s |  the patch passed  |
   | +1 :green_heart: |  compile  |   0m  9s |  the patch passed  |
   | +1 :green_heart: |  javac  |   0m  9s |  the patch passed  |
   | +1 :green_heart: |  checkstyle  |   0m  4s |  the patch passed  |
   | +1 :green_heart: |  whitespace  |   0m  0s |  The patch has no whitespace issues.  |
   | +1 :green_heart: |  javadoc  |   0m  5s |  the patch passed  |
   ||| _ Other Tests _ |
   | +1 :green_heart: |  unit  |   2m 11s |  hbase-tools in the patch passed.  |
   | +1 :green_heart: |  asflicense  |   0m  5s |  The patch does not generate ASF License warnings.  |
   |  |   |   5m 56s |   |
   
   
   | Subsystem | Report/Notes |
   |----------:|:-------------|
   | Docker | ClientAPI=1.41 ServerAPI=1.41 base: https://ci-hadoop.apache.org/job/HBase/job/HBase-Operator-Tools-PreCommit/job/PR-86/3/artifact/yetus-precommit-check/output/Dockerfile |
   | GITHUB PR | https://github.com/apache/hbase-operator-tools/pull/86 |
   | Optional Tests | dupname asflicense markdownlint javac javadoc unit spotbugs findbugs checkstyle compile |
   | uname | Linux 2d7cf6afb780 5.4.0-1025-aws #25~18.04.1-Ubuntu SMP Fri Sep 11 12:03:04 UTC 2020 x86_64 GNU/Linux |
   | Build tool | maven |
   | git revision | master / f118dfb |
   | Default Java | Oracle Corporation-1.8.0_282-b08 |
   |  Test Results | https://ci-hadoop.apache.org/job/HBase/job/HBase-Operator-Tools-PreCommit/job/PR-86/3/testReport/ |
   | Max. process+thread count | 1214 (vs. ulimit of 5000) |
   | modules | C: hbase-tools U: hbase-tools |
   | Console output | https://ci-hadoop.apache.org/job/HBase/job/HBase-Operator-Tools-PreCommit/job/PR-86/3/console |
   | versions | git=2.20.1 |
   | Powered by | Apache Yetus 0.12.0 https://yetus.apache.org |
   
   
   This message was automatically generated.
   
   


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



[GitHub] [hbase-operator-tools] petersomogyi commented on a change in pull request #86: HBASE-25874 [hbase-operator-tools]Add tool for identifying 'unknown s…

Posted by GitBox <gi...@apache.org>.
petersomogyi commented on a change in pull request #86:
URL: https://github.com/apache/hbase-operator-tools/pull/86#discussion_r630936363



##########
File path: hbase-tools/src/main/java/org/apache/hbase/RegionsOnUnknownServersRecoverer.java
##########
@@ -0,0 +1,119 @@
+/*
+ * 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.hbase;
+
+import java.io.BufferedReader;
+import java.io.File;
+import java.io.FileReader;
+import java.util.HashSet;
+import java.util.Set;
+
+import org.apache.hadoop.conf.Configuration;
+import org.apache.hadoop.conf.Configured;
+import org.apache.hadoop.hbase.HBaseConfiguration;
+import org.apache.hadoop.hbase.client.Connection;
+import org.apache.hadoop.hbase.client.ConnectionFactory;
+import org.apache.hadoop.util.Tool;
+import org.apache.hadoop.util.ToolRunner;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+
+/**
+ * Tool for identifying Unknown Servers from master logs and schedule SCPs for each of those using
+ * HBCK2 'scheduleRecoveries' option. This is useful for clusters running hbase versions lower than
+ * 2.2.7, 2.3.5 and 2.4.7. For any of these versions or higher, use HBCK2 'recoverUnknown' option.
+ */
+public class RegionsOnUnknownServersRecoverer extends Configured implements Tool {
+
+  private static final Logger LOG =
+    LoggerFactory.getLogger(RegionsOnUnknownServersRecoverer.class.getName());
+
+  private static final String CATALOG_JANITOR = "CatalogJanitor: hole=";
+
+  private static final String UNKNOWN_SERVER = "unknown_server=";
+
+  private Configuration conf;
+
+  private Set<String> unknownServers = new HashSet<>();
+
+  private boolean dryRun = false;
+
+  public RegionsOnUnknownServersRecoverer(Configuration conf){
+    this.conf = conf;
+  }
+
+  @Override
+  public int run(String[] args) throws Exception {
+    String logPath = null;
+    if(args.length>=1 && args.length<3) {
+      logPath = args[0];
+      if(args.length==2) {
+        dryRun = Boolean.parseBoolean(args[1]);
+      }
+    } else {
+      LOG.error("Wrong number of arguments. "
+        + "Arguments are: <PATH_TO_MASTER_LOGS> [dryRun]");

Review comment:
       From the usage message it is not obvious that the `[dryRun]` parameter should be `true`.

##########
File path: hbase-tools/README.md
##########
@@ -138,4 +138,31 @@ the affected regions, it copies the entire region dir to a
 region hfiles to a `HBASE_ROOT_DIR/.missing_dirs_repair/TS/TBL_NAME/bulkload` dir, renaming these
 files with the pattern `REGION_NAME-FILENAME`. For a given table, all affected regions would then
 have all its files under same directory for bulkload. _MissingRegionDirsRepairTool_ then uses
-_LoadIncrementalHFiles_ to load all files for a given table at once.
\ No newline at end of file
+_LoadIncrementalHFiles_ to load all files for a given table at once.
+
+## RegionsOnUnknownServersRecoverer - Tool for recovering regions on "unknown servers."
+
+_RegionsOnUnknownServersRecoverer_ parses the master log to identify `unknown servers`
+holding regions. This condition may happen in the event of recovering previously destroyed clusters,
+where new Master/RS names completely differ from the previous ones currently
+stored in meta table (see HBASE-24286).
+
+```
+NOTE: This tool is useful for clusters runing hbase versions lower than 2.2.7, 2.3.5 and 2.4.7.
+For any of these versions or higher, HBCK2 'recoverUnknown' option can be used as a much simpler solution.
+```
+
+### Usage
+
+This tool requires the master logs path as parameter. Assuming classpath is properly set, can be run as follows:
+
+```
+$ hbase org.apache.hbase.RegionsOnUnknownServersRecoverer PATH_TO_MASTER_LOGS

Review comment:
       The dry-run option is not mentioned here.




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



[GitHub] [hbase-operator-tools] joshelser commented on pull request #86: HBASE-25874 [hbase-operator-tools]Add tool for identifying 'unknown s…

Posted by GitBox <gi...@apache.org>.
joshelser commented on pull request #86:
URL: https://github.com/apache/hbase-operator-tools/pull/86#issuecomment-841434334


   Belated +1 from me. Thanks for the dryRun option, Wellington.


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



[GitHub] [hbase-operator-tools] Apache-HBase commented on pull request #86: HBASE-25874 [hbase-operator-tools]Add tool for identifying 'unknown s…

Posted by GitBox <gi...@apache.org>.
Apache-HBase commented on pull request #86:
URL: https://github.com/apache/hbase-operator-tools/pull/86#issuecomment-836554699


   :broken_heart: **-1 overall**
   
   
   
   
   
   
   | Vote | Subsystem | Runtime | Comment |
   |:----:|----------:|--------:|:--------|
   | +0 :ok: |  reexec  |   1m 26s |  Docker mode activated.  |
   ||| _ Prechecks _ |
   | +1 :green_heart: |  dupname  |   0m  0s |  No case conflicting files found.  |
   | +0 :ok: |  markdownlint  |   0m  0s |  markdownlint was not available.  |
   | +0 :ok: |  spotbugs  |   0m  0s |  spotbugs executables are not available.  |
   | +1 :green_heart: |  @author  |   0m  0s |  The patch does not contain any @author tags.  |
   | -0 :warning: |  test4tests  |   0m  0s |  The patch doesn't appear to include any new or modified tests. Please justify why no new tests are needed for this patch. Also please list what manual steps were performed to verify this patch.  |
   ||| _ master Compile Tests _ |
   | +1 :green_heart: |  mvninstall  |   1m  9s |  master passed  |
   | +1 :green_heart: |  compile  |   0m  8s |  master passed  |
   | +1 :green_heart: |  checkstyle  |   0m  5s |  master passed  |
   | +1 :green_heart: |  javadoc  |   0m  6s |  master passed  |
   ||| _ Patch Compile Tests _ |
   | +1 :green_heart: |  mvninstall  |   0m  8s |  the patch passed  |
   | +1 :green_heart: |  compile  |   0m  8s |  the patch passed  |
   | +1 :green_heart: |  javac  |   0m  8s |  the patch passed  |
   | -1 :x: |  checkstyle  |   0m  3s |  hbase-tools: The patch generated 1 new + 0 unchanged - 0 fixed = 1 total (was 0)  |
   | -1 :x: |  whitespace  |   0m  0s |  The patch has 4 line(s) that end in whitespace. Use git apply --whitespace=fix <<patch_file>>. Refer https://git-scm.com/docs/git-apply  |
   | +1 :green_heart: |  javadoc  |   0m  5s |  the patch passed  |
   ||| _ Other Tests _ |
   | +1 :green_heart: |  unit  |   2m  4s |  hbase-tools in the patch passed.  |
   | +1 :green_heart: |  asflicense  |   0m  5s |  The patch does not generate ASF License warnings.  |
   |  |   |   5m 34s |   |
   
   
   | Subsystem | Report/Notes |
   |----------:|:-------------|
   | Docker | ClientAPI=1.41 ServerAPI=1.41 base: https://ci-hadoop.apache.org/job/HBase/job/HBase-Operator-Tools-PreCommit/job/PR-86/1/artifact/yetus-precommit-check/output/Dockerfile |
   | GITHUB PR | https://github.com/apache/hbase-operator-tools/pull/86 |
   | Optional Tests | dupname asflicense markdownlint javac javadoc unit spotbugs findbugs checkstyle compile |
   | uname | Linux a435d7ca80ab 5.4.0-1025-aws #25~18.04.1-Ubuntu SMP Fri Sep 11 12:03:04 UTC 2020 x86_64 GNU/Linux |
   | Build tool | maven |
   | git revision | master / f118dfb |
   | Default Java | Oracle Corporation-1.8.0_282-b08 |
   | checkstyle | https://ci-hadoop.apache.org/job/HBase/job/HBase-Operator-Tools-PreCommit/job/PR-86/1/artifact/yetus-precommit-check/output/diff-checkstyle-hbase-tools.txt |
   | whitespace | https://ci-hadoop.apache.org/job/HBase/job/HBase-Operator-Tools-PreCommit/job/PR-86/1/artifact/yetus-precommit-check/output/whitespace-eol.txt |
   |  Test Results | https://ci-hadoop.apache.org/job/HBase/job/HBase-Operator-Tools-PreCommit/job/PR-86/1/testReport/ |
   | Max. process+thread count | 1223 (vs. ulimit of 5000) |
   | modules | C: hbase-tools U: hbase-tools |
   | Console output | https://ci-hadoop.apache.org/job/HBase/job/HBase-Operator-Tools-PreCommit/job/PR-86/1/console |
   | versions | git=2.20.1 |
   | Powered by | Apache Yetus 0.12.0 https://yetus.apache.org |
   
   
   This message was automatically generated.
   
   


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



[GitHub] [hbase-operator-tools] joshelser commented on a change in pull request #86: HBASE-25874 [hbase-operator-tools]Add tool for identifying 'unknown s…

Posted by GitBox <gi...@apache.org>.
joshelser commented on a change in pull request #86:
URL: https://github.com/apache/hbase-operator-tools/pull/86#discussion_r629631126



##########
File path: hbase-tools/src/main/java/org/apache/hbase/RegionsOnUnknownServersRecoverer.java
##########
@@ -0,0 +1,101 @@
+/*
+ * 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.hbase;
+
+import org.apache.hadoop.conf.Configuration;
+import org.apache.hadoop.conf.Configured;
+import org.apache.hadoop.hbase.HBaseConfiguration;
+import org.apache.hadoop.hbase.client.Connection;
+import org.apache.hadoop.hbase.client.ConnectionFactory;
+import org.apache.hadoop.util.Tool;
+import org.apache.hadoop.util.ToolRunner;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import java.io.BufferedReader;
+import java.io.File;
+import java.io.FileReader;
+import java.util.HashSet;
+import java.util.Set;
+
+/**
+ * Tool for identifying Unknown Servers from master logs and schedule SCPs for each of those using
+ * HBCK2 'scheduleRecoveries' option. This is useful for clusters running hbase versions lower than
+ * 2.2.7, 2.3.5 and 2.4.7. For any of these versions or higher, use HBCK2 'recoverUnknown' option.
+ */
+public class RegionsOnUnknownServersRecoverer extends Configured implements Tool {
+
+  private static final Logger LOG =
+    LoggerFactory.getLogger(RegionsOnUnknownServersRecoverer.class.getName());
+
+  private static final String CATALOG_JANITOR = "CatalogJanitor: hole=";
+
+  private static final String UNKNOWN_SERVER = "unknown_server=";
+
+  private Configuration conf;
+
+  private Set<String> unknownServers = new HashSet<>();
+
+  public RegionsOnUnknownServersRecoverer(Configuration conf){
+    this.conf = conf;
+  }
+
+  @Override
+  public int run(String[] args) throws Exception {
+    if(args.length!=1){
+      LOG.error("Wrong number of arguments. "
+        + "Arguments are: <PATH_TO_MASTER_LOGS>");
+      return 1;
+    }
+    BufferedReader reader = null;
+    try(Connection conn = ConnectionFactory.createConnection(conf)) {
+      reader = new BufferedReader(new FileReader(new File(args[0])));

Review comment:
       Oh, yes, you're right. I missed it down there.




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



[GitHub] [hbase-operator-tools] wchevreuil commented on a change in pull request #86: HBASE-25874 [hbase-operator-tools]Add tool for identifying 'unknown s…

Posted by GitBox <gi...@apache.org>.
wchevreuil commented on a change in pull request #86:
URL: https://github.com/apache/hbase-operator-tools/pull/86#discussion_r630976284



##########
File path: hbase-tools/src/main/java/org/apache/hbase/RegionsOnUnknownServersRecoverer.java
##########
@@ -0,0 +1,119 @@
+/*
+ * 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.hbase;
+
+import java.io.BufferedReader;
+import java.io.File;
+import java.io.FileReader;
+import java.util.HashSet;
+import java.util.Set;
+
+import org.apache.hadoop.conf.Configuration;
+import org.apache.hadoop.conf.Configured;
+import org.apache.hadoop.hbase.HBaseConfiguration;
+import org.apache.hadoop.hbase.client.Connection;
+import org.apache.hadoop.hbase.client.ConnectionFactory;
+import org.apache.hadoop.util.Tool;
+import org.apache.hadoop.util.ToolRunner;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+
+/**
+ * Tool for identifying Unknown Servers from master logs and schedule SCPs for each of those using
+ * HBCK2 'scheduleRecoveries' option. This is useful for clusters running hbase versions lower than
+ * 2.2.7, 2.3.5 and 2.4.7. For any of these versions or higher, use HBCK2 'recoverUnknown' option.
+ */
+public class RegionsOnUnknownServersRecoverer extends Configured implements Tool {
+
+  private static final Logger LOG =
+    LoggerFactory.getLogger(RegionsOnUnknownServersRecoverer.class.getName());
+
+  private static final String CATALOG_JANITOR = "CatalogJanitor: hole=";
+
+  private static final String UNKNOWN_SERVER = "unknown_server=";
+
+  private Configuration conf;
+
+  private Set<String> unknownServers = new HashSet<>();
+
+  private boolean dryRun = false;
+
+  public RegionsOnUnknownServersRecoverer(Configuration conf){
+    this.conf = conf;
+  }
+
+  @Override
+  public int run(String[] args) throws Exception {
+    String logPath = null;
+    if(args.length>=1 && args.length<3) {
+      logPath = args[0];
+      if(args.length==2) {
+        dryRun = Boolean.parseBoolean(args[1]);
+      }
+    } else {
+      LOG.error("Wrong number of arguments. "
+        + "Arguments are: <PATH_TO_MASTER_LOGS> [dryRun]");

Review comment:
       Just wanted to mention the available options here. I guess we can explain the `dryRun` option in the README only?




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



[GitHub] [hbase-operator-tools] petersomogyi commented on a change in pull request #86: HBASE-25874 [hbase-operator-tools]Add tool for identifying 'unknown s…

Posted by GitBox <gi...@apache.org>.
petersomogyi commented on a change in pull request #86:
URL: https://github.com/apache/hbase-operator-tools/pull/86#discussion_r631039154



##########
File path: hbase-tools/src/main/java/org/apache/hbase/RegionsOnUnknownServersRecoverer.java
##########
@@ -0,0 +1,119 @@
+/*
+ * 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.hbase;
+
+import java.io.BufferedReader;
+import java.io.File;
+import java.io.FileReader;
+import java.util.HashSet;
+import java.util.Set;
+
+import org.apache.hadoop.conf.Configuration;
+import org.apache.hadoop.conf.Configured;
+import org.apache.hadoop.hbase.HBaseConfiguration;
+import org.apache.hadoop.hbase.client.Connection;
+import org.apache.hadoop.hbase.client.ConnectionFactory;
+import org.apache.hadoop.util.Tool;
+import org.apache.hadoop.util.ToolRunner;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+
+/**
+ * Tool for identifying Unknown Servers from master logs and schedule SCPs for each of those using
+ * HBCK2 'scheduleRecoveries' option. This is useful for clusters running hbase versions lower than
+ * 2.2.7, 2.3.5 and 2.4.7. For any of these versions or higher, use HBCK2 'recoverUnknown' option.
+ */
+public class RegionsOnUnknownServersRecoverer extends Configured implements Tool {
+
+  private static final Logger LOG =
+    LoggerFactory.getLogger(RegionsOnUnknownServersRecoverer.class.getName());
+
+  private static final String CATALOG_JANITOR = "CatalogJanitor: hole=";
+
+  private static final String UNKNOWN_SERVER = "unknown_server=";
+
+  private Configuration conf;
+
+  private Set<String> unknownServers = new HashSet<>();
+
+  private boolean dryRun = false;
+
+  public RegionsOnUnknownServersRecoverer(Configuration conf){
+    this.conf = conf;
+  }
+
+  @Override
+  public int run(String[] args) throws Exception {
+    String logPath = null;
+    if(args.length>=1 && args.length<3) {
+      logPath = args[0];
+      if(args.length==2) {
+        dryRun = Boolean.parseBoolean(args[1]);
+      }
+    } else {
+      LOG.error("Wrong number of arguments. "
+        + "Arguments are: <PATH_TO_MASTER_LOGS> [dryRun]");

Review comment:
       Having it in the readme is enough but in my opinion, it is still not clear what an operator should use as the second parameter.
   
   hbase org.apache.hbase.RegionsOnUnknownServersRecoverer /var/log/hbase.log true
   hbase org.apache.hbase.RegionsOnUnknownServersRecoverer /var/log/hbase.log dryRun
   
   Anything passed that is not `true` will schedule SCPs because the default option is dryrun=false. 




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



[GitHub] [hbase-operator-tools] Apache-HBase commented on pull request #86: HBASE-25874 [hbase-operator-tools]Add tool for identifying 'unknown s…

Posted by GitBox <gi...@apache.org>.
Apache-HBase commented on pull request #86:
URL: https://github.com/apache/hbase-operator-tools/pull/86#issuecomment-839787602


   :confetti_ball: **+1 overall**
   
   
   
   
   
   
   | Vote | Subsystem | Runtime | Comment |
   |:----:|----------:|--------:|:--------|
   | +0 :ok: |  reexec  |   1m 50s |  Docker mode activated.  |
   ||| _ Prechecks _ |
   | +1 :green_heart: |  dupname  |   0m  0s |  No case conflicting files found.  |
   | +0 :ok: |  markdownlint  |   0m  0s |  markdownlint was not available.  |
   | +0 :ok: |  spotbugs  |   0m  0s |  spotbugs executables are not available.  |
   | +1 :green_heart: |  @author  |   0m  0s |  The patch does not contain any @author tags.  |
   | -0 :warning: |  test4tests  |   0m  0s |  The patch doesn't appear to include any new or modified tests. Please justify why no new tests are needed for this patch. Also please list what manual steps were performed to verify this patch.  |
   ||| _ master Compile Tests _ |
   | +1 :green_heart: |  mvninstall  |   0m 53s |  master passed  |
   | +1 :green_heart: |  compile  |   0m  9s |  master passed  |
   | +1 :green_heart: |  checkstyle  |   0m  6s |  master passed  |
   | +1 :green_heart: |  javadoc  |   0m  7s |  master passed  |
   ||| _ Patch Compile Tests _ |
   | +1 :green_heart: |  mvninstall  |   0m  9s |  the patch passed  |
   | +1 :green_heart: |  compile  |   0m  9s |  the patch passed  |
   | +1 :green_heart: |  javac  |   0m  9s |  the patch passed  |
   | +1 :green_heart: |  checkstyle  |   0m  3s |  the patch passed  |
   | +1 :green_heart: |  whitespace  |   0m  0s |  The patch has no whitespace issues.  |
   | +1 :green_heart: |  javadoc  |   0m  5s |  the patch passed  |
   ||| _ Other Tests _ |
   | +1 :green_heart: |  unit  |   2m 22s |  hbase-tools in the patch passed.  |
   | +1 :green_heart: |  asflicense  |   0m  6s |  The patch does not generate ASF License warnings.  |
   |  |   |   6m  8s |   |
   
   
   | Subsystem | Report/Notes |
   |----------:|:-------------|
   | Docker | ClientAPI=1.41 ServerAPI=1.41 base: https://ci-hadoop.apache.org/job/HBase/job/HBase-Operator-Tools-PreCommit/job/PR-86/5/artifact/yetus-precommit-check/output/Dockerfile |
   | GITHUB PR | https://github.com/apache/hbase-operator-tools/pull/86 |
   | Optional Tests | dupname asflicense markdownlint javac javadoc unit spotbugs findbugs checkstyle compile |
   | uname | Linux 590978ef2ef2 5.4.0-1025-aws #25~18.04.1-Ubuntu SMP Fri Sep 11 12:03:04 UTC 2020 x86_64 GNU/Linux |
   | Build tool | maven |
   | git revision | master / f118dfb |
   | Default Java | Oracle Corporation-1.8.0_282-b08 |
   |  Test Results | https://ci-hadoop.apache.org/job/HBase/job/HBase-Operator-Tools-PreCommit/job/PR-86/5/testReport/ |
   | Max. process+thread count | 1164 (vs. ulimit of 5000) |
   | modules | C: hbase-tools U: hbase-tools |
   | Console output | https://ci-hadoop.apache.org/job/HBase/job/HBase-Operator-Tools-PreCommit/job/PR-86/5/console |
   | versions | git=2.20.1 |
   | Powered by | Apache Yetus 0.12.0 https://yetus.apache.org |
   
   
   This message was automatically generated.
   
   


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



[GitHub] [hbase-operator-tools] wchevreuil commented on pull request #86: HBASE-25874 [hbase-operator-tools]Add tool for identifying 'unknown s…

Posted by GitBox <gi...@apache.org>.
wchevreuil commented on pull request #86:
URL: https://github.com/apache/hbase-operator-tools/pull/86#issuecomment-837185929


   > I think my main worry is about relying on log file parsing for this. That's not to say this is flawed -- it just is what it is.
   
   Yeah, it's fragile indeed, but we are targeting this mainly for the unfortunate souls running hbase versions lower than 2.2.7, 2.3.5 and 2.4.7, as mentioned on the readme, so there shouldn't be any changes on logging format for these already released versions. For any version from the above mentioned onwards, there's already hbck2 recoverUnknown method.
   
   > Is there a reason you went for this approach rather than trying to read meta and interrogate the Master as to who the active RegionServers are?
   
   Although meta is already online, master has not completed initialisation (because of namespace table region stuck on a unknown server), so it pushes back any client requests.
   


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



[GitHub] [hbase-operator-tools] wchevreuil merged pull request #86: HBASE-25874 [hbase-operator-tools]Add tool for identifying 'unknown s…

Posted by GitBox <gi...@apache.org>.
wchevreuil merged pull request #86:
URL: https://github.com/apache/hbase-operator-tools/pull/86


   


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



[GitHub] [hbase-operator-tools] Apache-HBase commented on pull request #86: HBASE-25874 [hbase-operator-tools]Add tool for identifying 'unknown s…

Posted by GitBox <gi...@apache.org>.
Apache-HBase commented on pull request #86:
URL: https://github.com/apache/hbase-operator-tools/pull/86#issuecomment-839828155


   :confetti_ball: **+1 overall**
   
   
   
   
   
   
   | Vote | Subsystem | Runtime | Comment |
   |:----:|----------:|--------:|:--------|
   | +0 :ok: |  reexec  |   0m 41s |  Docker mode activated.  |
   ||| _ Prechecks _ |
   | +1 :green_heart: |  dupname  |   0m  0s |  No case conflicting files found.  |
   | +0 :ok: |  markdownlint  |   0m  0s |  markdownlint was not available.  |
   | +0 :ok: |  spotbugs  |   0m  0s |  spotbugs executables are not available.  |
   | +1 :green_heart: |  @author  |   0m  0s |  The patch does not contain any @author tags.  |
   | -0 :warning: |  test4tests  |   0m  0s |  The patch doesn't appear to include any new or modified tests. Please justify why no new tests are needed for this patch. Also please list what manual steps were performed to verify this patch.  |
   ||| _ master Compile Tests _ |
   | +1 :green_heart: |  mvninstall  |   0m 49s |  master passed  |
   | +1 :green_heart: |  compile  |   0m  8s |  master passed  |
   | +1 :green_heart: |  checkstyle  |   0m  5s |  master passed  |
   | +1 :green_heart: |  javadoc  |   0m  7s |  master passed  |
   ||| _ Patch Compile Tests _ |
   | +1 :green_heart: |  mvninstall  |   0m  9s |  the patch passed  |
   | +1 :green_heart: |  compile  |   0m  8s |  the patch passed  |
   | +1 :green_heart: |  javac  |   0m  8s |  the patch passed  |
   | +1 :green_heart: |  checkstyle  |   0m  3s |  the patch passed  |
   | +1 :green_heart: |  whitespace  |   0m  0s |  The patch has no whitespace issues.  |
   | +1 :green_heart: |  javadoc  |   0m  5s |  the patch passed  |
   ||| _ Other Tests _ |
   | +1 :green_heart: |  unit  |   2m 14s |  hbase-tools in the patch passed.  |
   | +1 :green_heart: |  asflicense  |   0m  5s |  The patch does not generate ASF License warnings.  |
   |  |   |   4m 40s |   |
   
   
   | Subsystem | Report/Notes |
   |----------:|:-------------|
   | Docker | ClientAPI=1.41 ServerAPI=1.41 base: https://ci-hadoop.apache.org/job/HBase/job/HBase-Operator-Tools-PreCommit/job/PR-86/6/artifact/yetus-precommit-check/output/Dockerfile |
   | GITHUB PR | https://github.com/apache/hbase-operator-tools/pull/86 |
   | Optional Tests | dupname asflicense markdownlint javac javadoc unit spotbugs findbugs checkstyle compile |
   | uname | Linux aadddaaf6640 5.4.0-1025-aws #25~18.04.1-Ubuntu SMP Fri Sep 11 12:03:04 UTC 2020 x86_64 GNU/Linux |
   | Build tool | maven |
   | git revision | master / f118dfb |
   | Default Java | Oracle Corporation-1.8.0_282-b08 |
   |  Test Results | https://ci-hadoop.apache.org/job/HBase/job/HBase-Operator-Tools-PreCommit/job/PR-86/6/testReport/ |
   | Max. process+thread count | 1210 (vs. ulimit of 5000) |
   | modules | C: hbase-tools U: hbase-tools |
   | Console output | https://ci-hadoop.apache.org/job/HBase/job/HBase-Operator-Tools-PreCommit/job/PR-86/6/console |
   | versions | git=2.20.1 |
   | Powered by | Apache Yetus 0.12.0 https://yetus.apache.org |
   
   
   This message was automatically generated.
   
   


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



[GitHub] [hbase-operator-tools] joshelser commented on pull request #86: HBASE-25874 [hbase-operator-tools]Add tool for identifying 'unknown s…

Posted by GitBox <gi...@apache.org>.
joshelser commented on pull request #86:
URL: https://github.com/apache/hbase-operator-tools/pull/86#issuecomment-837194494


   > Although meta is already online, master has not completed initialisation (because of namespace table region stuck on a unknown server), so it pushes back any client requests.
   
   Argh. The gift that keeps on giving.


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