All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.groupbyinc.flux.cluster.routing.allocation.decider.DiskThresholdDecider.class Maven / Gradle / Ivy

There is a newer version: 59
Show newest version
????3hKcom/groupbyinc/flux/cluster/routing/allocation/decider/DiskThresholdDeciderHcom/groupbyinc/flux/cluster/routing/allocation/decider/AllocationDeciderDiskThresholdDecider.javaXcom/groupbyinc/flux/cluster/routing/allocation/decider/DiskThresholdDecider$DiskListenerDiskListenerYcom/groupbyinc/flux/cluster/routing/allocation/decider/DiskThresholdDecider$ApplySettings	
ApplySettings>com/groupbyinc/flux/node/settings/NodeSettingsService$Listener5com/groupbyinc/flux/node/settings/NodeSettingsServiceListener7com/groupbyinc/flux/cluster/ClusterInfoService$Listener.com/groupbyinc/flux/cluster/ClusterInfoServiceNAMELjava/lang/String;disk_thresholdfreeDiskThresholdLowLjava/lang/Double;freeDiskThresholdHighfreeBytesThresholdLow/Lcom/groupbyinc/flux/common/unit/ByteSizeValue;freeBytesThresholdHighincludeRelocationsZenabledrerouteInterval+Lcom/groupbyinc/flux/common/unit/TimeValue;1CLUSTER_ROUTING_ALLOCATION_DISK_THRESHOLD_ENABLED1cluster.routing.allocation.disk.threshold_enabled%-CLUSTER_ROUTING_ALLOCATION_LOW_DISK_WATERMARK-cluster.routing.allocation.disk.watermark.low(.CLUSTER_ROUTING_ALLOCATION_HIGH_DISK_WATERMARK.cluster.routing.allocation.disk.watermark.high+.CLUSTER_ROUTING_ALLOCATION_INCLUDE_RELOCATIONS3cluster.routing.allocation.disk.include_relocations.+CLUSTER_ROUTING_ALLOCATION_REROUTE_INTERVAL0cluster.routing.allocation.disk.reroute_interval11(Lcom/groupbyinc/flux/common/settings/Settings;)V34
53com/groupbyinc/flux/cluster/EmptyClusterInfoService7INSTANCE5Lcom/groupbyinc/flux/cluster/EmptyClusterInfoService;9:	8;?(Lcom/groupbyinc/flux/common/settings/Settings;Lcom/groupbyinc/flux/node/settings/NodeSettingsService;Lcom/groupbyinc/flux/cluster/ClusterInfoService;Lcom/groupbyinc/flux/client/Client;)V3=
>thisMLcom/groupbyinc/flux/cluster/routing/allocation/decider/DiskThresholdDecider;settings.Lcom/groupbyinc/flux/common/settings/Settings;*Lcom/groupbyinc/flux/common/inject/Inject;
585%F,com/groupbyinc/flux/common/settings/SettingsHget8(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;JK
IL90%NvalidWatermarkSetting'(Ljava/lang/String;Ljava/lang/String;)ZPQ
R/com/groupbyinc/flux/ElasticsearchParseExceptionT"unable to parse low watermark [{}]Vjava/lang/ObjectX((Ljava/lang/String;[Ljava/lang/Object;)V3Z
U[!com/groupbyinc/flux/client/Client]java/lang/String_#unable to parse high watermark [{}]a@Y thresholdPercentageFromWatermark(Ljava/lang/String;)Def
gjava/lang/DoubleivalueOf(D)Ljava/lang/Double;kl
jm	o	qthresholdBytesFromWatermarkU(Ljava/lang/String;Ljava/lang/String;)Lcom/groupbyinc/flux/common/unit/ByteSizeValue;st
u	w	yjava/lang/Boolean{(Z)Ljava/lang/Boolean;k}
|~getAsBoolean:(Ljava/lang/String;Ljava/lang/Boolean;)Ljava/lang/Boolean;??
I?booleanValue()Z??
|? 	?<)com/groupbyinc/flux/common/unit/TimeValue?timeValueSeconds.(J)Lcom/groupbyinc/flux/common/unit/TimeValue;??
??	getAsTimej(Ljava/lang/String;Lcom/groupbyinc/flux/common/unit/TimeValue;)Lcom/groupbyinc/flux/common/unit/TimeValue;??
I?"#	?! 	?P(Lcom/groupbyinc/flux/cluster/routing/allocation/decider/DiskThresholdDecider;)V3?

?addListenerC(Lcom/groupbyinc/flux/node/settings/NodeSettingsService$Listener;)V??
?s(Lcom/groupbyinc/flux/cluster/routing/allocation/decider/DiskThresholdDecider;Lcom/groupbyinc/flux/client/Client;)V3?
?<(Lcom/groupbyinc/flux/cluster/ClusterInfoService$Listener;)V???nodeSettingsService7Lcom/groupbyinc/flux/node/settings/NodeSettingsService;infoService0Lcom/groupbyinc/flux/cluster/ClusterInfoService;client#Lcom/groupbyinc/flux/client/Client;lowWatermark
highWatermarknewApplySettings]()Lcom/groupbyinc/flux/cluster/routing/allocation/decider/DiskThresholdDecider$ApplySettings;getFreeDiskThresholdLow()Ljava/lang/Double;getFreeDiskThresholdHighgetUsedDiskThresholdLowdoubleValue()D??
j?getUsedDiskThresholdHighgetFreeBytesThresholdLow1()Lcom/groupbyinc/flux/common/unit/ByteSizeValue;getFreeBytesThresholdHighisIncludeRelocations	isEnabledgetRerouteInterval-()Lcom/groupbyinc/flux/common/unit/TimeValue;sizeOfRelocatingShardsp(Lcom/groupbyinc/flux/cluster/routing/RoutingNode;Lcom/groupbyinc/flux/cluster/ClusterInfo;ZLjava/lang/String;)J5com/groupbyinc/flux/cluster/routing/ShardRoutingState?
RELOCATING7Lcom/groupbyinc/flux/cluster/routing/ShardRoutingState;??	??INITIALIZING??	??/com/groupbyinc/flux/cluster/routing/RoutingNode?shardsWithStateJ([Lcom/groupbyinc/flux/cluster/routing/ShardRoutingState;)Ljava/util/List;??
??java/util/List?iterator()Ljava/util/Iterator;????java/util/Iterator?hasNext????next()Ljava/lang/Object;????0com/groupbyinc/flux/cluster/routing/ShardRouting?'com/groupbyinc/flux/cluster/ClusterInfo?getDataPathF(Lcom/groupbyinc/flux/cluster/routing/ShardRouting;)Ljava/lang/String;??
??equals(Ljava/lang/Object;)Z??
`?initializing??
??relocatingNodeId()Ljava/lang/String;??
??getShardSize^(Lcom/groupbyinc/flux/cluster/routing/ShardRouting;Lcom/groupbyinc/flux/cluster/ClusterInfo;)J??
?
relocating??
??
actualPathrouting2Lcom/groupbyinc/flux/cluster/routing/ShardRouting;node1Lcom/groupbyinc/flux/cluster/routing/RoutingNode;clusterInfo)Lcom/groupbyinc/flux/cluster/ClusterInfo;subtractShardsMovingAwaydataPath	totalSizeJD(Lcom/groupbyinc/flux/cluster/routing/ShardRouting;)Ljava/lang/Long;?
?java/lang/Long		longValue()J


	shardSizeLjava/lang/Long;canAllocate?(Lcom/groupbyinc/flux/cluster/routing/ShardRouting;Lcom/groupbyinc/flux/cluster/routing/RoutingNode;Lcom/groupbyinc/flux/cluster/routing/allocation/RoutingAllocation;)Lcom/groupbyinc/flux/cluster/routing/allocation/decider/Decision;@com/groupbyinc/flux/cluster/routing/allocation/RoutingAllocation+()Lcom/groupbyinc/flux/cluster/ClusterInfo;
getNodeMostAvailableDiskUsages()Ljava/util/Map;
?earlyTerminate?(Lcom/groupbyinc/flux/cluster/routing/allocation/RoutingAllocation;Ljava/util/Map;)Lcom/groupbyinc/flux/cluster/routing/allocation/decider/Decision;

java/util/Map ?com/groupbyinc/flux/cluster/routing/allocation/decider/Decision"getDiskUsage?(Lcom/groupbyinc/flux/cluster/routing/RoutingNode;Lcom/groupbyinc/flux/cluster/routing/allocation/RoutingAllocation;Ljava/util/Map;)Lcom/groupbyinc/flux/cluster/DiskUsage;$%
&%com/groupbyinc/flux/cluster/DiskUsage(getFreeDiskAsPercentage*?
)+getUsedDiskAsPercentage-?
).getFreeBytes0
)1logger-Lcom/groupbyinc/flux/common/logging/ESLogger;34	5+com/groupbyinc/flux/common/logging/ESLogger7isTraceEnabled9?8:node [{}] has {}% used disk<nodeId>?
??traceAZ8BprimaryD?
?EallocatedPostIndexCreateG?
?H-com/groupbyinc/flux/common/unit/ByteSizeValueJbytesL
KMisDebugEnabledO?8P`less than the required {} free bytes threshold ({} bytes free) on node {}, preventing allocationR(J)Ljava/lang/Long;kT

UdebugWZ8XNOALcom/groupbyinc/flux/cluster/routing/allocation/decider/Decision;Z[	#\0less than required [%s] free on node, free: [%s]^(J)V3`
Kadecision?(Lcom/groupbyinc/flux/cluster/routing/allocation/decider/Decision;Ljava/lang/String;Ljava/lang/String;[Ljava/lang/Object;)Lcom/groupbyinc/flux/cluster/routing/allocation/decider/Decision;cd
e?less than the required {} free bytes threshold ({} bytes free) on node {}, but allowing allocation because primary has never been allocatedgYESi[	#j'primary has never been allocated beforel?less than the required {} free bytes threshold ({} bytes free) on node {}, preventing allocation even though primary has never been allocatednZmore than the allowed {} used disk threshold ({} used) on node [{}], preventing allocationp%r"com/groupbyinc/flux/common/Stringstformat1Decimals'(DLjava/lang/String;)Ljava/lang/String;vw
ux8more than allowed [%s%%] used disk on node, free: [%s%%]z?more than the allowed {} used disk threshold ({} used) on node [{}], but allowing allocation because primary has never been allocated|$freeDiskPercentageAfterShardAssigned:(Lcom/groupbyinc/flux/cluster/DiskUsage;Ljava/lang/Long;)D~
?|after allocating, node [{}] would have less than the required {} free bytes threshold ({} bytes free), preventing allocation?warn?Z8?Aafter allocation less than required [%s] free on node, free: [%s]?tafter allocating, node [{}] would have more than the allowed {} free disk threshold ({} free), preventing allocation?Iafter allocation more than allowed [%s%%] used disk on node, free: [%s%%]?)enough disk for shard on node, free: [%s]?shardRouting
allocationBLcom/groupbyinc/flux/cluster/routing/allocation/RoutingAllocation;usagesJLjava/util/Map;Ljava/util/Map;usedDiskThresholdLowDusedDiskThresholdHighusage'Lcom/groupbyinc/flux/cluster/DiskUsage;freeDiskPercentageusedDiskPercentage	freeBytesprimaryHasBeenAllocatedfreeSpaceAfterShardfreeBytesAfterShard	canRemain
currentNodeId??
??"java/lang/IllegalArgumentException?java/lang/StringBuilder?()V3?
??Shard [?append-(Ljava/lang/String;)Ljava/lang/StringBuilder;??
??-(Ljava/lang/Object;)Ljava/lang/StringBuilder;??
??] is not allocated on node: [?]?toString??
??(Ljava/lang/String;)V3?
??getNodeLeastAvailableDiskUsages?
??&node [{}] has {}% free disk ({} bytes)?getPath??
)?0shard is not allocated on the most utilized disk?^less than the required {} free bytes threshold ({} bytes free) on node {}, shard cannot remain?Yless than the required {}% free disk threshold ({}% free) on node {}, shard cannot remain?Jafter allocation less than required [%s%%] free disk on node, free: [%s%%]?3enough disk for shard to remain on node, free: [%s]?&(Ljava/lang/Object;)Ljava/lang/Object;J?!?averageUsagei(Lcom/groupbyinc/flux/cluster/routing/RoutingNode;Ljava/util/Map;)Lcom/groupbyinc/flux/cluster/DiskUsage;??
?iunable to determine disk usage for {}, defaulting to average across nodes [{} total] [{} free] [{}% free]?
getTotalBytes?
)???
?2()Lcom/groupbyinc/flux/cluster/node/DiscoveryNode;??
??.com/groupbyinc/flux/cluster/node/DiscoveryNode?name??
??;(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;JJ)V3?
)?usage without relocations: {}?%usage with relocations: [{} bytes] {}?relocatingShardsSizeusageIncludingRelocationssize()I??!?_na_?values()Ljava/util/Collection;??!?java/util/Collection???du
totalBytes	getNodeId??
)?getNodeName?
)newUsage*com/groupbyinc/flux/common/unit/RatioValueparseRatioValue@(Ljava/lang/String;)Lcom/groupbyinc/flux/common/unit/RatioValue;
	getAsPercent?
ex1Lcom/groupbyinc/flux/ElasticsearchParseException;	watermarkparseBytesSizeValuet
K0bsettingNameedisk threshold decider disablednodes3()Lcom/groupbyinc/flux/cluster/node/DiscoveryNodes;
/com/groupbyinc/flux/cluster/node/DiscoveryNodes	dataNodes7()Lcom/groupbyinc/flux/common/collect/ImmutableOpenMap; !
"3com/groupbyinc/flux/common/collect/ImmutableOpenMap$
%?7only a single data node is present, allowing allocation'"only a single data node is present)Icluster info unavailable for disk threshold decider, allowing allocation.+cluster info unavailable-isEmpty/?!0Nunable to determine disk usages for disk-aware allocation, allowing allocation2disk usages unavailable4
access$000P(Lcom/groupbyinc/flux/cluster/routing/allocation/decider/DiskThresholdDecider;)Zx0
access$100|(Lcom/groupbyinc/flux/cluster/routing/allocation/decider/DiskThresholdDecider;)Lcom/groupbyinc/flux/common/logging/ESLogger;
access$002Q(Lcom/groupbyinc/flux/cluster/routing/allocation/decider/DiskThresholdDecider;Z)Zx1
access$200
access$300
access$202
access$400
access$502s(Lcom/groupbyinc/flux/cluster/routing/allocation/decider/DiskThresholdDecider;Ljava/lang/Double;)Ljava/lang/Double;
access$602?(Lcom/groupbyinc/flux/cluster/routing/allocation/decider/DiskThresholdDecider;Lcom/groupbyinc/flux/common/unit/ByteSizeValue;)Lcom/groupbyinc/flux/common/unit/ByteSizeValue;
access$700
access$802
access$902access$1000access$1102?(Lcom/groupbyinc/flux/cluster/routing/allocation/decider/DiskThresholdDecider;Lcom/groupbyinc/flux/common/unit/TimeValue;)Lcom/groupbyinc/flux/common/unit/TimeValue;
access$900~(Lcom/groupbyinc/flux/cluster/routing/allocation/decider/DiskThresholdDecider;)Lcom/groupbyinc/flux/common/unit/ByteSizeValue;access$1200
access$600access$1300
access$800a(Lcom/groupbyinc/flux/cluster/routing/allocation/decider/DiskThresholdDecider;)Ljava/lang/Double;access$1400
access$500access$1500access$1100z(Lcom/groupbyinc/flux/cluster/routing/allocation/decider/DiskThresholdDecider;)Lcom/groupbyinc/flux/common/unit/TimeValue;access$1600access$1700access$1800
ConstantValueCodeLocalVariableTableLineNumberTable
StackMapTableRuntimeVisibleAnnotationsLocalVariableTypeTable	Signature?(Lcom/groupbyinc/flux/cluster/routing/RoutingNode;Lcom/groupbyinc/flux/cluster/routing/allocation/RoutingAllocation;Ljava/util/Map;)Lcom/groupbyinc/flux/cluster/DiskUsage;?(Lcom/groupbyinc/flux/cluster/routing/RoutingNode;Ljava/util/Map;)Lcom/groupbyinc/flux/cluster/DiskUsage;?(Lcom/groupbyinc/flux/cluster/routing/allocation/RoutingAllocation;Ljava/util/Map;)Lcom/groupbyinc/flux/cluster/routing/allocation/decider/Decision;
SourceFileInnerClasses!
[BBBBB B! B"#$[&'[)*[,-[/0[2134\J*+?Y+?6?<???]@ABC^
??3=\??*+?E+)G?M:+,O?M:*)?S??UYW?YYS?\?*,?S??UYb?YYS?\?*c*?hg?n?p*c*?hg?n?r**)?v?x**,?v?z*+/???????*+2???????*+&???????,?
Y*????-?Y*?????]H?@A?BC?????????????^F????$?7?B?U?f?w?????????????_?7I^```D??\3	?
Y*???]	@A^??\/*?p?]@A^
??\/*?r?]@A^??\9c*?p??g?n?]@A^??\9c*?r??g?n?]@A^??\/*?x?]@A^??\/*?z?]@A^#??\/*???]@A^(??\/*???]@A^-??\/*???]@A^2	??\(	?	7*??Y??SY??S?ѹ?:???X????:+??:-??8?????+??a7?????+??e7????]H<>?4F??????? ?}^*
=>4?<@EAUBcCoDzG}H_???D?`????\e+*?M,?	?,??] ??
^
LM_
?
C\(?-?:?:*-?:??c*?p??g9c*?r??g9	*,-?':?,9?/9?27*?6?;?"*?6=?YY,?@SY?nS?C+?F?+?I??6*?x?N??+?F?+?F?^?Y*?6?Q?)*?6S?YY*?xSY?VSY,?@S?Y-?]_?YY*?xSY?KY?bS?f?*?z?N??F*?6?Q?)*?6h?YY*?xSY?VSY,?@S?Y-?km?Y?f?*?6?Q?)*?6o?YY*?zSY?VSY,?@S?Y-?]_?YY*?zSY?KY?bS?f?*?p????&+?F?+?F?b?]*?6?Q?0*?6q?YYs?ySYs?ySY,?@S?Y-?]{?YY?nSY?nS?f?*?r????M*?6?Q?0*?6}?YYs?ySYs?ySY,?@S?Y-?km?Y?f?*?6?Q?5*?6o?YY*?r??s?ySYs?ySY,?@S?Y-?]{?YY	?nSY?nS?f?+-???7*?V??9e7*?z?N??M*?6??YY,?@SY*?zSY?VS??-?]??YY*?xSY?KY?bS?f?*?r????V*?6??YY,?@SY*?r??s?ySYs?yS??-?]??YY?nSY?nS?f?-?k??YY?KY?bS?f?]??@A??????????
????c[+???8???	B???I???P???W~??>? ????????a
???^&IRS
TUVY+Z8\B^I`PaWbcc?g?j?l?m?n?o?n?q
sv&w<yGwL{]i?????????????????????)?-?:?F?X?c?n?s??????????????????????????/?4?X?e?s???????????_Q??!#?c
???!#)@?!1#>1#8 ?E= ?t?_?\
?+??,?@??2??Y??Y?????+?????,?@??????????-?:??:*-?:??*,-?':+??:?,9	?27*?6?;?**?6??YY,?@SY	?nSY?VS?C?????-?k??Y?f?*?z?N??Y*?6?Q?)*?6??YY*?zSY?VSY,?@S?Y-?]??YY*?zSY?KY?bS?f?	*?r????U*?6?Q?)*?6??YY*?rSY	?nSY,?@S?Y-?]??YY*?rSY	?nS?f?-?k??YY?KY?bS?f?]p?@A?????????CmJf??S]c[eK??mCt<??	{5?aJf??^z??=?C?J?S?X?[?e?m?t?{????????????????4?A?M?c?n?s???????_9	=??!#?R???!#)`>#>$%\?	?,?:-+?@???):?O*+-??:*?6?Q?;*?6??YY+?@SY?۸VSY?2?VSY?,?nS?Y*???y+?Ÿ?7?)Y+?@+????????2e??:*?6?;?5*?6??YYS?C*?6??YY?VSYS?C:?]R{h??B???@A?????????????a???^F????"?.?<?a?f?m?{???????????_?f?)?x)?bc??\)	?,????)Y+?@+????		??	B	7,????:???$???):!??aB?2a7??ػ)Y+?@+????!,???m,???m??]>I???@A??????#d?&a?a???^&	
	!#&IQ[^_!???*bd~\?6,?	?,??VM?)Y+?+?+??+??+?2,?e??N-?,?]*6@A6??61?^!"!#1$_Cef\g
+?
?
?Mc?U] 	
@A
^-.	0_HUst\s+,??N,??U]*@A^:;=_FUPQ\?+?
W?N+,?W?:?UU]4@A^GHIKLMN_GU?``UU\k?*???+?k?Y?f?+??#?&?0*?6?;?*?6(?Y?C+?k*?Y?f?+?N-?0*?6?;?*?6,?Y?C+?k.?Y?f?,?1?0*?6?;?*?63?Y?C+?k5?Y?f??]*?@A??????Xia???^BUVZ&[2\B^SbXc\dhexg?k?l?m?o?q_)?$?$be67\/*???]8A^C9:\/*?6?]8A^C;<\;*Z???]8A= ^C>7\/*???]8A^C?:\/*?6?]8A^C@<\;*Z???]8A= ^CA:\/*?6?]8A^CBC\;*+Z?p?]8A=^CDE\;*+Z?x?]8A=^CF:\/*?6?]8A^CGC\;*+Z?r?]8A=^CHE\;*+Z?z?]8A=^CI:\/*?6?]8A^CJK\;*+Z???]8A=#^CLM\/*?z?]8A^CN:\/*?6?]8A^COM\/*?x?]8A^CP:\/*?6?]8A^CQR\/*?r?]8A^CS:\/*?6?]8A^CTR\/*?p?]8A^CU:\/*?6?]8A^CVW\/*???]8A^CX:\/*?6?]8A^CY:\/*?6?]8A^CZ:\/*?6?]8A^Cfg"

		




© 2015 - 2025 Weber Informatics LLC | Privacy Policy