-
Notifications
You must be signed in to change notification settings - Fork 31
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
fix(rules): rule triggering on late-connecting targets (#1646)
* tolerate MODIFIED JVM discovery events * handle target MODIFIED discovery event by re-triggering actions * rule triggering only replaces STOPPED recordings * refactoring, parallel execution, handle MODIFIED events that may occur externally * retry backoff and timeout on nonconnectable targets * forget about non-connectable targets if they get LOST in the meantime * only apply timeout/backoff logic to timer-based reconnection attempts, not credentials or discovery driven events * process rules on dedicated executor pool, not Vertx pool * perform rule triggering when credentials are added on executor pool * evaluate rule cleanup against all discovered targets, and be tolerant of already-stopped condition * attempt rule activation against all targets and handle potential for activation already done on another duplicate target definition * eliminate bugged method * use ScheduledExecutorService for background rules processing * use multithreaded pool * re-trigger rules on credential removal * track rule activations using JVM IDs, not whole ServiceRefs * rule uniqueness should not depend on currently enabled state * perform discovery background tasks using dedicated scheduler thread and worker pool * try to add more timeout handling to JVM ID retrieval * add tolerance to flaky wall-time-checking unit test
- Loading branch information
1 parent
4c6751b
commit 5f578f9
Showing
22 changed files
with
676 additions
and
399 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
283 changes: 181 additions & 102 deletions
283
src/main/java/io/cryostat/discovery/DiscoveryStorage.java
Large diffs are not rendered by default.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.