
com.groupbyinc.flux.threadpool.ThreadPool.class Maven / Gradle / Ivy
???? 3p )com/groupbyinc/flux/threadpool/ThreadPool 6com/groupbyinc/flux/common/component/AbstractComponent ThreadPool.java +com/groupbyinc/flux/threadpool/ThreadPool$1 Icom/groupbyinc/flux/threadpool/ThreadPool$ThreadPoolTypeSettingsValidator ThreadPoolTypeSettingsValidator 7com/groupbyinc/flux/threadpool/ThreadPool$ApplySettings
ApplySettings .com/groupbyinc/flux/threadpool/ThreadPool$Info Info 8com/groupbyinc/flux/threadpool/ThreadPool$ExecutorHolder ExecutorHolder =com/groupbyinc/flux/threadpool/ThreadPool$EstimatedTimeThread EstimatedTimeThread :com/groupbyinc/flux/threadpool/ThreadPool$ThreadedRunnable ThreadedRunnable 9com/groupbyinc/flux/threadpool/ThreadPool$LoggingRunnable LoggingRunnable Bcom/groupbyinc/flux/threadpool/ThreadPool$ExecutorShutdownListener ExecutorShutdownListener Acom/groupbyinc/flux/threadpool/ThreadPool$ExecutorSettingsBuilder ExecutorSettingsBuilder 8com/groupbyinc/flux/threadpool/ThreadPool$ThreadPoolType # ThreadPoolType /com/groupbyinc/flux/threadpool/ThreadPool$Names & Names java/util/Map$Entry )
java/util/Map + Entry 4com/groupbyinc/flux/threadpool/ThreadPoolStats$Stats . .com/groupbyinc/flux/threadpool/ThreadPoolStats 0 Stats 4com/groupbyinc/flux/common/settings/Settings$Builder 3 ,com/groupbyinc/flux/common/settings/Settings 5 Builder >com/groupbyinc/flux/node/settings/NodeSettingsService$Listener 8 5com/groupbyinc/flux/node/settings/NodeSettingsService : Listener Icom/groupbyinc/flux/threadpool/ThreadPool$EstimatedTimeThread$TimeCounter = TimeCounter Pcom/groupbyinc/flux/common/util/concurrent/EsThreadPoolExecutor$ShutdownListener @ ?com/groupbyinc/flux/common/util/concurrent/EsThreadPoolExecutor B ShutdownListener THREAD_POOL_TYPES Ljava/util/Map; ]Ljava/util/Map; THREADPOOL_GROUP Ljava/lang/String; threadpool. J executors ?Lcom/groupbyinc/flux/common/google/common/collect/ImmutableMap; ?Lcom/groupbyinc/flux/common/google/common/collect/ImmutableMap; defaultExecutorTypeSettings ?Lcom/groupbyinc/flux/common/google/common/collect/ImmutableMap; retiredExecutors Ljava/util/Queue; MLjava/util/Queue; scheduler 2Ljava/util/concurrent/ScheduledThreadPoolExecutor; estimatedTimeThread ?Lcom/groupbyinc/flux/threadpool/ThreadPool$EstimatedTimeThread; settingsListenerIsSet Z DIRECT_EXECUTOR Ljava/util/concurrent/Executor; #THREAD_POOL_TYPE_SETTINGS_VALIDATOR KLcom/groupbyinc/flux/threadpool/ThreadPool$ThreadPoolTypeSettingsValidator; $assertionsDisabled add U(Ljava/util/Map;Lcom/groupbyinc/flux/threadpool/ThreadPool$ExecutorSettingsBuilder;)V build 0()Lcom/groupbyinc/flux/common/settings/Settings; a b
! c name e get &(Ljava/lang/String;)Ljava/lang/String; g h
6 i put 8(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; k l , m executorSettings QLjava/util/Map; builder CLcom/groupbyinc/flux/threadpool/ThreadPool$ExecutorSettingsBuilder; settings .Lcom/groupbyinc/flux/common/settings/Settings; (Ljava/lang/String;)V 8()Lcom/groupbyinc/flux/common/settings/Settings$Builder; q w
6 x \(Ljava/lang/String;Ljava/lang/String;)Lcom/groupbyinc/flux/common/settings/Settings$Builder; k z
4 {
4 c 1(Lcom/groupbyinc/flux/common/settings/Settings;)V u ~
this +Lcom/groupbyinc/flux/threadpool/ThreadPool;
*java/util/concurrent/ConcurrentLinkedQueue ? ()V u ?
? ? Q R ? X Y ? ^ Y ? java/lang/AssertionError ? +ThreadPool's settings should contain a name ? (Ljava/lang/Object;)V u ?
? ? getThreadPoolSettingsGroup ?(Lcom/groupbyinc/flux/common/settings/Settings;)Ljava/util/Map; ? ?
? 6com/groupbyinc/flux/common/util/concurrent/EsExecutors ? boundedNumberOfProcessors 1(Lcom/groupbyinc/flux/common/settings/Settings;)I ? ?
? ? java/lang/Math ? min (II)I ? ?
? ? java/util/HashMap ?
? ? generic ? u v
! ? 30s ? keepAlive W(Ljava/lang/String;)Lcom/groupbyinc/flux/threadpool/ThreadPool$ExecutorSettingsBuilder; ? ?
! ? _ `
? index ? size F(I)Lcom/groupbyinc/flux/threadpool/ThreadPool$ExecutorSettingsBuilder; ? ?
! ? queueSize ? ?
! ? bulk ? g search ? suggest ? percolate ?
management ? 5m ? listener ? flush ? refresh ? warmer ? snapshot ? force_merge ? fetch_shard_started ? fetch_shard_store ? =com/groupbyinc/flux/common/google/common/collect/ImmutableMap ? copyOf P(Ljava/util/Map;)Lcom/groupbyinc/flux/common/google/common/collect/ImmutableMap; ? ?
? ? O M ? entrySet ()Ljava/util/Set; ? ? , ?
java/util/Set ? iterator ()Ljava/util/Iterator; ? ? ? ? java/util/Iterator ? hasNext ()Z ? ? ? ? next ()Ljava/lang/Object; ? ? ? ? getKey ? ? * ? java/lang/String ? &(Ljava/lang/Object;)Ljava/lang/Object; g ? , ? getValue ? ? * ?(Ljava/lang/String;Lcom/groupbyinc/flux/common/settings/Settings;Lcom/groupbyinc/flux/common/settings/Settings;)Lcom/groupbyinc/flux/threadpool/ThreadPool$ExecutorHolder; a
containsKey (Ljava/lang/Object;)Z , EMPTY t 6
same Z [ DIRECT :Lcom/groupbyinc/flux/threadpool/ThreadPool$ThreadPoolType; $ O(Ljava/lang/String;Lcom/groupbyinc/flux/threadpool/ThreadPool$ThreadPoolType;)V u
R(Ljava/util/concurrent/Executor;Lcom/groupbyinc/flux/threadpool/ThreadPool$Info;)V u
info 0Lcom/groupbyinc/flux/threadpool/ThreadPool$Info; getThreadPoolType <()Lcom/groupbyinc/flux/threadpool/ThreadPool$ThreadPoolType;
CACHED" $# equals%
$& "java/lang/IllegalArgumentException( *generic thread pool must be of type cached*
) ? L M - 0java/util/concurrent/ScheduledThreadPoolExecutor/ T daemonThreadFactory f(Lcom/groupbyinc/flux/common/settings/Settings;Ljava/lang/String;)Ljava/util/concurrent/ThreadFactory;23
?4 8com/groupbyinc/flux/common/util/concurrent/EsAbortPolicy6
7 ? W(ILjava/util/concurrent/ThreadFactory;Ljava/util/concurrent/RejectedExecutionHandler;)V u9
0: T U < 1setExecuteExistingDelayedTasksAfterShutdownPolicy (Z)V>?
0@ 3setContinueExistingPeriodicTasksAfterShutdownPolicyB?
0C setRemoveOnCancelPolicyE?
0F "threadpool.estimated_time_intervalH ? )com/groupbyinc/flux/common/unit/TimeValueL timeValueMillis .(J)Lcom/groupbyinc/flux/common/unit/TimeValue;NO
MP getAsTime j(Ljava/lang/String;Lcom/groupbyinc/flux/common/unit/TimeValue;)Lcom/groupbyinc/flux/common/unit/TimeValue;RS
6T [timer]V
threadName T(Lcom/groupbyinc/flux/common/settings/Settings;Ljava/lang/String;)Ljava/lang/String;XY
?Z millis ()J\]
M^ (Ljava/lang/String;J)V u`
a V W c starte ?
f executor WLjava/util/Map$Entry; Ljava/util/Map$Entry; entry
groupSettings availableProcessors I halfProcMaxAt5 halfProcMaxAt10 ]Ljava/util/Map; estimatedTimeInterval +Lcom/groupbyinc/flux/common/unit/TimeValue; getGroups #(Ljava/lang/String;)Ljava/util/Map;tu
6v validate (Ljava/util/Map;)Vxy
z setNodeSettingsService :(Lcom/groupbyinc/flux/node/settings/NodeSettingsService;)V java/lang/IllegalStateException~ 1the node settings listener was set more then once?
? .(Lcom/groupbyinc/flux/threadpool/ThreadPool;)V u?
? addListener C(Lcom/groupbyinc/flux/node/settings/NodeSettingsService$Listener;)V??
;? nodeSettingsService 7Lcom/groupbyinc/flux/node/settings/NodeSettingsService; estimatedTimeInMillis?]
? estimatedTimeInMillisCounter 9()Lcom/groupbyinc/flux/common/apache/lucene/util/Counter; counter KLcom/groupbyinc/flux/threadpool/ThreadPool$EstimatedTimeThread$TimeCounter;?? ? 1()Lcom/groupbyinc/flux/threadpool/ThreadPoolInfo; java/util/ArrayList?
? ? values H()Lcom/groupbyinc/flux/common/google/common/collect/ImmutableCollection;??
?? Dcom/groupbyinc/flux/common/google/common/collect/ImmutableCollection? I()Lcom/groupbyinc/flux/common/google/common/collect/UnmodifiableIterator; ??
?? java/util/List? getName ()Ljava/lang/String;??
?
?& _?? -com/groupbyinc/flux/threadpool/ThreadPoolInfo? (Ljava/util/List;)V u?
?? holder :Lcom/groupbyinc/flux/threadpool/ThreadPool$ExecutorHolder; infos BLjava/util/List; Ljava/util/List; D(Ljava/lang/String;)Lcom/groupbyinc/flux/threadpool/ThreadPool$Info;
? ? stats 2()Lcom/groupbyinc/flux/threadpool/ThreadPoolStats;???????? !()Ljava/util/concurrent/Executor;h?
? 'java/util/concurrent/ThreadPoolExecutor? getPoolSize ()I??
?? getQueue &()Ljava/util/concurrent/BlockingQueue;??
?? "java/util/concurrent/BlockingQueue? ???? getActiveCount??
?? getLargestPoolSize??
?? getCompletedTaskCount?]
?? getRejectedExecutionHandler 1()Ljava/util/concurrent/RejectedExecutionHandler;??
?? Dcom/groupbyinc/flux/common/util/concurrent/XRejectedExecutionHandler? rejected?]?? (Ljava/lang/String;IIIJIJ)V u?
/?
1? threadPoolExecutor )Ljava/util/concurrent/ThreadPoolExecutor; rejectedExecutionHandler /Ljava/util/concurrent/RejectedExecutionHandler; threads queue active J largest completed HLjava/util/List; 3(Ljava/lang/String;)Ljava/util/concurrent/Executor;h?
? java/lang/StringBuilder?
? ? No executor found for [? append -(Ljava/lang/String;)Ljava/lang/StringBuilder;??
?? ]? toString??
?? java/util/concurrent/Executor? 1()Ljava/util/concurrent/ScheduledExecutorService; scheduleWithFixedDelay g(Ljava/lang/Runnable;Lcom/groupbyinc/flux/common/unit/TimeValue;)Ljava/util/concurrent/ScheduledFuture; B(Lcom/groupbyinc/flux/threadpool/ThreadPool;Ljava/lang/Runnable;)V u
java/util/concurrent/TimeUnit MILLISECONDS Ljava/util/concurrent/TimeUnit;
](Ljava/lang/Runnable;JJLjava/util/concurrent/TimeUnit;)Ljava/util/concurrent/ScheduledFuture;
0
command Ljava/lang/Runnable; interval schedule y(Lcom/groupbyinc/flux/common/unit/TimeValue;Ljava/lang/String;Ljava/lang/Runnable;)Ljava/util/concurrent/ScheduledFuture; a(Lcom/groupbyinc/flux/threadpool/ThreadPool;Ljava/lang/Runnable;Ljava/util/concurrent/Executor;)V u
\(Ljava/lang/Runnable;JLjava/util/concurrent/TimeUnit;)Ljava/util/concurrent/ScheduledFuture;
0 delay shutdown running Y interrupt ?
?
0"
?" shutdownNow ()Ljava/util/List;%&
0'
?' java/util/Queue* isEmpty, ?+- remove/ ?+0 awaitTermination #(JLjava/util/concurrent/TimeUnit;)Z java/lang/InterruptedException423
06
?6 toMillis (J)J9:
; join (J)V=>
? timeout unit result %Lcom/groupbyinc/flux/common/Nullable; rebuild ?(Ljava/lang/String;Lcom/groupbyinc/flux/threadpool/ThreadPool$ExecutorHolder;Lcom/groupbyinc/flux/common/settings/Settings;Lcom/groupbyinc/flux/common/settings/Settings;)Lcom/groupbyinc/flux/threadpool/ThreadPool$ExecutorHolder;EF
G defaultSettings EMPTY_SETTINGSJ t 4K typeM getTypeO?
$P 8(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; gR
6S fromType N(Ljava/lang/String;)Lcom/groupbyinc/flux/threadpool/ThreadPool$ThreadPoolType;UV
$W s t Y logger -Lcom/groupbyinc/flux/common/logging/ESLogger;[\ ] $updating thread_pool [{}], type [{}]_ java/lang/Objecta +com/groupbyinc/flux/common/logging/ESLoggerc debug ((Ljava/lang/String;[Ljava/lang/Object;)Vefdg "java/util/concurrent/ThreadFactoryi $creating thread_pool [{}], type [{}]k `thread pool type cached is reserved only for the generic thread pool and can not be applied to [m
keep_aliveo timeValueMinutessO
Mt getKeepAlive -()Lcom/groupbyinc/flux/common/unit/TimeValue;vw
x
M& 5updating thread_pool [{}], type [{}], keep_alive [{}]{ setKeepAliveTime #(JLjava/util/concurrent/TimeUnit;)V}~
C ?(Ljava/lang/String;Lcom/groupbyinc/flux/threadpool/ThreadPool$ThreadPoolType;IILcom/groupbyinc/flux/common/unit/TimeValue;Lcom/groupbyinc/flux/common/unit/SizeValue;)V u?
? 5creating thread_pool [{}], type [{}], keep_alive [{}]? newCached ?(Ljava/lang/String;JLjava/util/concurrent/TimeUnit;Ljava/util/concurrent/ThreadFactory;)Lcom/groupbyinc/flux/common/util/concurrent/EsThreadPoolExecutor;??
?? FIXED? $? ? java/lang/Integer? valueOf (I)Ljava/lang/Integer;??
?? getAsInt :(Ljava/lang/String;Ljava/lang/Integer;)Ljava/lang/Integer;??
6? intValue??
???
queue_size? getAsSizeOrUnbounded ?(Lcom/groupbyinc/flux/common/settings/Settings;Ljava/lang/String;Lcom/groupbyinc/flux/common/unit/SizeValue;)Lcom/groupbyinc/flux/common/unit/SizeValue;??
? capacity? getQueueSize -()Lcom/groupbyinc/flux/common/unit/SizeValue;??
? java/util/Objects? '(Ljava/lang/Object;Ljava/lang/Object;)Z%?
?? getMax??
? applyHardSizeLimit (Ljava/lang/String;I)I??
? @updating thread_pool [{}], type [{}], size [{}], queue_size [{}]? setMaximumPoolSize (I)V??
C? setCorePoolSize??
C? )com/groupbyinc/flux/common/unit/SizeValue? @creating thread_pool [{}], type [{}], size [{}], queue_size [{}]? singles?]
?? newFixed {(Ljava/lang/String;IILjava/util/concurrent/ThreadFactory;)Lcom/groupbyinc/flux/common/util/concurrent/EsThreadPoolExecutor;??
?? SCALING? $? ? getMin??
? max? Jupdating thread_pool [{}], type [{}], min [{}], size [{}], keep_alive [{}]? Jcreating thread_pool [{}], type [{}], min [{}], size [{}], keep_alive [{}]?
newScaling ?(Ljava/lang/String;IIJLjava/util/concurrent/TimeUnit;Ljava/util/concurrent/ThreadFactory;)Lcom/groupbyinc/flux/common/util/concurrent/EsThreadPoolExecutor;??
?? No type found [? ], for [? updatedKeepAlive defaultKeepAlive updatedSize updatedQueueSize +Lcom/groupbyinc/flux/common/unit/SizeValue; defaultSize defaultQueueSize
updatedMin
defaultMin previousExecutorHolder previousInfo threadPoolType
threadFactory $Ljava/util/concurrent/ThreadFactory; Vrequested thread pool size [{}] for [{}] is too large; setting to maximum [{}] instead? warn?fd? updateSettings ,- A()Lcom/groupbyinc/flux/common/google/common/collect/ImmutableSet; ??
?? =com/groupbyinc/flux/common/google/common/collect/ImmutableSet?
??
b& -com/groupbyinc/flux/common/collect/MapBuilder?
newMapBuilder @(Ljava/util/Map;)Lcom/groupbyinc/flux/common/collect/MapBuilder;??
?? U(Ljava/lang/Object;Ljava/lang/Object;)Lcom/groupbyinc/flux/common/collect/MapBuilder; k?
? immutableMap A()Lcom/groupbyinc/flux/common/google/common/collect/ImmutableMap;
?+? h(Lcom/groupbyinc/flux/threadpool/ThreadPool;Lcom/groupbyinc/flux/threadpool/ThreadPool$ExecutorHolder;)V u
U(Lcom/groupbyinc/flux/common/util/concurrent/EsThreadPoolExecutor$ShutdownListener;)V
C
? updatedSettings oldExecutorHolder newExecutorHolder keySet ? , E F setting threadpool. .type to is not permitted; must be correctThreadPoolType key 5com/groupbyinc/flux/common/settings/SettingsException -1 parseSizeValue j(Ljava/lang/String;Lcom/groupbyinc/flux/common/unit/SizeValue;)Lcom/groupbyinc/flux/common/unit/SizeValue;"#
?$ setting defaultValue terminate I(Ljava/util/concurrent/ExecutorService;JLjava/util/concurrent/TimeUnit;)Z $java/util/concurrent/ExecutorService*+"+6 java/lang/Thread.
currentThread ()Ljava/lang/Thread;01
/2
/ +' e Ljava/lang/InterruptedException; service &Ljava/util/concurrent/ExecutorService; timeUnit N(Lcom/groupbyinc/flux/threadpool/ThreadPool;JLjava/util/concurrent/TimeUnit;)Z
"
6% ?
> pool
access$000 >(Lcom/groupbyinc/flux/threadpool/ThreadPool;)Ljava/util/Queue; x0
access$100 Z(Lcom/groupbyinc/flux/threadpool/ThreadPool;)Lcom/groupbyinc/flux/common/logging/ESLogger; java/lang/ClassG desiredAssertionStatusI ?
HJ
? m java/util/CollectionsM unmodifiableMap (Ljava/util/Map;)Ljava/util/Map;OP
NQ Fcom/groupbyinc/flux/common/google/common/util/concurrent/MoreExecutorsS directExecutorU?
TV 0(Lcom/groupbyinc/flux/threadpool/ThreadPool$1;)V uX
Y \ ] [ map aLjava/util/HashMap; Ljava/util/HashMap; Signature
ConstantValue Code LocalVariableTable LocalVariableTypeTable LineNumberTable ?(Ljava/util/Map;Lcom/groupbyinc/flux/threadpool/ThreadPool$ExecutorSettingsBuilder;)V
StackMapTable ?(Lcom/groupbyinc/flux/common/settings/Settings;)Ljava/util/Map; j(Ljava/lang/Runnable;Lcom/groupbyinc/flux/common/unit/TimeValue;)Ljava/util/concurrent/ScheduledFuture<*>; |(Lcom/groupbyinc/flux/common/unit/TimeValue;Ljava/lang/String;Ljava/lang/Runnable;)Ljava/util/concurrent/ScheduledFuture<*>;
Exceptions "RuntimeVisibleParameterAnnotations T(Ljava/util/Map;)V
SourceFile InnerClasses ! E F ` G H I a K B L M ` N O M ` P Q R ` S T U V W X Y Z [ \ ] ^ Y
_ ` b | +? dM,f? jN*-,? n W? c * o F q r s t
e I d o p e ? ? ? ?` f u v b I *? yf+? |? }? ?? c ? ? e I e
? ? u ~ b
T*+? ?*? ?Y? ?? ?*? ?? ?? +f? j?
? ?Y?? ??*+? ?M+? ?>`l? ?6`l
? ?6? ?Y? ?:? !Y?? ??? ?? ?? !Y?? ?? ? ȶ ?? ?? !Y?? ?? ?2? ?? ?? !Y?? ?? ?? ?? ?? !Y· ?hl`? ?? ?? ?? !Yķ ?? ?? ?? ?? !YƷ ?? ?? ?? ?? !Yȷ ?? ?ʶ ?? ?? !Y̷ ?? ?? ?? !Yη ?? ?ʶ ?? ?? !Yз ?? ?ʶ ?? ?? !Yҷ ?? ?ʶ ?? ?? !YԷ ?? ?ʶ ?? ?? !Yַ ?? ?? ?? !Yط ?h? ?ʶ ?? ?? !Yڷ ?h? ?ʶ ?? ?*? ? ? ?Y? ?:? ? ? ? :? ? ? I? ? ? *: ? ? * ? ? ? ?, ? ? ? ? ? 6 ? ? 6?? n W???,? ? ? ? :? ? ? P? ? ? *: ? ? ? ? ??? ? ? * ? ? ? ? ? ? 6??? n W???
? Y?? Y
???? n W?? ? ? ??!?$?'? ?)Y+?,?*? ?.*?0Y+1?5?7Y?8?;?=*?=?A*?=?D*?=?G+IJ?Q?U:*? Y+W?[?_?b?d*?d?g? c p 7hj b >kj T ? ? T s t 4 l F 9mn Don Ppn Y? O F ?s L F 5 rs d 4 7hi b >ki 4 l p Y? O p ?s Lq e ? / ? ? ? ? . ? 4 ? 9 ? D ? P ? Y ? l ? ? ? ? ? ? ? ? ? ? ? ? ?+ ?C ?[ ?s ?? ?? ?? ?? ?? ?? ? ?<