Commit d032a53
Indirect agent connection improvements, includes the following improvements.
- Enhances the Host connecting logic to avoid connecting storm (where Agent opens multiple sockets against Management Server).
- Implements HostConnectProcess task where Host upon connection checks whether lock is available, traces Host connecting progress, status and timeout.
- Introduces AgentConnectStatusCommand, where Host checks whether lock for the Host is available (i.e. "previous" connect process is finished).
- Implementes logic to check whether Management Server has lock against Host (exposed MySQL DB lock presence via API)
- Removes synchronization on Host disconnect process, double-disconnect logic in clustered Management Server environment, added early removal from ping map (in case of combination ping timeout delay + synchronized disconnect process the Agent Manager submits more disconnect requests)
- Introduces parameterized connection and status check timeouts
- Implements backoff algorithm abstraction - can be used either constant backoff timeout or exponential with jitter to wait between connection Host attempts to Management Server
- Implements ServerAttache to be used on the Agent side of communication (similar to Attache on Management Server side)
- Enhances/Adds logs significantly to Host Agent and Agent Manager logic to trace Host connecting and disconnecting process, including ids, names, context UUIDs and timings (how much time took overall initialization/deinitialization)
- Adds logs to communication between Management Servers (PDU requests)
- Adds DB indexes to improve search performance, uses IDEMPOTENT_ADD_INDEX for safer DB schema updates1 parent 82bfa9f commit d032a53
File tree
47 files changed
+4106
-778
lines changed- agent/src
- main/java/com/cloud/agent
- properties
- test/java/com/cloud/agent
- core/src/main/java
- com/cloud
- agent
- api
- transport
- resource
- org/apache/cloudstack/threadcontext
- engine
- orchestration/src
- main/java/com/cloud/agent/manager
- test/java/com/cloud/agent/manager
- schema/src/main/resources/META-INF/db
- procedures
- framework
- cluster/src/main/java/com/cloud/cluster
- dao
- config/src/main/java/org/apache/cloudstack/framework/config
- db/src/main/java/com/cloud/utils/db
- server/src/main/java/org/apache/cloudstack/agent/lb
- utils/src
- main/java/com/cloud/utils
- backoff
- impl
- exception
- net
- nio
- test/java/com/cloud/utils
- backoff/impl
- testcase
Some content is hidden
Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.
47 files changed
+4106
-778
lines changedLarge diffs are not rendered by default.
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
32 | 32 | | |
33 | 33 | | |
34 | 34 | | |
| 35 | + | |
35 | 36 | | |
36 | 37 | | |
37 | 38 | | |
| |||
52 | 53 | | |
53 | 54 | | |
54 | 55 | | |
55 | | - | |
56 | 56 | | |
57 | 57 | | |
58 | 58 | | |
| |||
95 | 95 | | |
96 | 96 | | |
97 | 97 | | |
| 98 | + | |
| 99 | + | |
| 100 | + | |
| 101 | + | |
| 102 | + | |
| 103 | + | |
| 104 | + | |
| 105 | + | |
| 106 | + | |
| 107 | + | |
98 | 108 | | |
99 | 109 | | |
100 | 110 | | |
| |||
400 | 410 | | |
401 | 411 | | |
402 | 412 | | |
403 | | - | |
| 413 | + | |
404 | 414 | | |
405 | 415 | | |
406 | 416 | | |
| |||
410 | 420 | | |
411 | 421 | | |
412 | 422 | | |
413 | | - | |
| 423 | + | |
414 | 424 | | |
415 | 425 | | |
416 | 426 | | |
| |||
424 | 434 | | |
425 | 435 | | |
426 | 436 | | |
427 | | - | |
428 | | - | |
429 | | - | |
430 | | - | |
431 | | - | |
| 437 | + | |
| 438 | + | |
| 439 | + | |
| 440 | + | |
| 441 | + | |
| 442 | + | |
| 443 | + | |
| 444 | + | |
| 445 | + | |
432 | 446 | | |
433 | 447 | | |
434 | 448 | | |
| |||
546 | 560 | | |
547 | 561 | | |
548 | 562 | | |
549 | | - | |
| 563 | + | |
550 | 564 | | |
551 | 565 | | |
552 | 566 | | |
| |||
568 | 582 | | |
569 | 583 | | |
570 | 584 | | |
| 585 | + | |
571 | 586 | | |
572 | 587 | | |
573 | 588 | | |
| |||
0 commit comments