rdblue commented on a change in pull request #4177:
URL: https://github.com/apache/iceberg/pull/4177#discussion_r824173208



##########
File path: core/src/main/java/org/apache/iceberg/util/ThreadPools.java
##########
@@ -61,6 +62,26 @@ public static ExecutorService getWorkerPool() {
     return WORKER_POOL;
   }
 
+  public static ExecutorService newWorkerPool(String namePrefix, Integer 
parallelism) {
+    return MoreExecutors.getExitingExecutorService(
+        (ThreadPoolExecutor) Executors.newFixedThreadPool(
+            Optional.ofNullable(parallelism).orElse(WORKER_THREAD_POOL_SIZE),
+            new ThreadFactoryBuilder()
+                .setDaemon(true)
+                .setNameFormat(namePrefix + "-%d")
+                .build()));
+  }
+
+  public static ExecutorService newKeyedWorkerPool(String key, String 
namePrefix, Integer parallelism) {

Review comment:
       I don't think that we need to keep worker pools here in a static map.
   
   The two places where this is called immediately set up a callback that calls 
shutdown, but could easily keep a reference to the worker pool locally instead 
of storing it here by name.
   
   I think it would be better to avoid keeping track of pools here.




-- 
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: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]



---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to