Jon Haddad created CASSANDRA-20230:
--------------------------------------
Summary: vnode algorithm occasionally generates imbalanced rings
Key: CASSANDRA-20230
URL: https://issues.apache.org/jira/browse/CASSANDRA-20230
Project: Apache Cassandra
Issue Type: Bug
Reporter: Jon Haddad
Attachments: ring.txt
Generally, the deterministic vnode algorithm seems to make OK decisions, but
I've been working on a cluster where the tokens it's generated look like
they're not much better than random. I've verified
`allocate_tokens_for_local_replication_factor=3` was used when the nodes were
bootstrapped via the logs.
I've parsed the nodetool ring output and added some additional info so it's
obvious where the ranges are imbalanced. I've calculated the range for each
token along with the avg range for each token range in the cluster, and listed
each range size relative to the average as the %. For example:
The node that owns the token -5646866338711190221, that range is only 9.23% of
the average token range in the cluster.
{noformat}
37 10.20.80.11 rack-b -5646866338711190221 9455879439619330
9.23% 347209701613153318 112.93%{noformat}
Looking at the below data, it's obvious that some nodes have way more data
(272622351113636532 266.02%) than they should.
It doesn't look like we're trying to balance the ring by picking tokens that
split the largest ranges, which explains why the most recent node I we added
had less than half of the data as the largest node.
{noformat}
first token:9170886775430075796
Ring tokens:
# Address Rack Token Range
Rack Range
---------------------------------------------------------------------------------------------------------
1 10.20.16.94 rack-a -9223372036854775808 52485261424700012
51.21% 134226759678331788 43.66%
2 10.20.146.47 rack-c -9189547180369111384 33824856485664424
33.01% 244426531911895070 79.5%
3 10.20.84.97 rack-b -9098397575186281096 91149605182830288
88.94% 177459723093194724 57.72%
4 10.20.17.254 rack-a -9044662703355201173 53734871831079923
52.43% 178709333499574635 58.13%
5 10.20.93.76 rack-b -8949214606862506405 95448096492694768
93.14% 149182968323774691 48.52%
6 10.20.149.213 rack-c -8739828963515584556 209385643346921849
204.31% 449718216853526828 146.28%
7 10.20.93.195 rack-b -8682698381181565144 57130582334019412
55.75% 266516225680941261 86.69%
8 10.20.88.117 rack-b -8541994507578267972 140703873603297172
137.3% 140703873603297172 45.77%
9 10.20.21.149 rack-a -8513158149005026369 28836358573241603
28.14% 531504554350174804 172.88%
10 10.20.145.96 rack-c -8353521350819354568 159636798185671801
155.77% 386307612696229988 125.65%
11 10.20.92.129 rack-b -8261404278536710957 92117072282643611
89.89% 280590229041557015 91.26%
12 10.20.26.105 rack-a -8200535838360498152 60868440176212805
59.39% 312622310644528217 101.68%
13 10.20.95.182 rack-b -8021391251878672242 179144586481825910
174.81% 240013026658038715 78.07%
14 10.20.158.149 rack-c -8006311649206201825 15079602672470417
14.71% 347209701613152743 112.93%
15 10.20.21.212 rack-a -7766062938935428803 240248710270773022
234.43% 434472899425069349 141.32%
16 10.20.144.132 rack-c -7739844482128539727 26218456806889076
25.58% 266467167077662098 86.67%
17 10.20.88.17 rack-b -7670800529894427760 69043952234111967
67.37% 350590721984244482 114.03%
18 10.20.30.86 rack-a -7466462004095374782 204338525799052978
199.39% 299600934840054021 97.45%
19 10.20.151.62 rack-c -7426908388950633006 39553615144741776
38.6% 312936093177906721 101.79%
20 10.20.19.95 rack-a -7366859901397320121 60048487553312885
58.59% 99602102698054661 32.4%
21 10.20.92.38 rack-b -7365507018146776908 1352883250543213
1.32% 305293511747650852 99.3%
22 10.20.29.147 rack-a -7227645749564266633 137861268582510275
134.52% 139214151833053488 45.28%
23 10.20.145.3 rack-c -7171605796608455430 56039952955811203
54.68% 255302592342177576 83.04%
24 10.20.80.231 rack-b -7040317985592000803 131287811016454627
128.11% 325189032554776105 105.77%
25 10.20.26.105 rack-a -6981127409214619804 59190576377380999
57.76% 246518340349646829 80.18%
26 10.20.83.58 rack-b -6882252606836285198 98874802378334606
96.48% 158065378755715605 51.41%
27 10.20.158.56 rack-c -6776630009572643883 105622597263641315
103.06% 394975787035811547 128.47%
28 10.20.30.74 rack-a -6648811345754421660 127818663818222223
124.72% 332316063460198144 108.09%
29 10.20.21.121 rack-a -6535221896394566414 113589449359855246
110.84% 113589449359855246 36.95%
30 10.20.151.96 rack-c -6420071778790659373 115150117603907041
112.36% 356558230781984510 115.97%
31 10.20.82.247 rack-b -6357720556701447159 62351222089212214
60.84% 524532050134838039 170.61%
32 10.20.28.103 rack-a -6305056011315416293 52664545386030866
51.39% 230165885079150121 74.86%
33 10.20.158.149 rack-c -6032433660201779761 272622351113636532
266.02% 387638118588879612 126.08%
34 10.20.88.117 rack-b -5994076040324343539 38357619877436222
37.43% 363644516377103620 118.28%
35 10.20.145.96 rack-c -5778229414025526901 215846626298816638
210.62% 254204246176252860 82.68%
36 10.20.26.105 rack-a -5656322218150809551 121907195874717350
118.95% 648733793164606742 211.01%
37 10.20.80.11 rack-b -5646866338711190221 9455879439619330
9.23% 347209701613153318 112.93%
38 10.20.21.149 rack-a -5394494374428312525 252371964282877696
246.26% 261827843722497026 85.16%
39 10.20.93.76 rack-b -5380399171633528006 14095202794784519
13.75% 266467167077662215 86.67%
40 10.20.144.132 rack-c -5227306901031281262 153092270602246744
149.38% 550922512994245639 179.19%
41 10.20.24.172 rack-a -5181175383115792585 46131517915488677
45.01% 213318991312519940 69.38%
42 10.20.93.195 rack-b -5118571327911031275 62604055204761310
61.09% 261827843722496731 85.16%
43 10.20.92.206 rack-b -4962413169712651344 156158158198379931
152.38% 156158158198379931 50.79%
44 10.20.144.255 rack-c -4894990837571083608 67422332141567736
65.79% 332316063460197654 108.09%
45 10.20.19.95 rack-a -4724399575827667401 170591261743416207
166.46% 456775807288125184 148.57%
46 10.20.93.195 rack-b -4683676894619741545 40722681207925856
39.74% 278736275092909799 90.66%
47 10.20.146.47 rack-c -4649179066907635035 34497827712106510
33.66% 245811770663448573 79.95%
48 10.20.16.94 rack-a -4611686018427387905 37493048480247130
36.59% 112713557400279496 36.66%
49 10.20.21.212 rack-a -4409623112414382071 202062906013005834
197.17% 202062906013005834 65.72%
50 10.20.92.38 rack-b -4371054583975213180 38568528439168891
37.63% 312622310644528365 101.68%
51 10.20.144.255 rack-c -4298588344923390323 72466239051822857
70.71% 350590721984244712 114.03%
52 10.20.150.20 rack-c -3993294833175739272 305293511747651051
297.9% 305293511747651051 99.3%
53 10.20.91.254 rack-b -3937594054506566378 55700778669172894
54.35% 433460529468646802 140.99%
54 10.20.29.147 rack-a -3937256674792971232 337379713595146
0.33% 472366437621410839 153.64%
55 10.20.151.62 rack-c -3668105800620963222 269150874172008010
262.63% 325189032554776050 105.77%
56 10.20.84.97 rack-b -3487875837653040055 180229962967923167
175.87% 449718216853526323 146.28%
57 10.20.145.96 rack-c -3435566666045219787 52309171607820268
51.04% 232539134575743435 75.64%
58 10.20.24.172 rack-a -3272020364001133020 163546302044086767
159.59% 665236310791838212 216.38%
59 10.20.30.74 rack-a -3135096996508842591 136923367492290429
133.61% 136923367492290429 44.54%
60 10.20.83.58 rack-b -3063848761308671438 71248235200171153
69.52% 424027076344368617 137.92%
61 10.20.147.229 rack-c -2911034615910381452 152814145398289986
149.11% 524532050134838335 170.61%
62 10.20.26.105 rack-a -2829803484761191279 81231131149190173
79.26% 305293511747651312 99.3%
63 10.20.80.11 rack-b -2696424851207654625 133378633553536654
130.15% 367423910101016813 119.51%
64 10.20.151.96 rack-c -2547390099533278228 149034751674376397
145.43% 363644516377103224 118.28%
65 10.20.17.254 rack-a -2504614452206415750 42775647326862478
41.74% 325189032554775529 105.77%
66 10.20.91.254 rack-b -2322859386475439970 181755065730975780
177.35% 373565464732214655 121.51%
67 10.20.22.103 rack-a -2315699623075219595 7159763400220375
6.99% 188914829131196155 61.45%
68 10.20.144.255 rack-c -2192377191226873342 123322431848346253
120.34% 355012908306404886 115.47%
69 10.20.149.213 rack-c -2056222665366193435 136154525860679907
132.86% 136154525860679907 44.29%
70 10.20.29.147 rack-a -1791167572940380850 265055092425812585
258.64% 524532050134838745 170.61%
71 10.20.93.76 rack-b -1771936873481194892 19230699459185958
18.76% 550922512994245078 179.19%
72 10.20.145.3 rack-c -1719845305934835095 52091567546359797
50.83% 336377359431358340 109.41%
73 10.20.24.172 rack-a -1569784851601295151 150060454333539944
146.43% 221382721339085699 72.01%
74 10.20.21.121 rack-a -1481596503541663932 88188348059631219
86.05% 88188348059631219 28.68%
75 10.20.88.17 rack-b -1439620810020997023 41975693520666909
40.96% 332316063460197869 108.09%
76 10.20.151.62 rack-c -1411320999486545250 28299810534451773
27.61% 308524306448289845 100.35%
77 10.20.147.229 rack-c -1194751819402005368 216569180084539882
211.32% 216569180084539882 70.44%
78 10.20.95.182 rack-b -1138690567005124535 56061252396880833
54.7% 300930243015872488 97.88%
79 10.20.30.74 rack-a -1072510148256874743 66180418748249792
64.58% 409086355284789189 133.06%
80 10.20.29.51 rack-a -936355622396193590 136154525860681153
132.86% 136154525860681153 44.29%
81 10.20.150.58 rack-c -888273494874972566 48082127521221024
46.92% 306478324527032802 99.69%
82 10.20.89.254 rack-b -763548809496363728 124724685378608838
121.7% 375141757508760807 122.02%
83 10.20.148.78 rack-c -695026190728748975 68522618767614753
66.86% 193247304146223591 62.86%
84 10.20.92.206 rack-b -454091375866946019 240934814861802956
235.1% 309457433629417709 100.65%
85 10.20.150.58 rack-c -404151275954123662 49940099912822357
48.73% 290874914774625313 94.61%
86 10.20.17.254 rack-a -333582278939827335 70568997014296327
68.86% 602773343456366255 196.06%
87 10.20.144.132 rack-c -120191231713029034 213391047226798301
208.22% 283960044241094628 92.36%
88 10.20.29.147 rack-a -117013098855287122 3178132857741912
3.1% 216569180084540213 70.44%
89 10.20.16.94 rack-a -2 117013098855287120
114.18% 117013098855287120 38.06%
90 10.20.82.247 rack-b 18275061754464473 18275061754464475
17.83% 472366437621410492 153.64%
91 10.20.30.86 rack-a 189465225671745150 171190163917280677
167.04% 189465225671745152 61.63%
92 10.20.145.96 rack-c 302842028835857714 113376803164112564
110.63% 423033260548886748 137.6%
93 10.20.21.212 rack-a 382712529817969305 79870500982111591
77.94% 193247304146224155 62.86%
94 10.20.95.182 rack-b 401657613055777279 18945083237807974
18.49% 383382551301312806 124.7%
95 10.20.158.149 rack-c 670265938936873543 268608325881096264
262.1% 367423910101015829 119.51%
96 10.20.30.86 rack-a 673587444592594063 3321505655720520
3.24% 290874914774624758 94.61%
97 10.20.92.129 rack-b 692532527830402040 18945083237807977
18.49% 290874914774624761 94.61%
98 10.20.23.199 rack-a 957547488833689288 265014961003287248
258.6% 283960044241095225 92.36%
99 10.20.93.76 rack-b 976492572071497267 18945083237807979
18.49% 283960044241095227 92.36%
100 10.20.148.78 rack-c 976675586628109273 183014556612006
0.18% 306409647691235730 99.66%
101 10.20.22.103 rack-a 1307873573641664077 331197987013554804
323.18% 350326084807974789 113.95%
102 10.20.83.58 rack-b 1312157198425561502 4283624783897425
4.18% 335664626354064235 109.18%
103 10.20.147.229 rack-c 1449042024249520056 136884825823958554
133.57% 472366437621410783 153.64%
104 10.20.24.172 rack-a 1526181194689538001 77139170440017945
75.27% 218307621047873924 71.01%
105 10.20.21.149 rack-a 1598829898146541929 72648703457003928
70.89% 72648703457003928 23.63%
106 10.20.89.254 rack-b 1735616304527059052 136786406380517123
133.47% 423459106101497550 137.73%
107 10.20.29.51 rack-a 1776289621239736865 40673316712677813
39.69% 177459723093194936 57.72%
108 10.20.23.199 rack-a 1925472589563511867 149182968323775002
145.57% 149182968323775002 48.52%
109 10.20.146.47 rack-c 1941821895281165489 16349305717653622
15.95% 492779871031645433 160.28%
110 10.20.92.38 rack-b 2032567080151914406 90745184870748917
88.55% 296950775624855354 96.59%
111 10.20.21.149 rack-a 2191988815244453426 159421735092539020
155.56% 266516225680941559 86.69%
112 10.20.158.56 rack-c 2365281001382663071 173292186138209645
169.1% 423459106101497582 137.73%
113 10.20.88.17 rack-b 2387579988458317163 22298987075654092
21.76% 355012908306402757 115.47%
114 10.20.84.97 rack-b 2523734514318999176 136154525860682013
132.86% 136154525860682013 44.29%
115 10.20.30.86 rack-a 2613282917889306604 89548403570307428
87.38% 421294102644853178 137.03%
116 10.20.150.20 rack-c 2662231777007518448 48948859118211844
47.76% 296950775624855377 96.59%
117 10.20.92.206 rack-b 2846661377600858870 184429600593340422
179.96% 322926863281859694 105.04%
118 10.20.21.121 rack-a 2883076181595991262 36414803995132392
35.53% 269793263706684658 87.75%
119 10.20.144.251 rack-c 2924059620730015183 40983439134023921
39.99% 261827843722496735 85.16%
120 10.20.145.3 rack-c 3180697442048841657 256637821318826474
250.42% 256637821318826474 83.47%
121 10.20.89.254 rack-b 3241637164636670946 60939722587829289
59.46% 394975787035812076 128.47%
122 10.20.29.51 rack-a 3362088047846622951 120450883209952005
117.53% 479011866250631689 155.8%
123 10.20.144.251 rack-c 3471653766553720026 109565718707097075
106.91% 290956324504878369 94.64%
124 10.20.88.117 rack-b 3598195395418656077 126541628864936051
123.48% 356558230781985131 115.97%
125 10.20.149.213 rack-c 3649113489646914674 50918094228258597
49.68% 177459723093194648 57.72%
126 10.20.22.103 rack-a 3792019965987400295 142906476340485621
139.45% 429931918140777344 139.84%
127 10.20.144.132 rack-c 3798296457970688935 6276491983288640
6.12% 149182968323774261 48.52%
128 10.20.80.11 rack-b 3985833514007536019 187537056036847084
183.0% 387638118588879942 126.08%
129 10.20.144.251 rack-c 4064812683651630209 78979169644094190
77.07% 266516225680941274 86.69%
130 10.20.19.95 rack-a 4139229667600553871 74416983948923662
72.61% 347209701613153576 112.93%
131 10.20.151.96 rack-c 4205516557254927886 66286889654374015
64.68% 140703873603297677 45.77%
132 10.20.83.58 rack-b 4364160686550500444 158644129295572558
154.8% 378327172542964425 123.05%
133 10.20.23.199 rack-a 4405696834678215201 41536148127714757
40.53% 266467167077661330 86.67%
134 10.20.150.58 rack-c 4486106786296485649 80409951618270448
78.46% 280590229041557763 91.26%
135 10.20.16.94 rack-a 4611686018427387901 125579232130902252
122.54% 205989183749172700 67.0%
136 10.20.92.129 rack-b 4663761621390554463 52075602963166562
50.81% 299600934840054019 97.45%
137 10.20.146.47 rack-c 4729291875508437146 65530254117882683
63.94% 243185089211951497 79.1%
138 10.20.80.11 rack-b 4763363724088609656 34071848580172510
33.25% 99602102698055193 32.4%
139 10.20.82.247 rack-b 4902577875921664056 139214151833054400
135.84% 139214151833054400 45.28%
140 10.20.144.255 rack-c 5064821116816274786 162243240894610730
158.31% 335529241307837640 109.13%
141 10.20.92.38 rack-b 5149096216271310975 84275099455036189
82.23% 246518340349646919 80.18%
142 10.20.151.96 rack-c 5344183344632085640 195087128360774665
190.36% 279362227815810854 90.87%
143 10.20.21.121 rack-a 5344190431341493990 7086709408350
0.01% 732504412914106089 238.25%
144 10.20.80.231 rack-b 5470232255249086842 126041823907592852
122.99% 321136038977775867 104.45%
145 10.20.28.103 rack-a 5599615274198389999 129383018949303157
126.25% 255424842856896009 83.08%
146 10.20.89.254 rack-b 5601038641438494310 1423367240104311
1.39% 130806386189407468 42.55%
147 10.20.149.213 rack-c 5763351906979850606 162313265541356296
158.38% 419168562347764966 136.34%
148 10.20.95.182 rack-b 5902916083282211410 139564176302360804
136.18% 301877441843717100 98.19%
149 10.20.148.78 rack-c 6095717362449884318 192801279167672908
188.13% 332365455470033712 108.11%
150 10.20.19.95 rack-a 6189475282618394230 93757920168509912
91.49% 589860008420004231 191.86%
151 10.20.88.17 rack-b 6238445324590049310 48970041971655080
47.78% 335529241307837900 109.13%
152 10.20.158.56 rack-c 6470859119958645149 232413795368595839
226.79% 375141757508760831 122.02%
153 10.20.22.103 rack-a 6516386704535559376 45527584576914227
44.42% 326911421917165146 106.33%
154 10.20.88.117 rack-b 6517807552405859479 1420847870300103
1.39% 279362227815810169 90.87%
155 10.20.145.3 rack-c 6741694105655993871 223886553250134392
218.46% 270834985697348722 88.09%
156 10.20.84.97 rack-b 6936976114753622943 195282009097629072
190.55% 419168562347763464 136.34%
157 10.20.144.251 rack-c 7020430380748903693 83454265995280750
81.43% 278736275092909822 90.66%
158 10.20.23.199 rack-a 7067309217529804976 46878836780901283
45.74% 550922512994245600 179.19%
159 10.20.91.254 rack-b 7269341570223658427 202032352693853451
197.14% 332365455470035484 108.11%
160 10.20.150.20 rack-c 7333052691393432086 63711121169773659
62.17% 312622310644528393 101.68%
161 10.20.17.254 rack-a 7388445256507581893 55392565114149807
54.05% 321136038977776917 104.45%
162 10.20.80.231 rack-b 7582277663401565387 193832406893983494
189.14% 312936093177906960 101.79%
163 10.20.28.103 rack-a 7631751918907982030 49474255506416643
48.28% 243306662400400137 79.14%
164 10.20.148.78 rack-c 7775892406540551989 144140487632569959
140.65% 442839715147119903 144.04%
165 10.20.92.206 rack-b 7912887967081619192 136995560541067203
133.68% 330610303680053805 107.53%
166 10.20.30.74 rack-a 8058249031542833245 145361064461214053
141.84% 426497112634851215 138.72%
167 10.20.150.58 rack-c 8075493341380604702 17244309837771457
16.83% 299600934840052713 97.45%
168 10.20.158.149 rack-c 8175095444078661163 99602102698056461
97.19% 99602102698056461 32.4%
169 10.20.80.231 rack-b 8221412273529908988 46316829451247825
45.2% 308524306448289796 100.35%
170 10.20.28.103 rack-a 8297681652552085364 76269379022176376
74.42% 239432621009252119 77.88%
171 10.20.147.229 rack-c 8314309595911715114 16627943359629750
16.23% 139214151833053951 45.28%
172 10.20.82.247 rack-b 8437981453614448838 123671857702733724
120.68% 216569180084539850 70.44%
173 10.20.150.20 rack-c 8560827936261361580 122846482646912742
119.87% 246518340349646466 80.18%
174 10.20.92.129 rack-b 8744459778141481139 183631841880119559
179.18% 306478324527032301 99.69%
175 10.20.29.51 rack-a 8756779821706409579 12320043564928440
12.02% 459098169154324215 149.33%
176 10.20.91.254 rack-b 8879930450925197428 123150629218787849
120.17% 135470672783716289 44.06%
177 10.20.151.62 rack-c 8881963975239137216 2033524313939788
1.98% 321136038977775636 104.45%
178 10.20.158.56 rack-c 9012770361428545162 130806386189407946
127.64% 130806386189407946 42.55%
179 10.20.21.212 rack-a 9089145277176444020 76374915747898858
74.53% 332365455470034441 108.11%
180 10.20.93.195 rack-b 9170886775430075796 81741498253631776
79.76% 290956324504878368 94.64%{noformat}
--
This message was sent by Atlassian Jira
(v8.20.10#820010)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]