Commit e65f1b2
Adds support for multiple managers running distributed fate (#6168)
Lays the foundation for multiple manager with the following changes.
The best place to start looking at these changes is in the Manager.run()
method which sets everything and ties it all together.
* Each manager process acquires two zookeeper locks now, a primary lock
and an assistant lock. Only one manager process can obtain the
primary lock and when it does it assumes the role of primary manager.
All manager processes acquire an assistant lock, which is similar to a
tserver or compactor lock. The assistant lock advertises the manager
process as being available to other Accumulo processes to handle
assistant manager operations.
* Manager processes have a single thrift server and thrift services
hosted on that thrift server are categorized into primary manager and
assistant manager services. When an assistant manager receives an RPC
for a primary manager thrift service it will not execute the request and
will throw an error or ignore the request.
* The primary manager process delegates manager responsibility via RPCs
to assistant managers.
* Any management responsibility not delegated runs on the primary manager.
Using the changes above fate is now distributed across all manager
processes. In the future the changes above should make it easy to
delegate other responsibilities to assistant managers. The following
is an outline of the fate changes.
* New FateWorker class. This runs in every manager and handles
request from the primary manager to adjust what range of the fate
table its currently responsible for. FateWorker implements a new
thrift service used to assign it ranges.
* New FateManager class that is run by the primary manager and is
responsible for partitioning fate processing across all assistant
managers. As manager processes come and go this will repartition the
fate table evenly across all available managers. The FateManager
communicates with FateWorkers via thrift.
* Some new RPCs for best effort notifications. Before these changes
there were in memory notification systems that made the manager more
responsive. These would allow a fate operation to signal the Tablet
Group Watcher to take action sooner. FateWorkerEnv sends these
notifications to the primary manger over a new RPC. Does not matter if
they are lost, things will still eventually happen.
Other than fate, the primary manager process does everything the
current manager does. This change pulls from #3262 and #6139.
Co-authored-by: Dave Marion <[email protected]>1 parent 15c5397 commit e65f1b2
File tree
57 files changed
+9932
-565
lines changed- core/src
- main
- java/org/apache/accumulo/core
- clientImpl
- fate
- user
- zookeeper
- lock
- logging
- rpc/clients
- spotbugs
- thrift-gen-java/org/apache/accumulo/core
- compaction/thrift
- manager/thrift
- thrift
- test/java/org/apache/accumulo/core/fate
- server
- base/src/main/java/org/apache/accumulo/server
- init
- rpc
- manager/src/main/java/org/apache/accumulo/manager
- compaction/coordinator
- fate
- metrics/fate
- meta
- user
- tableOps/split
- upgrade
- test/src/main/java/org/apache/accumulo/test
- fate
Some content is hidden
Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.
57 files changed
+9932
-565
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
49 | 49 | | |
50 | 50 | | |
51 | 51 | | |
| 52 | + | |
52 | 53 | | |
53 | 54 | | |
54 | 55 | | |
| |||
Lines changed: 1 addition & 1 deletion
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1333 | 1333 | | |
1334 | 1334 | | |
1335 | 1335 | | |
1336 | | - | |
| 1336 | + | |
1337 | 1337 | | |
1338 | 1338 | | |
1339 | 1339 | | |
| |||
Lines changed: 20 additions & 7 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
162 | 162 | | |
163 | 163 | | |
164 | 164 | | |
165 | | - | |
| 165 | + | |
| 166 | + | |
| 167 | + | |
| 168 | + | |
| 169 | + | |
| 170 | + | |
166 | 171 | | |
167 | 172 | | |
168 | 173 | | |
169 | 174 | | |
170 | 175 | | |
171 | 176 | | |
172 | 177 | | |
173 | | - | |
174 | | - | |
| 178 | + | |
| 179 | + | |
175 | 180 | | |
176 | 181 | | |
177 | 182 | | |
| |||
200 | 205 | | |
201 | 206 | | |
202 | 207 | | |
| 208 | + | |
| 209 | + | |
203 | 210 | | |
204 | 211 | | |
205 | 212 | | |
| |||
240 | 247 | | |
241 | 248 | | |
242 | 249 | | |
243 | | - | |
244 | | - | |
245 | | - | |
| 250 | + | |
| 251 | + | |
| 252 | + | |
| 253 | + | |
| 254 | + | |
246 | 255 | | |
247 | 256 | | |
248 | 257 | | |
| |||
289 | 298 | | |
290 | 299 | | |
291 | 300 | | |
| 301 | + | |
| 302 | + | |
| 303 | + | |
292 | 304 | | |
293 | 305 | | |
294 | 306 | | |
| |||
418 | 430 | | |
419 | 431 | | |
420 | 432 | | |
421 | | - | |
| 433 | + | |
| 434 | + | |
422 | 435 | | |
423 | 436 | | |
424 | 437 | | |
| |||
Lines changed: 45 additions & 3 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
30 | 30 | | |
31 | 31 | | |
32 | 32 | | |
| 33 | + | |
33 | 34 | | |
34 | 35 | | |
35 | 36 | | |
| |||
51 | 52 | | |
52 | 53 | | |
53 | 54 | | |
| 55 | + | |
| 56 | + | |
54 | 57 | | |
55 | 58 | | |
56 | 59 | | |
| |||
76 | 79 | | |
77 | 80 | | |
78 | 81 | | |
| 82 | + | |
79 | 83 | | |
80 | 84 | | |
81 | 85 | | |
| |||
208 | 212 | | |
209 | 213 | | |
210 | 214 | | |
211 | | - | |
212 | | - | |
| 215 | + | |
| 216 | + | |
| 217 | + | |
| 218 | + | |
213 | 219 | | |
214 | 220 | | |
215 | 221 | | |
| |||
233 | 239 | | |
234 | 240 | | |
235 | 241 | | |
236 | | - | |
| 242 | + | |
| 243 | + | |
| 244 | + | |
| 245 | + | |
| 246 | + | |
237 | 247 | | |
238 | 248 | | |
239 | 249 | | |
| |||
369 | 379 | | |
370 | 380 | | |
371 | 381 | | |
| 382 | + | |
| 383 | + | |
| 384 | + | |
| 385 | + | |
| 386 | + | |
| 387 | + | |
| 388 | + | |
| 389 | + | |
| 390 | + | |
| 391 | + | |
| 392 | + | |
372 | 393 | | |
373 | 394 | | |
374 | 395 | | |
| |||
432 | 453 | | |
433 | 454 | | |
434 | 455 | | |
| 456 | + | |
| 457 | + | |
| 458 | + | |
| 459 | + | |
| 460 | + | |
| 461 | + | |
| 462 | + | |
| 463 | + | |
| 464 | + | |
| 465 | + | |
| 466 | + | |
| 467 | + | |
| 468 | + | |
| 469 | + | |
| 470 | + | |
| 471 | + | |
| 472 | + | |
| 473 | + | |
| 474 | + | |
| 475 | + | |
| 476 | + | |
435 | 477 | | |
436 | 478 | | |
437 | 479 | | |
| |||
Lines changed: 31 additions & 3 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
28 | 28 | | |
29 | 29 | | |
30 | 30 | | |
| 31 | + | |
| 32 | + | |
| 33 | + | |
31 | 34 | | |
32 | 35 | | |
33 | 36 | | |
| |||
46 | 49 | | |
47 | 50 | | |
48 | 51 | | |
| 52 | + | |
| 53 | + | |
49 | 54 | | |
50 | 55 | | |
51 | 56 | | |
| |||
56 | 61 | | |
57 | 62 | | |
58 | 63 | | |
59 | | - | |
| 64 | + | |
| 65 | + | |
| 66 | + | |
| 67 | + | |
| 68 | + | |
| 69 | + | |
| 70 | + | |
| 71 | + | |
| 72 | + | |
| 73 | + | |
| 74 | + | |
| 75 | + | |
| 76 | + | |
| 77 | + | |
| 78 | + | |
| 79 | + | |
| 80 | + | |
60 | 81 | | |
61 | 82 | | |
62 | 83 | | |
63 | 84 | | |
| 85 | + | |
64 | 86 | | |
65 | | - | |
66 | | - | |
| 87 | + | |
67 | 88 | | |
| 89 | + | |
| 90 | + | |
68 | 91 | | |
69 | 92 | | |
70 | 93 | | |
| |||
73 | 96 | | |
74 | 97 | | |
75 | 98 | | |
| 99 | + | |
76 | 100 | | |
77 | 101 | | |
78 | 102 | | |
| |||
176 | 200 | | |
177 | 201 | | |
178 | 202 | | |
| 203 | + | |
| 204 | + | |
| 205 | + | |
| 206 | + | |
179 | 207 | | |
Lines changed: 16 additions & 2 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
33 | 33 | | |
34 | 34 | | |
35 | 35 | | |
| 36 | + | |
36 | 37 | | |
37 | 38 | | |
38 | 39 | | |
| |||
43 | 44 | | |
44 | 45 | | |
45 | 46 | | |
| 47 | + | |
| 48 | + | |
46 | 49 | | |
47 | 50 | | |
48 | 51 | | |
| |||
81 | 84 | | |
82 | 85 | | |
83 | 86 | | |
| 87 | + | |
84 | 88 | | |
85 | 89 | | |
86 | 90 | | |
| |||
298 | 302 | | |
299 | 303 | | |
300 | 304 | | |
| 305 | + | |
| 306 | + | |
| 307 | + | |
| 308 | + | |
| 309 | + | |
301 | 310 | | |
302 | 311 | | |
303 | 312 | | |
| |||
308 | 317 | | |
309 | 318 | | |
310 | 319 | | |
311 | | - | |
| 320 | + | |
| 321 | + | |
| 322 | + | |
| 323 | + | |
| 324 | + | |
| 325 | + | |
312 | 326 | | |
313 | 327 | | |
314 | 328 | | |
| |||
319 | 333 | | |
320 | 334 | | |
321 | 335 | | |
322 | | - | |
| 336 | + | |
323 | 337 | | |
324 | 338 | | |
325 | 339 | | |
| |||
Lines changed: 1 addition & 3 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
22 | 22 | | |
23 | 23 | | |
24 | 24 | | |
25 | | - | |
26 | 25 | | |
27 | 26 | | |
28 | 27 | | |
29 | 28 | | |
30 | 29 | | |
31 | 30 | | |
32 | | - | |
| 31 | + | |
33 | 32 | | |
34 | 33 | | |
35 | 34 | | |
| |||
49 | 48 | | |
50 | 49 | | |
51 | 50 | | |
52 | | - | |
53 | 51 | | |
54 | 52 | | |
55 | 53 | | |
| |||
0 commit comments