You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@hbase.apache.org by GitBox <gi...@apache.org> on 2021/08/12 13:33:08 UTC

[GitHub] [hbase] Apache9 commented on a change in pull request #3468: HBASE-26076 Support favoredNodes when do compaction offload

Apache9 commented on a change in pull request #3468:
URL: https://github.com/apache/hbase/pull/3468#discussion_r687706580



##########
File path: hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HStore.java
##########
@@ -344,14 +344,27 @@ private StoreContext initializeStoreContext(ColumnFamilyDescriptor family) throw
   }
 
   private InetSocketAddress[] getFavoredNodes() {
-    InetSocketAddress[] favoredNodes = null;

Review comment:
       Does the code still compile after you remove this line? This is a behavior change? We have a favoredNodes class field in HStore?

##########
File path: hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HStore.java
##########
@@ -344,14 +344,27 @@ private StoreContext initializeStoreContext(ColumnFamilyDescriptor family) throw
   }
 
   private InetSocketAddress[] getFavoredNodes() {
-    InetSocketAddress[] favoredNodes = null;
     if (region.getRegionServerServices() != null) {
-      favoredNodes = region.getRegionServerServices().getFavoredNodesForRegion(
-          region.getRegionInfo().getEncodedName());
+      return region.getRegionServerServices()
+          .getFavoredNodesForRegion(region.getRegionInfo().getEncodedName());
     }
     return favoredNodes;
   }
 
+  // Favored nodes used by compaction offload
+  private InetSocketAddress[] favoredNodes = null;
+
+  public void setFavoredNodes(
+      List<org.apache.hadoop.hbase.shaded.protobuf.generated.HBaseProtos.ServerName> favoredNodes) {

Review comment:
       Just use HBaseProtos.ServerName?

##########
File path: hbase-server/src/main/java/org/apache/hadoop/hbase/compactionserver/CompactionThreadManager.java
##########
@@ -150,6 +150,27 @@ public void requestCompaction(CompactionTask compactionTask) throws IOException
     }
   }
 
+  /**
+   * Open store, and clean stale compacted file in cache
+   */
+  private HStore openStore(RegionInfo regionInfo, ColumnFamilyDescriptor cfd, boolean major,

Review comment:
       Is this related to this issue or just a refactoring?

##########
File path: hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HStore.java
##########
@@ -344,14 +344,27 @@ private StoreContext initializeStoreContext(ColumnFamilyDescriptor family) throw
   }
 
   private InetSocketAddress[] getFavoredNodes() {
-    InetSocketAddress[] favoredNodes = null;
     if (region.getRegionServerServices() != null) {
-      favoredNodes = region.getRegionServerServices().getFavoredNodesForRegion(
-          region.getRegionInfo().getEncodedName());
+      return region.getRegionServerServices()
+          .getFavoredNodesForRegion(region.getRegionInfo().getEncodedName());
     }
     return favoredNodes;
   }
 
+  // Favored nodes used by compaction offload
+  private InetSocketAddress[] favoredNodes = null;
+
+  public void setFavoredNodes(
+      List<org.apache.hadoop.hbase.shaded.protobuf.generated.HBaseProtos.ServerName> favoredNodes) {
+    if (favoredNodes != null && favoredNodes.size() > 0) {

Review comment:
       CollectionUtils.isNotEmpty?

##########
File path: hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HStore.java
##########
@@ -344,14 +344,27 @@ private StoreContext initializeStoreContext(ColumnFamilyDescriptor family) throw
   }
 
   private InetSocketAddress[] getFavoredNodes() {
-    InetSocketAddress[] favoredNodes = null;
     if (region.getRegionServerServices() != null) {
-      favoredNodes = region.getRegionServerServices().getFavoredNodesForRegion(
-          region.getRegionInfo().getEncodedName());
+      return region.getRegionServerServices()
+          .getFavoredNodesForRegion(region.getRegionInfo().getEncodedName());
     }
     return favoredNodes;
   }
 
+  // Favored nodes used by compaction offload
+  private InetSocketAddress[] favoredNodes = null;

Review comment:
       OK we added a class field here... It is calculated by a public method? Will call be called multiple times? Thread safe?




-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscribe@hbase.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org