From 2061f10a9fed7730f712103a473e411d5898f92f Mon Sep 17 00:00:00 2001 From: Andrew Purtell Date: Thu, 30 May 2019 16:40:07 -0700 Subject: [PATCH] HBASE-22508 Address findbugs/spotbugs complaints (branch-1.3) --- .../metrics2/lib/MetricsExecutorImpl.java | 2 +- .../hadoop/hbase/regionserver/HRegion.java | 21 ++++++++++++++----- .../hadoop/hbase/regionserver/HStore.java | 6 +++++- .../org/apache/hadoop/hbase/tool/Canary.java | 4 +++- 4 files changed, 25 insertions(+), 8 deletions(-) diff --git a/hbase-hadoop2-compat/src/main/java/org/apache/hadoop/metrics2/lib/MetricsExecutorImpl.java b/hbase-hadoop2-compat/src/main/java/org/apache/hadoop/metrics2/lib/MetricsExecutorImpl.java index c381609741..0a83a5e8b0 100644 --- a/hbase-hadoop2-compat/src/main/java/org/apache/hadoop/metrics2/lib/MetricsExecutorImpl.java +++ b/hbase-hadoop2-compat/src/main/java/org/apache/hadoop/metrics2/lib/MetricsExecutorImpl.java @@ -48,7 +48,7 @@ public class MetricsExecutorImpl implements MetricsExecutor { private enum ExecutorSingleton { INSTANCE; - private final ScheduledExecutorService scheduler = new ScheduledThreadPoolExecutor(1, + private transient final ScheduledExecutorService scheduler = new ScheduledThreadPoolExecutor(1, new ThreadPoolExecutorThreadFactory("HBase-Metrics2-")); } diff --git a/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HRegion.java b/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HRegion.java index d667786c97..f7abe2ac3c 100644 --- a/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HRegion.java +++ b/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HRegion.java @@ -7812,11 +7812,15 @@ public class HRegion implements HeapSize, PropagatingConfigurationObserver, Regi for (Map.Entry> entry : removedCellsForMemStore.entrySet()) { Store currStore = entry.getKey(); for (Cell cell: entry.getValue()) { - CellUtil.setSequenceId(cell, walKey.getWriteEntry().getWriteNumber()); + if (we != null) { + CellUtil.setSequenceId(cell, we.getWriteNumber()); + } currStore.add(cell); } } - if (we != null) mvcc.complete(we); + if (we != null) { + mvcc.complete(we); + } } else if (we != null) { mvcc.completeAndWait(we); } @@ -8042,6 +8046,7 @@ public class HRegion implements HeapSize, PropagatingConfigurationObserver, Regi rowLock.release(); } // if the wal sync was unsuccessful, remove keys from memstore + WriteEntry we = walKey != null ? walKey.getWriteEntry() : null; if (doRollBackMemstore) { for (Map.Entry> entry : forMemStore.entrySet()) { rollbackMemstore(entry.getKey(), entry.getValue()); @@ -8049,13 +8054,19 @@ public class HRegion implements HeapSize, PropagatingConfigurationObserver, Regi for (Map.Entry> entry : removedCellsForMemStore.entrySet()) { Store currStore = entry.getKey(); for (Cell cell : entry.getValue()) { - CellUtil.setSequenceId(cell, walKey.getWriteEntry().getWriteNumber()); + if (we != null) { + CellUtil.setSequenceId(cell, we.getWriteNumber()); + } currStore.add(cell); } } - if (walKey != null) mvcc.complete(walKey.getWriteEntry()); + if (we != null) { + mvcc.complete(we); + } } else { - if (walKey != null) mvcc.completeAndWait(walKey.getWriteEntry()); + if (we != null) { + mvcc.completeAndWait(we); + } } } diff --git a/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HStore.java b/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HStore.java index 08dc3f8538..764099f270 100644 --- a/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HStore.java +++ b/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HStore.java @@ -2806,10 +2806,14 @@ public class HStore implements Store { // Just close and return filesToRemove.add(file); } else { - LOG.info("Can't archive compacted file " + file.getPath() + if (r != null) { + LOG.info("Can't archive compacted file " + file.getPath() + " because of either isCompactedAway=" + r.isCompactedAway() + " or file has reference, isReferencedInReads=" + r.isReferencedInReads() + ", refCount=" + r.getRefCount() + ", skipping for now."); + } else { + LOG.info("Can't archive compacted file " + file.getPath() + ", skipping for now."); + } } } catch (Exception e) { LOG.error( diff --git a/hbase-server/src/main/java/org/apache/hadoop/hbase/tool/Canary.java b/hbase-server/src/main/java/org/apache/hadoop/hbase/tool/Canary.java index c0655d8d4e..7c17db9d64 100644 --- a/hbase-server/src/main/java/org/apache/hadoop/hbase/tool/Canary.java +++ b/hbase-server/src/main/java/org/apache/hadoop/hbase/tool/Canary.java @@ -35,6 +35,7 @@ import java.util.HashSet; import java.util.LinkedList; import java.util.List; import java.util.Map; +import java.util.Map.Entry; import java.util.Random; import java.util.Set; import java.util.TreeSet; @@ -1089,7 +1090,8 @@ public final class Canary implements Tool { } } Map actualReadTableLatency = regionSink.getReadLatencyMap(); - for (String tableName : this.configuredReadTableTimeouts.keySet()) { + for (Entry entry : this.configuredReadTableTimeouts.entrySet()) { + String tableName = entry.getKey(); if (actualReadTableLatency.containsKey(tableName)) { Long actual = actualReadTableLatency.get(tableName).longValue(); Long configured = this.configuredReadTableTimeouts.get(tableName); -- 2.21.0