diff --git a/hbase-hbtop/src/main/java/org/apache/hadoop/hbase/hbtop/HBTop.java b/hbase-hbtop/src/main/java/org/apache/hadoop/hbase/hbtop/HBTop.java index 7e6944f73e7e..84c4dc6e7157 100644 --- a/hbase-hbtop/src/main/java/org/apache/hadoop/hbase/hbtop/HBTop.java +++ b/hbase-hbtop/src/main/java/org/apache/hadoop/hbase/hbtop/HBTop.java @@ -36,6 +36,7 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import org.apache.hbase.thirdparty.com.google.common.base.Splitter; import org.apache.hbase.thirdparty.org.apache.commons.cli.CommandLine; import org.apache.hbase.thirdparty.org.apache.commons.cli.DefaultParser; import org.apache.hbase.thirdparty.org.apache.commons.cli.HelpFormatter; @@ -119,6 +120,7 @@ public int run(String[] args) throws Exception { try { delay = Integer.parseInt(commandLine.getOptionValue("delay")); } catch (NumberFormatException ignored) { + // Deliberately ignored, we handle the issue below. } if (delay < 1) { @@ -163,7 +165,7 @@ public int run(String[] args) throws Exception { } if (commandLine.hasOption("fields")) { - String[] fields = commandLine.getOptionValue("fields").split(","); + Iterable fields = Splitter.on(',').split(commandLine.getOptionValue("fields")); initialFields = new ArrayList<>(); for (String field : fields) { Optional fieldInfo = initialMode.getFieldInfos().stream() @@ -177,7 +179,7 @@ public int run(String[] args) throws Exception { } if (commandLine.hasOption("filters")) { - String[] filters = commandLine.getOptionValue("filters").split(","); + Iterable filters = Splitter.on(',').split(commandLine.getOptionValue("filters")); List fields = initialMode.getFieldInfos().stream().map(FieldInfo::getField) .collect(Collectors.toList()); for (String filter : filters) { diff --git a/hbase-hbtop/src/main/java/org/apache/hadoop/hbase/hbtop/mode/Mode.java b/hbase-hbtop/src/main/java/org/apache/hadoop/hbase/hbtop/mode/Mode.java index 4ae1b4faf333..fd8a50e85e7d 100644 --- a/hbase-hbtop/src/main/java/org/apache/hadoop/hbase/hbtop/mode/Mode.java +++ b/hbase-hbtop/src/main/java/org/apache/hadoop/hbase/hbtop/mode/Mode.java @@ -31,6 +31,7 @@ * Represents a display mode in the top screen. */ @InterfaceAudience.Private +@SuppressWarnings("ImmutableEnumChecker") public enum Mode { NAMESPACE("Namespace", "Record per Namespace", new NamespaceModeStrategy()), TABLE("Table", "Record per Table", new TableModeStrategy()), diff --git a/hbase-hbtop/src/main/java/org/apache/hadoop/hbase/hbtop/mode/RegionModeStrategy.java b/hbase-hbtop/src/main/java/org/apache/hadoop/hbase/hbtop/mode/RegionModeStrategy.java index 9a70f61005a1..5932ffb22791 100644 --- a/hbase-hbtop/src/main/java/org/apache/hadoop/hbase/hbtop/mode/RegionModeStrategy.java +++ b/hbase-hbtop/src/main/java/org/apache/hadoop/hbase/hbtop/mode/RegionModeStrategy.java @@ -115,6 +115,7 @@ private Record createRecord(ServerMetrics serverMetrics, RegionMetrics regionMet elements.length == 4 ? Integer.valueOf(Bytes.toString(elements[3])).toString() : ""; region = RegionInfo.encodeRegionName(regionMetrics.getRegionName()); } catch (IOException ignored) { + // Exception deliberately ignored } builder.put(Field.NAMESPACE, namespaceName); diff --git a/hbase-hbtop/src/main/java/org/apache/hadoop/hbase/hbtop/terminal/TerminalPrinter.java b/hbase-hbtop/src/main/java/org/apache/hadoop/hbase/hbtop/terminal/TerminalPrinter.java index 52818e42a7d3..1f955b2e2242 100644 --- a/hbase-hbtop/src/main/java/org/apache/hadoop/hbase/hbtop/terminal/TerminalPrinter.java +++ b/hbase-hbtop/src/main/java/org/apache/hadoop/hbase/hbtop/terminal/TerminalPrinter.java @@ -61,6 +61,7 @@ default TerminalPrinter print(double value) { return this; } + @SuppressWarnings("AnnotateFormatMethod") default TerminalPrinter printFormat(String format, Object... args) { print(String.format(format, args)); return this; diff --git a/hbase-hbtop/src/main/java/org/apache/hadoop/hbase/hbtop/terminal/impl/KeyPressGenerator.java b/hbase-hbtop/src/main/java/org/apache/hadoop/hbase/hbtop/terminal/impl/KeyPressGenerator.java index 15cbb3070c37..8b8a5dc9f515 100644 --- a/hbase-hbtop/src/main/java/org/apache/hadoop/hbase/hbtop/terminal/impl/KeyPressGenerator.java +++ b/hbase-hbtop/src/main/java/org/apache/hadoop/hbase/hbtop/terminal/impl/KeyPressGenerator.java @@ -112,7 +112,10 @@ private void readerThread() { } else { Thread.sleep(20); } - } catch (InterruptedException ignored) { + } catch (InterruptedException e) { + // Restore interrupt status + Thread.currentThread().interrupt(); + done = true; } catch (IOException e) { LOGGER.error("Caught an exception", e); done = true; diff --git a/hbase-hbtop/src/main/java/org/apache/hadoop/hbase/hbtop/terminal/impl/TerminalImpl.java b/hbase-hbtop/src/main/java/org/apache/hadoop/hbase/hbtop/terminal/impl/TerminalImpl.java index e579b0ff057d..0d6654ddbca7 100644 --- a/hbase-hbtop/src/main/java/org/apache/hadoop/hbase/hbtop/terminal/impl/TerminalImpl.java +++ b/hbase-hbtop/src/main/java/org/apache/hadoop/hbase/hbtop/terminal/impl/TerminalImpl.java @@ -213,7 +213,9 @@ private String doStty(String sttyOptionsString) { try { process.waitFor(); - } catch (InterruptedException ignored) { + } catch (InterruptedException e) { + // Restore interrupt status + Thread.currentThread().interrupt(); } int exitValue = process.exitValue(); diff --git a/hbase-hbtop/src/test/java/org/apache/hadoop/hbase/hbtop/TestUtils.java b/hbase-hbtop/src/test/java/org/apache/hadoop/hbase/hbtop/TestUtils.java index 0f6a02a27c11..0968a1d5723f 100644 --- a/hbase-hbtop/src/test/java/org/apache/hadoop/hbase/hbtop/TestUtils.java +++ b/hbase-hbtop/src/test/java/org/apache/hadoop/hbase/hbtop/TestUtils.java @@ -114,6 +114,7 @@ private static UserMetrics createUserMetrics(String user, long readRequestCount, .build(); } + @SuppressWarnings("JavaUtilDate") private static RegionMetrics createRegionMetrics(String regionName, long readRequestCount, long filteredReadRequestCount, long writeRequestCount, Size storeFileSize, Size uncompressedStoreFileSize, int storeFileCount, Size memStoreSize, float locality,