Package org.apache.iceberg.util
Class ThreadPools
- java.lang.Object
-
- org.apache.iceberg.util.ThreadPools
-
public class ThreadPools extends java.lang.Object
-
-
Field Summary
Fields Modifier and Type Field Description static intDELETE_WORKER_THREAD_POOL_SIZEstatic intWORKER_THREAD_POOL_SIZEstatic java.lang.StringWORKER_THREAD_POOL_SIZE_PROPDeprecated.UseWORKER_THREAD_POOL_SIZEinstead; will be removed in 2.0.0
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static java.util.concurrent.ExecutorServicegetDeleteWorkerPool()Return anExecutorServicethat uses the "delete worker" thread-pool.static java.util.concurrent.ExecutorServicegetWorkerPool()Return anExecutorServicethat uses the "worker" thread-pool.static java.util.concurrent.ScheduledExecutorServicenewScheduledPool(java.lang.String namePrefix, int poolSize)Create a newScheduledExecutorServicewith the given name and pool size.static java.util.concurrent.ExecutorServicenewWorkerPool(java.lang.String namePrefix)static java.util.concurrent.ExecutorServicenewWorkerPool(java.lang.String namePrefix, int poolSize)
-
-
-
Field Detail
-
WORKER_THREAD_POOL_SIZE_PROP
@Deprecated public static final java.lang.String WORKER_THREAD_POOL_SIZE_PROP
Deprecated.UseWORKER_THREAD_POOL_SIZEinstead; will be removed in 2.0.0
-
WORKER_THREAD_POOL_SIZE
public static final int WORKER_THREAD_POOL_SIZE
-
DELETE_WORKER_THREAD_POOL_SIZE
public static final int DELETE_WORKER_THREAD_POOL_SIZE
-
-
Method Detail
-
getWorkerPool
public static java.util.concurrent.ExecutorService getWorkerPool()
Return anExecutorServicethat uses the "worker" thread-pool.The size of the worker pool limits the number of tasks concurrently reading manifests in the base table implementation across all concurrent planning operations.
The size of this thread-pool is controlled by the Java system property
iceberg.worker.num-threads.- Returns:
- an
ExecutorServicethat uses the worker pool
-
getDeleteWorkerPool
public static java.util.concurrent.ExecutorService getDeleteWorkerPool()
Return anExecutorServicethat uses the "delete worker" thread-pool.The size of this worker pool limits the number of tasks concurrently reading delete files within a single JVM. If there are multiple threads loading deletes, all of them will share this worker pool by default.
The size of this thread-pool is controlled by the Java system property
iceberg.worker.delete-num-threads.- Returns:
- an
ExecutorServicethat uses the delete worker pool
-
newWorkerPool
public static java.util.concurrent.ExecutorService newWorkerPool(java.lang.String namePrefix)
-
newWorkerPool
public static java.util.concurrent.ExecutorService newWorkerPool(java.lang.String namePrefix, int poolSize)
-
newScheduledPool
public static java.util.concurrent.ScheduledExecutorService newScheduledPool(java.lang.String namePrefix, int poolSize)Create a newScheduledExecutorServicewith the given name and pool size.Threads used by this service will be daemon threads.
- Parameters:
namePrefix- a base name for threads in the executor service's thread poolpoolSize- max number of threads to use- Returns:
- an executor service
-
-