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

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


The following commit(s) were added to refs/heads/branch-2.2 by this push:
     new f19a3a7  HBASE-25467 Fix error prone problems on branch-2.2 (#2850)
f19a3a7 is described below

commit f19a3a70df863576a3ae8962dce82cf0482664aa
Author: Peter Somogyi <[email protected]>
AuthorDate: Thu Jan 7 18:33:37 2021 +0100

    HBASE-25467 Fix error prone problems on branch-2.2 (#2850)
    
    Signed-off-by: Viraj Jasani <[email protected]>
---
 .../main/java/org/apache/hadoop/hbase/HRegionInfo.java    | 11 +----------
 .../java/org/apache/hadoop/hbase/client/RegionInfo.java   |  6 +++++-
 .../org/apache/hadoop/hbase/client/RegionInfoBuilder.java | 11 ++---------
 .../org/apache/hadoop/hbase/protobuf/ProtobufUtil.java    |  2 +-
 .../org/apache/hadoop/hbase/executor/EventHandler.java    | 15 +++++++++------
 5 files changed, 18 insertions(+), 27 deletions(-)

diff --git 
a/hbase-client/src/main/java/org/apache/hadoop/hbase/HRegionInfo.java 
b/hbase-client/src/main/java/org/apache/hadoop/hbase/HRegionInfo.java
index 77602d5..6edd3fa 100644
--- a/hbase-client/src/main/java/org/apache/hadoop/hbase/HRegionInfo.java
+++ b/hbase-client/src/main/java/org/apache/hadoop/hbase/HRegionInfo.java
@@ -74,7 +74,7 @@ import 
org.apache.hadoop.hbase.shaded.protobuf.generated.HBaseProtos;
  */
 @Deprecated
 @InterfaceAudience.Public
-public class HRegionInfo implements RegionInfo, Comparable<HRegionInfo> {
+public class HRegionInfo implements RegionInfo {
   private static final Logger LOG = LoggerFactory.getLogger(HRegionInfo.class);
 
   /**
@@ -701,15 +701,6 @@ public class HRegionInfo implements RegionInfo, 
Comparable<HRegionInfo> {
     return this.hashCode;
   }
 
-  //
-  // Comparable
-  //
-
-  @Override
-  public int compareTo(HRegionInfo o) {
-    return RegionInfo.COMPARATOR.compare(this, o);
-  }
-
   /**
    * @return Comparator to use comparing {@link KeyValue}s.
    * @deprecated Use Region#getCellComparator().  deprecated for hbase 2.0, 
remove for hbase 3.0
diff --git 
a/hbase-client/src/main/java/org/apache/hadoop/hbase/client/RegionInfo.java 
b/hbase-client/src/main/java/org/apache/hadoop/hbase/client/RegionInfo.java
index 206197c..b88ddf2 100644
--- a/hbase-client/src/main/java/org/apache/hadoop/hbase/client/RegionInfo.java
+++ b/hbase-client/src/main/java/org/apache/hadoop/hbase/client/RegionInfo.java
@@ -68,7 +68,7 @@ import 
org.apache.hadoop.hbase.shaded.protobuf.generated.HBaseProtos;
  *
  */
 @InterfaceAudience.Public
-public interface RegionInfo {
+public interface RegionInfo extends Comparable<RegionInfo> {
   RegionInfo UNDEFINED = 
RegionInfoBuilder.newBuilder(TableName.valueOf("__UNDEFINED__")).build();
   /**
    * Separator used to demarcate the encodedName in a region name
@@ -821,4 +821,8 @@ public interface RegionInfo {
     }
     return Bytes.compareTo(getStartKey(), other.getEndKey()) < 0;
   }
+
+  default int compareTo(RegionInfo other) {
+    return RegionInfo.COMPARATOR.compare(this, other);
+  }
 }
diff --git 
a/hbase-client/src/main/java/org/apache/hadoop/hbase/client/RegionInfoBuilder.java
 
b/hbase-client/src/main/java/org/apache/hadoop/hbase/client/RegionInfoBuilder.java
index 510bf68..1690e31 100644
--- 
a/hbase-client/src/main/java/org/apache/hadoop/hbase/client/RegionInfoBuilder.java
+++ 
b/hbase-client/src/main/java/org/apache/hadoop/hbase/client/RegionInfoBuilder.java
@@ -1,5 +1,4 @@
-/**
- *
+/*
  * 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
@@ -119,7 +118,7 @@ public class RegionInfoBuilder {
    * An implementation of RegionInfo that adds mutable methods so can build a 
RegionInfo instance.
    */
   @InterfaceAudience.Private
-  static class MutableRegionInfo implements RegionInfo, Comparable<RegionInfo> 
{
+  static class MutableRegionInfo implements RegionInfo {
     /**
      * The new format for a region name contains its encodedName at the end.
      * The encoded name also serves as the directory name for the region
@@ -423,11 +422,5 @@ public class RegionInfoBuilder {
     public int hashCode() {
       return this.hashCode;
     }
-
-    @Override
-    public int compareTo(RegionInfo other) {
-      return RegionInfo.COMPARATOR.compare(this, other);
-    }
-
   }
 }
diff --git 
a/hbase-client/src/main/java/org/apache/hadoop/hbase/protobuf/ProtobufUtil.java 
b/hbase-client/src/main/java/org/apache/hadoop/hbase/protobuf/ProtobufUtil.java
index 326e78a..374be49 100644
--- 
a/hbase-client/src/main/java/org/apache/hadoop/hbase/protobuf/ProtobufUtil.java
+++ 
b/hbase-client/src/main/java/org/apache/hadoop/hbase/protobuf/ProtobufUtil.java
@@ -1344,7 +1344,7 @@ public final class ProtobufUtil {
     List<CellProtos.Cell> values = proto.getCellList();
 
     if (proto.hasExists()) {
-      if ((values != null && !values.isEmpty()) ||
+      if ((!values.isEmpty()) ||
           (proto.hasAssociatedCellCount() && proto.getAssociatedCellCount() > 
0)) {
         throw new IllegalArgumentException("bad proto: exists with cells is no 
allowed " + proto);
       }
diff --git 
a/hbase-server/src/main/java/org/apache/hadoop/hbase/executor/EventHandler.java 
b/hbase-server/src/main/java/org/apache/hadoop/hbase/executor/EventHandler.java
index eb94744..44f580f 100644
--- 
a/hbase-server/src/main/java/org/apache/hadoop/hbase/executor/EventHandler.java
+++ 
b/hbase-server/src/main/java/org/apache/hadoop/hbase/executor/EventHandler.java
@@ -52,7 +52,7 @@ import org.slf4j.LoggerFactory;
  * @see ExecutorService
  */
 @InterfaceAudience.Private
-public abstract class EventHandler implements Runnable, Comparable<Runnable> {
+public abstract class EventHandler implements Runnable, 
Comparable<EventHandler> {
   private static final Logger LOG = 
LoggerFactory.getLogger(EventHandler.class);
 
   // type of event this object represents
@@ -152,14 +152,17 @@ public abstract class EventHandler implements Runnable, 
Comparable<Runnable> {
    * priority beyond FIFO, they should override {@link #getPriority()}.
    */
   @Override
-  public int compareTo(Runnable o) {
-    EventHandler eh = (EventHandler)o;
-    if(getPriority() != eh.getPriority()) {
-      return (getPriority() < eh.getPriority()) ? -1 : 1;
+  public int compareTo(EventHandler o) {
+    if (o == null) {
+      return 1;
     }
-    return (this.seqid < eh.seqid) ? -1 : 1;
+    if (getPriority() != o.getPriority()) {
+      return (getPriority() < o.getPriority()) ? -1 : 1;
+    }
+    return (this.seqid < o.seqid) ? -1 : 1;
   }
 
+
   @Override
   public String toString() {
     return "Event #" + getSeqid() +

Reply via email to