You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hbase.apache.org by vj...@apache.org on 2020/06/08 10:57:20 UTC

[hbase] branch branch-2 updated: HBASE-24483 Add repeated prefix logging for MultipleColumnPrefixFilter (#1822)

This is an automated email from the ASF dual-hosted git repository.

vjasani pushed a commit to branch branch-2
in repository https://gitbox.apache.org/repos/asf/hbase.git


The following commit(s) were added to refs/heads/branch-2 by this push:
     new 7078492  HBASE-24483 Add repeated prefix logging for MultipleColumnPrefixFilter (#1822)
7078492 is described below

commit 70784925f760a42aaf0528d429f70369ba0ba848
Author: bsglz <18...@qq.com>
AuthorDate: Mon Jun 8 18:48:33 2020 +0800

    HBASE-24483 Add repeated prefix logging for MultipleColumnPrefixFilter (#1822)
    
    Signed-off-by: clarax
    Signed-off-by: Viraj Jasani <vj...@apache.org>
---
 .../hadoop/hbase/filter/MultipleColumnPrefixFilter.java       | 11 ++++++++---
 1 file changed, 8 insertions(+), 3 deletions(-)

diff --git a/hbase-client/src/main/java/org/apache/hadoop/hbase/filter/MultipleColumnPrefixFilter.java b/hbase-client/src/main/java/org/apache/hadoop/hbase/filter/MultipleColumnPrefixFilter.java
index 5fd6445..0585f55 100644
--- a/hbase-client/src/main/java/org/apache/hadoop/hbase/filter/MultipleColumnPrefixFilter.java
+++ b/hbase-client/src/main/java/org/apache/hadoop/hbase/filter/MultipleColumnPrefixFilter.java
@@ -32,6 +32,8 @@ import org.apache.hbase.thirdparty.com.google.protobuf.InvalidProtocolBufferExce
 import org.apache.hbase.thirdparty.com.google.protobuf.UnsafeByteOperations;
 import org.apache.hadoop.hbase.shaded.protobuf.generated.FilterProtos;
 import org.apache.hadoop.hbase.util.Bytes;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 /**
  * This filter is used for selecting only those keys with columns that matches
@@ -40,15 +42,18 @@ import org.apache.hadoop.hbase.util.Bytes;
  */
 @InterfaceAudience.Public
 public class MultipleColumnPrefixFilter extends FilterBase {
+  private static final Logger LOG = LoggerFactory.getLogger(MultipleColumnPrefixFilter.class);
   protected byte [] hint = null;
   protected TreeSet<byte []> sortedPrefixes = createTreeSet();
   private final static int MAX_LOG_PREFIXES = 5;
 
   public MultipleColumnPrefixFilter(final byte [][] prefixes) {
     if (prefixes != null) {
-      for (int i = 0; i < prefixes.length; i++) {
-        if (!sortedPrefixes.add(prefixes[i]))
-          throw new IllegalArgumentException ("prefixes must be distinct");
+      for (byte[] prefix : prefixes) {
+        if (!sortedPrefixes.add(prefix)) {
+          LOG.error("prefix {} is repeated", Bytes.toString(prefix));
+          throw new IllegalArgumentException("prefixes must be distinct");
+        }
       }
     }
   }