4Acom/hazelcast/internal/partition/impl/PartitionStateGeneratorImpljava/lang/Object8com/hazelcast/internal/partition/PartitionStateGenerator PartitionStateGeneratorImpl.javaCcom/hazelcast/internal/partition/impl/PartitionStateGeneratorImpl$1Pcom/hazelcast/internal/partition/impl/PartitionStateGeneratorImpl$PartitionTable PartitionTableQcom/hazelcast/internal/partition/impl/PartitionStateGeneratorImpl$SingleNodeGroup SingleNodeGroupRcom/hazelcast/internal/partition/impl/PartitionStateGeneratorImpl$DefaultNodeGroupDefaultNodeGroupKcom/hazelcast/internal/partition/impl/PartitionStateGeneratorImpl$NodeGroup NodeGroupLOGGERLcom/hazelcast/logging/ILogger;DEFAULT_RETRY_MULTIPLIERI RANGE_CHECK_RATIOF?MAX_RETRY_COUNTAGGRESSIVE_RETRY_THRESHOLDAGGRESSIVE_INDEX_THRESHOLDMIN_AVG_OWNER_DIFF$assertionsDisabledZ()V &' (thisCLcom/hazelcast/internal/partition/impl/PartitionStateGeneratorImpl;arrange(Ljava/util/Collection;[Lcom/hazelcast/internal/partition/InternalPartition;)[[Lcom/hazelcast/internal/partition/PartitionReplica;(Ljava/util/Collection;[Lcom/hazelcast/internal/partition/InternalPartition;)[[Lcom/hazelcast/internal/partition/PartitionReplica;(Ljava/util/Collection;[Lcom/hazelcast/internal/partition/InternalPartition;Ljava/util/Collection;)[[Lcom/hazelcast/internal/partition/PartitionReplica; ,/ 0 memberGroupsILjava/util/Collection;Ljava/util/Collection; currentState5[Lcom/hazelcast/internal/partition/InternalPartition;(Ljava/util/Collection;[Lcom/hazelcast/internal/partition/InternalPartition;Ljava/util/Collection;)[[Lcom/hazelcast/internal/partition/PartitionReplica;createNodeGroups)(Ljava/util/Collection;)Ljava/util/Queue; 89 :java/util/Queue<isEmpty()Z >? =@5[[Lcom/hazelcast/internal/partition/PartitionReplica;B initialize([Lcom/hazelcast/internal/partition/InternalPartition;[[Lcom/hazelcast/internal/partition/PartitionReplica;Ljava/util/Collection;)V DE F tryArrangea([[Lcom/hazelcast/internal/partition/PartitionReplica;Ljava/util/Queue;IZLjava/util/Collection;)V HI J  Lcom/hazelcast/logging/ILoggerN isFineEnabled P? OQjava/lang/StringBuilderS T((Re-trying partition arrangement. Count: Vappend-(Ljava/lang/String;)Ljava/lang/StringBuilder; XY TZ(I)Ljava/lang/StringBuilder; X\ T]toString()Ljava/lang/String; _` Tafine(Ljava/lang/String;)V cd OeareGroupsBalanced(Ljava/util/Collection;I)Z gh i aggressive partitions+Ljava/util/Collection;groups`Ljava/util/Queue;Ljava/util/Queue;partitionCountstatetryCount([Lcom/hazelcast/internal/partition/InternalPartition;[[Lcom/hazelcast/internal/partition/PartitionReplica;Ljava/util/Collection;)V6java/util/Collectionv2com/hazelcast/internal/partition/InternalPartitionx4[Lcom/hazelcast/internal/partition/PartitionReplica;z getReplica6(I)Lcom/hazelcast/internal/partition/PartitionReplica; |} y~java/lang/IntegervalueOf(I)Ljava/lang/Integer; contains(Ljava/lang/Object;)Z windexkp4Lcom/hazelcast/internal/partition/InternalPartition;replicasemptymaxReplicaIndex partitionId([[Lcom/hazelcast/internal/partition/PartitionReplica;Ljava/util/Queue;IZLjava/util/Collection;)Vsize()I =java/lang/Mathmin(II)I initializeGroupPartitions I getUnownedPartitionsI([[Lcom/hazelcast/internal/partition/PartitionReplica;I)Ljava/util/Queue;  retainAll(Ljava/util/Collection;)Z =java/util/LinkedList (iterator()Ljava/util/Iterator; =java/util/Listjava/util/IteratorhasNext ? next()Ljava/lang/Object; getPartitionCount(I)I add =  tryToDistributeUnownedPartitions((Ljava/util/Queue;Ljava/util/Queue;III)I distributeUnownedPartitions&(Ljava/util/Queue;Ljava/util/Queue;I)V  $% java/lang/AssertionError$There are partitions not-owned yet: -(Ljava/lang/Object;)Ljava/lang/StringBuilder; X T(Ljava/lang/Object;)V & transferPartitionsBetweenGroups-(Ljava/util/Queue;Ljava/util/Collection;III)V updatePartitionStateO([[Lcom/hazelcast/internal/partition/PartitionReplica;Ljava/util/Collection;I)V  nodeGroupMLcom/hazelcast/internal/partition/impl/PartitionStateGeneratorImpl$NodeGroup;freePartitions&Ljava/util/Queue;underLoadedGroupsoverLoadedGroups_Ljava/util/List;Ljava/util/List;plusOneGroupCounttoBeArrangedPartitions groupSize replicaCountavgPartitionPerGroup(Ljava/util/Queue;Ljava/util/Collection;III)V wpoll = wselectToGroupPartitions(IILcom/hazelcast/internal/partition/impl/PartitionStateGeneratorImpl$NodeGroup;Lcom/hazelcast/internal/partition/impl/PartitionStateGeneratorImpl$NodeGroup;)V remove ' offer = fromGroup fromCounttoCounttoGroupoverLoadedGroupsIteratorcLjava/util/Iterator;Ljava/util/Iterator;eLjava/util/Collection;maxPartitionPerGroupmaxTriestriesexpectedPartitionCountgetPartitionsIterator(I)Ljava/util/Iterator;    addPartition(ILjava/lang/Integer;)Z    Ljava/lang/Integer;partitionsIterator)Ljava/util/Iterator;([[Lcom/hazelcast/internal/partition/PartitionReplica;Ljava/util/Collection;I)VpostProcessPartitionTable(I)V   getReplicas()Ljava/util/Set;   java/util/Set 1com/hazelcast/internal/partition/PartitionReplicagetPartitionTable(Lcom/hazelcast/internal/partition/PartitionReplica;)Lcom/hazelcast/internal/partition/impl/PartitionStateGeneratorImpl$PartitionTable;  ! " getPartitions(I)Ljava/util/Set; $% &intValue ( )tableRLcom/hazelcast/internal/partition/impl/PartitionStateGeneratorImpl$PartitionTable;set$Ljava/util/Set;Ljava/util/Set;replica3Lcom/hazelcast/internal/partition/PartitionReplica;group(Ljava/util/Queue;Ljava/util/Queue;I)V(Ljava/util/Queue;Ljava/util/Queue;III)IassignFreePartitionsToNodeGroupb(Ljava/util/Queue;ILcom/hazelcast/internal/partition/impl/PartitionStateGeneratorImpl$NodeGroup;)V 56 7 underLoadedcountw(Ljava/util/Queue;ILcom/hazelcast/internal/partition/impl/PartitionStateGeneratorImpl$NodeGroup;)Vi^([[Lcom/hazelcast/internal/partition/PartitionReplica;I)Ljava/util/Queue; java/util/Collections?shuffle(Ljava/util/List;)V AB @C replicaIndex+Ljava/util/LinkedList;Ljava/util/LinkedList;resetPartitions H' IpartitionOwnerAvailableI(Ljava/util/Queue;IILcom/hazelcast/internal/partition/PartitionReplica;)Z KL Mownervalid(Ljava/util/Queue;IILcom/hazelcast/internal/partition/PartitionReplica;)ZhasNode6(Lcom/hazelcast/internal/partition/PartitionReplica;)Z RS T ownPartitionJ(Lcom/hazelcast/internal/partition/PartitionReplica;ILjava/lang/Integer;)Z VW X(Ljava/util/Collection;)Ljava/util/Queue; w@/com/hazelcast/partition/membergroup/MemberGroup\ ]5com/hazelcast/partition/membergroup/SingleMemberGroup_H(Lcom/hazelcast/internal/partition/impl/PartitionStateGeneratorImpl$1;)V &a b ]com/hazelcast/core/MemberefromP(Lcom/hazelcast/core/Member;)Lcom/hazelcast/internal/partition/PartitionReplica; gh iaddNode6(Lcom/hazelcast/internal/partition/PartitionReplica;)V kl m bLcom/hazelcast/core/Member;iter1Ljava/util/Iterator; memberGroup1Lcom/hazelcast/partition/membergroup/MemberGroup; nodeGroupsi(Ljava/util/Collection;I)Zabs w xNot well balanced! Replica: z, PartitionCount: |, AvgPartitionCount: ~partitionCountOfGroupratio access$300!()Lcom/hazelcast/logging/ILogger;java/lang/ClassdesiredAssertionStatus ? com/hazelcast/logging/Logger getLogger2(Ljava/lang/Class;)Lcom/hazelcast/logging/ILogger;   ConstantValueCodeLineNumberTableLocalVariableTableLocalVariableTypeTable Signature StackMapTable InnerClasses SourceFile0 !"#$%&'/*)' *+,-X*+,15 *+2456 23.,/{ *+;:AC,6C:*,-G66*-K*MRMTYUW[^bf*j=C @=:=>?BC$D,F/H<IIJQK\LxOQ\ <<k%*+2456l4nprq$hrB/]s 23lmno7DE@ +66+2:,2:66  )  S 2~6 f--Q6 6  C 25 6   * 2  2S S d6 Մ On  uCwy{b uCwy{'uCwbUWXYZ\']5^G\Madbgfkguh}ijklmnigWt - . nG z%kJ *+56rBl4q lmtHI",66l6*+,6  *+ :   WY: Y: hd6 ,:B: 6 W  W*    6  A *,  ɲ˚) AYTYU϶[ Ҷbտ*    *+, ݄ o & C=w="C=w==4"+ C=wnyz{#-6;ENW`~!%~06p Np W ` & "*+"rB"np"q"k%"4 46 No W "no"m^`6+,h h666 +A+: ,:  y : *    6  6     66    + WD+ %A%B ! n)<GOYepzeg zR "G O *+p4)  O oN :<0-%:-   ?& "+7CJMH7N*+NNNN D  D ,:::R:#:':  :   : + *2Sߧ{W+1 Cw #Cw. &JU]|\ |  U5+,]--/ J@01o2*+rBn4]--. nI c+6,h h66,:<2+:,:+Wű"$==1 . $3>KV_b\ >!2c*+cnpcpc[MJ$?cnoc3 `6,+h66,A+A+: *, 8 6 F ?R+:  "  ڧ     + WbV( J3>G R ^ fnxz n)9 >w2 Rc: *+pp n)9 o4569+66)+:-+Wֱ  , !")#2 8(H -<9*+9p9921 9;5YN6+ +2:2 ->W-D-  "+-./0)-/334>z $5*+5rB5E-G -F=I ,::J6++2:6v Sa2: 6  *, N6  S72,6   S s- { ^:;%<(=2>8@BAHBNCQFXG[H`ImKrL{MNOPO@=U < XWO1 [TP% ;zE8}z+*+rBnpk%4nomKLB+:1:UY 4XY*Z;[=_@`>B*+BnpBBEBO1 BnoQ89»YM+ +[,+N--]:^`^-Yc:df:jn;Yo:d:f:jn,Wa,& = ])$ Rdefi2k<l?nRo\pmqyr|stuvwxz{|\ m p\  p%q72st*+24up %qr23uoZgh F+l6+6+::6{6  dy[ %n %jCMR6MTYU{[^}[ ^[^bfh,"w => 8BMY\t\ Mg ;<82*+n4q  nvM''@M @ ')*