4/com/hazelcast/internal/networking/nio/NioThreadjava/lang/Thread?com/hazelcast/spi/impl/operationexecutor/OperationHostileThreadNioThread.java1com/hazelcast/internal/networking/nio/NioThread$1SELECT_WAIT_TIME_MILLISISELECT_FAILURE_PAUSE_MILLISSELECT_IDLE_COUNT_THRESHOLD RANDOMLjava/util/Random;TEST_SELECTOR_BUG_PROBABILITYid&Lcom/hazelcast/internal/metrics/Probe;name ioThreadIdlevel+Lcom/hazelcast/internal/metrics/ProbeLevel;INFObytesTransceivedJframesTransceivedpriorityFramesTransceived processCount taskQueueLjava/util/Queue;'Ljava/util/Queue; taskQueueSize eventCount0Lcom/hazelcast/internal/util/counters/SwCounter;selectorIOExceptionCountcompletedTaskCountselectorRebuildCountloggerLcom/hazelcast/logging/ILogger;selectorLjava/nio/channels/Selector; errorHandler7Lcom/hazelcast/internal/networking/ChannelErrorHandler; selectMode4Lcom/hazelcast/internal/networking/nio/SelectorMode; idleStrategy,Lcom/hazelcast/util/concurrent/IdleStrategy;lastSelectTimeMsstopZselectorWorkaroundTestk(Ljava/lang/String;Lcom/hazelcast/logging/ILogger;Lcom/hazelcast/internal/networking/ChannelErrorHandler;)V2com/hazelcast/internal/networking/nio/SelectorMode8SELECT :/ 9;(Ljava/lang/String;Lcom/hazelcast/logging/ILogger;Lcom/hazelcast/internal/networking/ChannelErrorHandler;Lcom/hazelcast/internal/networking/nio/SelectorMode;Lcom/hazelcast/util/concurrent/IdleStrategy;)V 6= >this1Lcom/hazelcast/internal/networking/nio/NioThread; threadNameLjava/lang/String;7com/hazelcast/internal/networking/nio/SelectorOptimizerD newSelector=(Lcom/hazelcast/logging/ILogger;)Ljava/nio/channels/Selector; FG EH(Ljava/lang/String;Lcom/hazelcast/logging/ILogger;Lcom/hazelcast/internal/networking/ChannelErrorHandler;Lcom/hazelcast/internal/networking/nio/SelectorMode;Ljava/nio/channels/Selector;Lcom/hazelcast/util/concurrent/IdleStrategy;)V 6J K(Ljava/lang/String;)V 6M N*java/util/concurrent/ConcurrentLinkedQueueP()V 6R QS  U.com/hazelcast/internal/util/counters/SwCounterW newSwCounter2()Lcom/hazelcast/internal/util/counters/SwCounter; YZ X[ #$ ] %$ _ &$ a '$ c () e ./ g ,- i *+ k 54 m 01 osetSelectorWorkaroundTest(Z)V()J  t  v  x handleCount  {get }s X~ getSelector()Ljava/nio/channels/Selector; getEventCount idleTimeMsjava/lang/SystemcurrentTimeMillis s 2 java/lang/Mathmax(JJ)J addTask(Ljava/lang/Runnable;)Vjava/util/Queueadd(Ljava/lang/Object;)Z taskLjava/lang/Runnable;addTaskAndWakeup SELECT_NOW / 9java/nio/channels/Selectorwakeup runjava/io/IOExceptionjava/lang/Throwable=$SwitchMap$com$hazelcast$internal$networking$nio$SelectorMode[I ordinal()I 9selectLoopWithFix R  selectNowLoop R  selectLoop R "java/lang/IllegalArgumentExceptionSelector.select mode not set, use -Dhazelcast.io.selectorMode={select|selectnow|selectwithfix} to explicitly specify select mode or leave empty for default select mode. Ninc s Xjava/lang/StringBuilder SgetName()Ljava/lang/String; append-(Ljava/lang/String;)Ljava/lang/StringBuilder;  toString com/hazelcast/logging/ILoggerwarning*(Ljava/lang/String;Ljava/lang/Throwable;)V coolDown R  closeSelector R 5com/hazelcast/internal/networking/ChannelErrorHandleronErrorC(Lcom/hazelcast/internal/networking/Channel;Ljava/lang/Throwable;)V  finishedfinest M nonFatalExceptionLjava/io/IOException;eLjava/lang/Throwable;java/lang/InterruptedExceptionsleep(J)V  interrupt R i Ljava/lang/InterruptedException; 34 processTaskQueue()Z  select(J)I  processSelectionKeys R  selectedKeysisEmpty   selectorBugDetected(I)Z  rebuildSelector R selectTimeTakenbefore idleCount    java/util/RandomnextInt(I)I    selectNow " #*com/hazelcast/util/concurrent/IdleStrategy%idle(J)Z '( &)tasksProcessed idleRoundpoll()Ljava/lang/Object; -. /java/lang/Runnable1 R 23()Ljava/util/Set;  5 6 java/util/Set8iterator()Ljava/util/Iterator; :; 9<java/util/Iterator>hasNext @ ?Anext C. ?Djava/nio/channels/SelectionKeyFremove HR ?IprocessSelectionKey#(Ljava/nio/channels/SelectionKey;)V KL Msk Ljava/nio/channels/SelectionKey;it6Ljava/util/Iterator;Ljava/util/Iterator; attachment T. GU1com/hazelcast/internal/networking/nio/NioPipelineWisValid Y GZ'java/nio/channels/CancelledKeyException\ ]Sprocess _R X`(Ljava/lang/Throwable;)V b Xctpipeline3Lcom/hazelcast/internal/networking/nio/NioPipeline;java/lang/ExceptionhisFinestEnabled j kClosing selector for:mclose oR pFailed to close selectorr tLjava/lang/Exception;shutdownclear xR y(java/nio/channels/ClosedChannelException{keys }5 ~channel'()Ljava/nio/channels/SelectableChannel;  G interestOps  G#java/nio/channels/SelectableChannelregisterQ(Ljava/nio/channels/Selector;ILjava/lang/Object;)Ljava/nio/channels/SelectionKey;  setSelectionKey L X>Channel was closed while trying to register with new selector.info M !com/hazelcast/util/EmptyStatementignore b cancel R G>Recreated Selector because of possible java/network stack bug. M opsnewSelectionKey*Ljava/nio/channels/ClosedChannelException;)Ljava/nio/channels/CancelledKeyException;%Ljava/nio/channels/SelectableChannel;key oldSelector$hazelcast.io.select.wait.time.millisjava/lang/Integer getInteger((Ljava/lang/String;I)Ljava/lang/Integer;  intValue   S%hazelcast.io.selector.bug.probability16 getProperty8(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;  parseInt(Ljava/lang/String;)I   ConstantValueRuntimeVisibleAnnotations SignatureCodeLineNumberTableLocalVariableTable StackMapTable ExceptionsLocalVariableTypeTable InnerClasses SourceFile!      se@ e@ e@ e@ e ! s"#$%$&$'$()*+,-./01B2B345467X *+,-<? m n* @A BC () ,-6=p*+,-,IL uv>@ABC(),-./016JN*+O*QYTV*\^*\`*\b*\d*,f*h*-j*l*n*pF~LNOPQRS%U&V,17<BGMHN@ANBCN()N,-N./N*+N01qr>*n @A54s/*u @As/*w @As/*y @Azs/*| @A#s2*^ @A&s2*b @A/*l @As2*^ @As7 *e   @AD *V+W   @A g*V+W*h *lW @AR*h.. '*** Y:L*`X*fY*ȶζ+Ѷ̶+*ۧ*ާL*j+*ާ M*,*fY*ȶ̶ҹCF}} # B6FRb$(+/269CFGOvz} G3 @ARhL* I    @AR{$**W*l<*   # $@ARi<*b*WA*l6 <* ;*V <* e7 `<* *<*@F  "#$$%&&-'9(>+E,W._/c0e3h44E SF i@Ag h  *n!@787 @A  RH @*A*>*l$6 * @" @*p a@*p*W":<= >@BC D%E)F.G5H9IDKGL*6+4- H@AF,2<***V02M,,4*bX<2* OP QRSU#V+W-X0Y 2@A0+4R6**l7=L+B+EGM+J*,N ? "]^_`'a-b2c5d ' OP6@A"QS "QRKL-+VXM+[ ]Y^*^X,a N,-d#& XN& gikpq#t&r's,u*'e-@A-OP%fgRE*fl#*fYn*ȶ̶ҹ*lqL*fs+u,36i,Ii x y,}36~7D7 vE@AwRI**Vz* @AR *dX*fIL*lM,=N-B\-EG:VX::6+::*f :**+l*fD^a|D^r]B?A?GX|P]V3=DKW^acorty~f K WPc t=AfgD:3KP@AF++/*Ȱ @ARU)Y128:;":