taklwu commented on a change in pull request #2800:
URL: https://github.com/apache/hbase/pull/2800#discussion_r552321478



##########
File path: 
hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HStore.java
##########
@@ -347,6 +331,48 @@ protected HStore(final HRegion region, final 
ColumnFamilyDescriptor family,
     cacheOnWriteLogged = false;
   }
 
+  private StoreContext initializeStoreContext(ColumnFamilyDescriptor family) 
throws IOException {
+    return new StoreContext.Builder()
+        .withBloomType(family.getBloomFilterType())
+        .withCacheConfig(createCacheConf(family))
+        .withCellComparator(region.getCellComparator())
+        .withColumnFamilyDescriptor(family)
+        .withCompactedFilesSupplier(this::getCompactedFiles)
+        .withRegionFileSystem(region.getRegionFileSystem())
+        .withDefaultHFileContext(getDefaultHFileContext(family))
+        .withFavoredNodesSupplier(this::getFavoredNodes)
+        .withFamilyStoreDirectoryPath(region.getRegionFileSystem()
+            .getStoreDir(family.getNameAsString()))
+        .withRegionCoprocessorHost(region.getCoprocessorHost())
+        .build();
+  }
+
+  private InetSocketAddress[] getFavoredNodes() {
+    InetSocketAddress[] favoredNodes = null;
+    if (region.getRegionServerServices() != null) {
+      favoredNodes = region.getRegionServerServices().getFavoredNodesForRegion(
+          region.getRegionInfo().getEncodedName());
+    }
+    return favoredNodes;
+  }
+
+  private HFileContext getDefaultHFileContext(ColumnFamilyDescriptor family) 
throws IOException {

Review comment:
       the `conf` and `region` used within this function was blocking it to be 
static, but thinking it again, having this big defaultHFileContext within 
StoreFileContext is strange and the original thought was to reuse reference if 
we can. 
   
   I will remove this `getDefaultHFileContext` and `defaultHFileContext` in 
`StoreContext`




----------------------------------------------------------------
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.

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


Reply via email to