Joseph295 commented on a change in pull request #1783: URL: https://github.com/apache/hbase/pull/1783#discussion_r431092284
########## File path: hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HStore.java ########## @@ -955,19 +964,24 @@ private void bulkLoadHFile(HStoreFile sf) throws IOException { if (!result.isEmpty()) { // initialize the thread pool for closing store files in parallel. ThreadPoolExecutor storeFileCloserThreadPool = this.region - .getStoreFileOpenAndCloseThreadPool("StoreFileCloser-" - + this.region.getRegionInfo().getEncodedName() + "-" + this.getColumnFamilyName()); - + .getStoreFileOpenAndCloseThreadPool(); + String executingThreadNamePrefix = "StoreFileCloser-" + + this.region.getRegionInfo().getEncodedName() + "-" + this.getColumnFamilyName(); + AtomicInteger threadId = new AtomicInteger(0); // close each store file in parallel CompletionService<Void> completionService = new ExecutorCompletionService<>(storeFileCloserThreadPool); for (HStoreFile f : result) { completionService.submit(new Callable<Void>() { @Override public Void call() throws IOException { + Thread t = Thread.currentThread(); Review comment: > I dont think we should do these hacks. The threads can be named with regionName and some seqNo. Anyway even if we do these hacks and add the cf name, it says till that level only. Still from jstack we can not know which file open it is stuck with (if assume we took it when there was a stuck case). We can make sure we have proper log which says opening store file xxx for cf x and that log will have to say the thread name also. So later with jstack and this log we can track down issues. Sounds ok? Yeah, definitely, let me update the patch soon. ---------------------------------------------------------------- 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