Joseph295 commented on a change in pull request #1783: URL: https://github.com/apache/hbase/pull/1783#discussion_r430881933
########## File path: hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HRegion.java ########## @@ -695,6 +695,7 @@ void sawNoSuchFamily() { private RegionCoprocessorHost coprocessorHost; private TableDescriptor htableDescriptor = null; + private ThreadPoolExecutor storeFileOpenAndCloseThreadPool; Review comment: > Why is this shared at the Region level. Shouldn't it be at the Store level (in HStore)? > > What does sharing at the region level gain us? Are you attempting to evenly round-robin store open work over all opening stores in the region? Just sharing an executor at region level won't do this. If the underlying stores are skewed the order in which runnables are submitted to the executor will share the skew. If only one store file is too slow and that is the bottleneck of the whole open or close region process, it seems not easy to fix that by threadpool here(maybe hedged read?). As Anoops said above, the problem we want to solve here is some stores may have too many store files, while others have much fewer. It will be quicker ideally if all of the store files just share the whole thread pool in one region. ---------------------------------------------------------------- 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