You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hbase.apache.org by bu...@apache.org on 2018/12/14 23:07:13 UTC

[1/6] hbase git commit: HBASE-20917 MetaTableMetrics#stop references uninitialized requestsMap for non-meta region

Repository: hbase
Updated Branches:
  refs/heads/branch-1 4e7fc18fb -> 5c8c945e3
  refs/heads/branch-1.4 64369d04c -> 55ce6479b
  refs/heads/branch-2 c494e9ff2 -> aa36c3f6b
  refs/heads/branch-2.0 26e1c5e71 -> c856758a3


HBASE-20917 MetaTableMetrics#stop references uninitialized requestsMap for non-meta region

with addendum

(cherry picked from commit 654480326b9a8a5fa9d9314d1cfced6a45cfa941)
(cherry picked from commit 3787c729530ab7cf7f759decf2cbe961ff95f497)


Project: http://git-wip-us.apache.org/repos/asf/hbase/repo
Commit: http://git-wip-us.apache.org/repos/asf/hbase/commit/5d94ad6a
Tree: http://git-wip-us.apache.org/repos/asf/hbase/tree/5d94ad6a
Diff: http://git-wip-us.apache.org/repos/asf/hbase/diff/5d94ad6a

Branch: refs/heads/branch-2.0
Commit: 5d94ad6a431bf58d8a6a57f057ca5a03fe0468f9
Parents: 26e1c5e
Author: tedyu <yu...@gmail.com>
Authored: Sun Jul 22 20:51:58 2018 -0700
Committer: Sean Busbey <bu...@apache.org>
Committed: Fri Dec 14 12:57:33 2018 -0600

----------------------------------------------------------------------
 .../hbase/coprocessor/MetaTableMetrics.java     | 20 ++++++++++----------
 1 file changed, 10 insertions(+), 10 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/hbase/blob/5d94ad6a/hbase-server/src/main/java/org/apache/hadoop/hbase/coprocessor/MetaTableMetrics.java
----------------------------------------------------------------------
diff --git a/hbase-server/src/main/java/org/apache/hadoop/hbase/coprocessor/MetaTableMetrics.java b/hbase-server/src/main/java/org/apache/hadoop/hbase/coprocessor/MetaTableMetrics.java
index 9bf35c0..3bb47ae 100644
--- a/hbase-server/src/main/java/org/apache/hadoop/hbase/coprocessor/MetaTableMetrics.java
+++ b/hbase-server/src/main/java/org/apache/hadoop/hbase/coprocessor/MetaTableMetrics.java
@@ -197,9 +197,8 @@ public class MetaTableMetrics implements RegionCoprocessor {
     }
 
     private boolean isMetaTableOp(ObserverContext<RegionCoprocessorEnvironment> e) {
-      return TableName.META_TABLE_NAME.toString()
-          .equals(new String(e.getEnvironment().getRegionInfo().getTable().getName(),
-              StandardCharsets.UTF_8));
+      return TableName.META_TABLE_NAME
+          .equals(e.getEnvironment().getRegionInfo().getTable());
     }
 
     private void clientMetricRegisterAndMark(ObserverContext<RegionCoprocessorEnvironment> e) {
@@ -309,9 +308,8 @@ public class MetaTableMetrics implements RegionCoprocessor {
   public void start(CoprocessorEnvironment env) throws IOException {
     if (env instanceof RegionCoprocessorEnvironment
         && ((RegionCoprocessorEnvironment) env).getRegionInfo().getTable() != null
-        && ((RegionCoprocessorEnvironment) env).getRegionInfo().getTable().getName() != null
-        && new String(((RegionCoprocessorEnvironment) env).getRegionInfo().getTable().getName(),
-          StandardCharsets.UTF_8).equals(TableName.META_TABLE_NAME.toString())) {
+        && ((RegionCoprocessorEnvironment) env).getRegionInfo().getTable()
+          .equals(TableName.META_TABLE_NAME)) {
       regionCoprocessorEnv = (RegionCoprocessorEnvironment) env;
       observer = new ExampleRegionObserverMeta();
       requestsMap = new ConcurrentHashMap<>();
@@ -324,11 +322,13 @@ public class MetaTableMetrics implements RegionCoprocessor {
   }
 
   @Override
-  public void stop(CoprocessorEnvironment e) throws IOException {
+  public void stop(CoprocessorEnvironment env) throws IOException {
     // since meta region can move around, clear stale metrics when stop.
-    for (String meterName : requestsMap.keySet()) {
-      MetricRegistry registry = regionCoprocessorEnv.getMetricRegistryForRegionServer();
-      registry.remove(meterName);
+    if (requestsMap != null) {
+      for (String meterName : requestsMap.keySet()) {
+        MetricRegistry registry = regionCoprocessorEnv.getMetricRegistryForRegionServer();
+        registry.remove(meterName);
+      }
     }
   }
 


[6/6] hbase git commit: HBASE-21590 Optimize trySkipToNextColumn in StoreScanner a bit. (addendum)

Posted by bu...@apache.org.
HBASE-21590 Optimize trySkipToNextColumn in StoreScanner a bit. (addendum)

(cherry picked from commit a284c493b127fbf785fbee401f0854ad1979eb26)
(cherry picked from commit aa36c3f6b69ef47b6f53158eda4a87e1a72e4fad)


Project: http://git-wip-us.apache.org/repos/asf/hbase/repo
Commit: http://git-wip-us.apache.org/repos/asf/hbase/commit/55ce6479
Tree: http://git-wip-us.apache.org/repos/asf/hbase/tree/55ce6479
Diff: http://git-wip-us.apache.org/repos/asf/hbase/diff/55ce6479

Branch: refs/heads/branch-1.4
Commit: 55ce6479b955aa0848a327259e27bd6dbb8b60cb
Parents: 64369d0
Author: Sean Busbey <bu...@apache.org>
Authored: Fri Dec 14 11:23:36 2018 -0600
Committer: Sean Busbey <bu...@apache.org>
Committed: Fri Dec 14 17:03:06 2018 -0600

----------------------------------------------------------------------
 .../apache/hadoop/hbase/regionserver/StoreScanner.java    | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/hbase/blob/55ce6479/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/StoreScanner.java
----------------------------------------------------------------------
diff --git a/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/StoreScanner.java b/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/StoreScanner.java
index 96d5946..d51fdf0 100644
--- a/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/StoreScanner.java
+++ b/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/StoreScanner.java
@@ -801,8 +801,9 @@ public class StoreScanner extends NonReversedNonLazyKeyValueScanner
     Cell previousIndexedKey = null;
     do {
       Cell nextIndexedKey = getNextIndexedKey();
-      if (nextIndexedKey != null && nextIndexedKey != KeyValueScanner.NO_NEXT_INDEXED_KEY
-          && (nextIndexedKey == previousIndexedKey || matcher.compareKeyForNextRow(nextIndexedKey, cell) >= 0)) {
+      if (nextIndexedKey != null && nextIndexedKey != KeyValueScanner.NO_NEXT_INDEXED_KEY &&
+          (nextIndexedKey == previousIndexedKey ||
+          matcher.compareKeyForNextRow(nextIndexedKey, cell) >= 0)) {
         this.heap.next();
         ++kvsScanned;
         previousIndexedKey = nextIndexedKey;
@@ -826,8 +827,9 @@ public class StoreScanner extends NonReversedNonLazyKeyValueScanner
     Cell previousIndexedKey = null;
     do {
       Cell nextIndexedKey = getNextIndexedKey();
-      if (nextIndexedKey != null && nextIndexedKey != KeyValueScanner.NO_NEXT_INDEXED_KEY
-          && (nextIndexedKey == previousIndexedKey || matcher.compareKeyForNextColumn(nextIndexedKey, cell) >= 0)) {
+      if (nextIndexedKey != null && nextIndexedKey != KeyValueScanner.NO_NEXT_INDEXED_KEY &&
+          (nextIndexedKey == previousIndexedKey ||
+          matcher.compareKeyForNextColumn(nextIndexedKey, cell) >= 0)) {
         this.heap.next();
         ++kvsScanned;
         previousIndexedKey = nextIndexedKey;


[4/6] hbase git commit: HBASE-21590 Optimize trySkipToNextColumn in StoreScanner a bit. (addendum)

Posted by bu...@apache.org.
HBASE-21590 Optimize trySkipToNextColumn in StoreScanner a bit. (addendum)

(cherry picked from commit a284c493b127fbf785fbee401f0854ad1979eb26)
(cherry picked from commit aa36c3f6b69ef47b6f53158eda4a87e1a72e4fad)


Project: http://git-wip-us.apache.org/repos/asf/hbase/repo
Commit: http://git-wip-us.apache.org/repos/asf/hbase/commit/c856758a
Tree: http://git-wip-us.apache.org/repos/asf/hbase/tree/c856758a
Diff: http://git-wip-us.apache.org/repos/asf/hbase/diff/c856758a

Branch: refs/heads/branch-2.0
Commit: c856758a3a92181b7ae9d9e269a3d015c4e9e37b
Parents: 4020fd4
Author: Sean Busbey <bu...@apache.org>
Authored: Fri Dec 14 11:23:36 2018 -0600
Committer: Sean Busbey <bu...@apache.org>
Committed: Fri Dec 14 15:50:16 2018 -0600

----------------------------------------------------------------------
 .../apache/hadoop/hbase/regionserver/StoreScanner.java    | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/hbase/blob/c856758a/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/StoreScanner.java
----------------------------------------------------------------------
diff --git a/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/StoreScanner.java b/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/StoreScanner.java
index cd2ab40..37424dd 100644
--- a/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/StoreScanner.java
+++ b/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/StoreScanner.java
@@ -790,8 +790,9 @@ public class StoreScanner extends NonReversedNonLazyKeyValueScanner
     Cell previousIndexedKey = null;
     do {
       Cell nextIndexedKey = getNextIndexedKey();
-      if (nextIndexedKey != null && nextIndexedKey != KeyValueScanner.NO_NEXT_INDEXED_KEY
-          && (nextIndexedKey == previousIndexedKey || matcher.compareKeyForNextRow(nextIndexedKey, cell) >= 0)) {
+      if (nextIndexedKey != null && nextIndexedKey != KeyValueScanner.NO_NEXT_INDEXED_KEY &&
+          (nextIndexedKey == previousIndexedKey ||
+          matcher.compareKeyForNextRow(nextIndexedKey, cell) >= 0)) {
         this.heap.next();
         ++kvsScanned;
         previousIndexedKey = nextIndexedKey;
@@ -815,8 +816,9 @@ public class StoreScanner extends NonReversedNonLazyKeyValueScanner
     Cell previousIndexedKey = null;
     do {
       Cell nextIndexedKey = getNextIndexedKey();
-      if (nextIndexedKey != null && nextIndexedKey != KeyValueScanner.NO_NEXT_INDEXED_KEY
-          && (nextIndexedKey == previousIndexedKey || matcher.compareKeyForNextColumn(nextIndexedKey, cell) >= 0)) {
+      if (nextIndexedKey != null && nextIndexedKey != KeyValueScanner.NO_NEXT_INDEXED_KEY &&
+          (nextIndexedKey == previousIndexedKey ||
+          matcher.compareKeyForNextColumn(nextIndexedKey, cell) >= 0)) {
         this.heap.next();
         ++kvsScanned;
         previousIndexedKey = nextIndexedKey;


[2/6] hbase git commit: HBASE-21590 Optimize trySkipToNextColumn in StoreScanner a bit. (addendum)

Posted by bu...@apache.org.
HBASE-21590 Optimize trySkipToNextColumn in StoreScanner a bit. (addendum)

(cherry picked from commit a284c493b127fbf785fbee401f0854ad1979eb26)


Project: http://git-wip-us.apache.org/repos/asf/hbase/repo
Commit: http://git-wip-us.apache.org/repos/asf/hbase/commit/aa36c3f6
Tree: http://git-wip-us.apache.org/repos/asf/hbase/tree/aa36c3f6
Diff: http://git-wip-us.apache.org/repos/asf/hbase/diff/aa36c3f6

Branch: refs/heads/branch-2
Commit: aa36c3f6b69ef47b6f53158eda4a87e1a72e4fad
Parents: c494e9f
Author: Sean Busbey <bu...@apache.org>
Authored: Fri Dec 14 11:23:36 2018 -0600
Committer: Sean Busbey <bu...@apache.org>
Committed: Fri Dec 14 15:30:31 2018 -0600

----------------------------------------------------------------------
 .../apache/hadoop/hbase/regionserver/StoreScanner.java    | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/hbase/blob/aa36c3f6/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/StoreScanner.java
----------------------------------------------------------------------
diff --git a/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/StoreScanner.java b/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/StoreScanner.java
index e7a4528..91ca592 100644
--- a/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/StoreScanner.java
+++ b/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/StoreScanner.java
@@ -807,8 +807,9 @@ public class StoreScanner extends NonReversedNonLazyKeyValueScanner
     Cell previousIndexedKey = null;
     do {
       Cell nextIndexedKey = getNextIndexedKey();
-      if (nextIndexedKey != null && nextIndexedKey != KeyValueScanner.NO_NEXT_INDEXED_KEY
-          && (nextIndexedKey == previousIndexedKey || matcher.compareKeyForNextRow(nextIndexedKey, cell) >= 0)) {
+      if (nextIndexedKey != null && nextIndexedKey != KeyValueScanner.NO_NEXT_INDEXED_KEY &&
+          (nextIndexedKey == previousIndexedKey ||
+          matcher.compareKeyForNextRow(nextIndexedKey, cell) >= 0)) {
         this.heap.next();
         ++kvsScanned;
         previousIndexedKey = nextIndexedKey;
@@ -832,8 +833,9 @@ public class StoreScanner extends NonReversedNonLazyKeyValueScanner
     Cell previousIndexedKey = null;
     do {
       Cell nextIndexedKey = getNextIndexedKey();
-      if (nextIndexedKey != null && nextIndexedKey != KeyValueScanner.NO_NEXT_INDEXED_KEY
-          && (nextIndexedKey == previousIndexedKey || matcher.compareKeyForNextColumn(nextIndexedKey, cell) >= 0)) {
+      if (nextIndexedKey != null && nextIndexedKey != KeyValueScanner.NO_NEXT_INDEXED_KEY &&
+          (nextIndexedKey == previousIndexedKey ||
+          matcher.compareKeyForNextColumn(nextIndexedKey, cell) >= 0)) {
         this.heap.next();
         ++kvsScanned;
         previousIndexedKey = nextIndexedKey;


[3/6] hbase git commit: HBASE-21590 Optimize trySkipToNextColumn in StoreScanner a bit.

Posted by bu...@apache.org.
HBASE-21590 Optimize trySkipToNextColumn in StoreScanner a bit.

(cherry picked from commit 11193d7cc1f5a0a7ffb73777da7ce5c1b6af6c8c)


Project: http://git-wip-us.apache.org/repos/asf/hbase/repo
Commit: http://git-wip-us.apache.org/repos/asf/hbase/commit/4020fd4c
Tree: http://git-wip-us.apache.org/repos/asf/hbase/tree/4020fd4c
Diff: http://git-wip-us.apache.org/repos/asf/hbase/diff/4020fd4c

Branch: refs/heads/branch-2.0
Commit: 4020fd4c4268facbaee40bd6733168635103ee4e
Parents: 5d94ad6
Author: Lars Hofhansl <la...@apache.org>
Authored: Thu Dec 13 11:56:39 2018 -0800
Committer: Sean Busbey <bu...@apache.org>
Committed: Fri Dec 14 15:50:10 2018 -0600

----------------------------------------------------------------------
 .../apache/hadoop/hbase/regionserver/StoreScanner.java  | 12 ++++++++++--
 1 file changed, 10 insertions(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/hbase/blob/4020fd4c/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/StoreScanner.java
----------------------------------------------------------------------
diff --git a/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/StoreScanner.java b/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/StoreScanner.java
index 1ca1faa..cd2ab40 100644
--- a/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/StoreScanner.java
+++ b/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/StoreScanner.java
@@ -785,12 +785,16 @@ public class StoreScanner extends NonReversedNonLazyKeyValueScanner
   @VisibleForTesting
   protected boolean trySkipToNextRow(Cell cell) throws IOException {
     Cell nextCell = null;
+    // used to guard against a changed next indexed key by doing a identity comparison
+    // when the identity changes we need to compare the bytes again
+    Cell previousIndexedKey = null;
     do {
       Cell nextIndexedKey = getNextIndexedKey();
       if (nextIndexedKey != null && nextIndexedKey != KeyValueScanner.NO_NEXT_INDEXED_KEY
-          && matcher.compareKeyForNextRow(nextIndexedKey, cell) >= 0) {
+          && (nextIndexedKey == previousIndexedKey || matcher.compareKeyForNextRow(nextIndexedKey, cell) >= 0)) {
         this.heap.next();
         ++kvsScanned;
+        previousIndexedKey = nextIndexedKey;
       } else {
         return false;
       }
@@ -806,12 +810,16 @@ public class StoreScanner extends NonReversedNonLazyKeyValueScanner
   @VisibleForTesting
   protected boolean trySkipToNextColumn(Cell cell) throws IOException {
     Cell nextCell = null;
+    // used to guard against a changed next indexed key by doing a identity comparison
+    // when the identity changes we need to compare the bytes again
+    Cell previousIndexedKey = null;
     do {
       Cell nextIndexedKey = getNextIndexedKey();
       if (nextIndexedKey != null && nextIndexedKey != KeyValueScanner.NO_NEXT_INDEXED_KEY
-          && matcher.compareKeyForNextColumn(nextIndexedKey, cell) >= 0) {
+          && (nextIndexedKey == previousIndexedKey || matcher.compareKeyForNextColumn(nextIndexedKey, cell) >= 0)) {
         this.heap.next();
         ++kvsScanned;
+        previousIndexedKey = nextIndexedKey;
       } else {
         return false;
       }


[5/6] hbase git commit: HBASE-21590 Optimize trySkipToNextColumn in StoreScanner a bit. (addendum)

Posted by bu...@apache.org.
HBASE-21590 Optimize trySkipToNextColumn in StoreScanner a bit. (addendum)

(cherry picked from commit a284c493b127fbf785fbee401f0854ad1979eb26)
(cherry picked from commit aa36c3f6b69ef47b6f53158eda4a87e1a72e4fad)


Project: http://git-wip-us.apache.org/repos/asf/hbase/repo
Commit: http://git-wip-us.apache.org/repos/asf/hbase/commit/5c8c945e
Tree: http://git-wip-us.apache.org/repos/asf/hbase/tree/5c8c945e
Diff: http://git-wip-us.apache.org/repos/asf/hbase/diff/5c8c945e

Branch: refs/heads/branch-1
Commit: 5c8c945e34771b7caa5536330d8d333eb184f22d
Parents: 4e7fc18
Author: Sean Busbey <bu...@apache.org>
Authored: Fri Dec 14 11:23:36 2018 -0600
Committer: Sean Busbey <bu...@apache.org>
Committed: Fri Dec 14 15:56:36 2018 -0600

----------------------------------------------------------------------
 .../apache/hadoop/hbase/regionserver/StoreScanner.java    | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/hbase/blob/5c8c945e/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/StoreScanner.java
----------------------------------------------------------------------
diff --git a/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/StoreScanner.java b/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/StoreScanner.java
index 96d5946..d51fdf0 100644
--- a/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/StoreScanner.java
+++ b/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/StoreScanner.java
@@ -801,8 +801,9 @@ public class StoreScanner extends NonReversedNonLazyKeyValueScanner
     Cell previousIndexedKey = null;
     do {
       Cell nextIndexedKey = getNextIndexedKey();
-      if (nextIndexedKey != null && nextIndexedKey != KeyValueScanner.NO_NEXT_INDEXED_KEY
-          && (nextIndexedKey == previousIndexedKey || matcher.compareKeyForNextRow(nextIndexedKey, cell) >= 0)) {
+      if (nextIndexedKey != null && nextIndexedKey != KeyValueScanner.NO_NEXT_INDEXED_KEY &&
+          (nextIndexedKey == previousIndexedKey ||
+          matcher.compareKeyForNextRow(nextIndexedKey, cell) >= 0)) {
         this.heap.next();
         ++kvsScanned;
         previousIndexedKey = nextIndexedKey;
@@ -826,8 +827,9 @@ public class StoreScanner extends NonReversedNonLazyKeyValueScanner
     Cell previousIndexedKey = null;
     do {
       Cell nextIndexedKey = getNextIndexedKey();
-      if (nextIndexedKey != null && nextIndexedKey != KeyValueScanner.NO_NEXT_INDEXED_KEY
-          && (nextIndexedKey == previousIndexedKey || matcher.compareKeyForNextColumn(nextIndexedKey, cell) >= 0)) {
+      if (nextIndexedKey != null && nextIndexedKey != KeyValueScanner.NO_NEXT_INDEXED_KEY &&
+          (nextIndexedKey == previousIndexedKey ||
+          matcher.compareKeyForNextColumn(nextIndexedKey, cell) >= 0)) {
         this.heap.next();
         ++kvsScanned;
         previousIndexedKey = nextIndexedKey;