JiaLiangC opened a new pull request, #4187: URL: https://github.com/apache/ambari/pull/4187
Issue: [AMBARI-26640](https://issues.apache.org/jira/browse/AMBARI-26640) ## What changes were proposed in this pull request? - Make server-issued execution commands preempt queued and active Agent auto-recovery work, including the dequeue-to-active race. - Derive transitive recovery dependencies from `RoleCommandOrder` and publish actual component-instance current, desired, required, and freshness state in a versioned topology. - Scope topology freshness to the active Agent session, invalidate it on registration and heartbeat loss, ignore superseded reports, and prevent cached topology version regression. - Gate Agent `START` and `RESTART` recovery on a complete fresh topology and reject older versions from the same server epoch. - Isolate status snapshot acknowledgements by generation so reconnects cannot reuse stale cached status. ## How was this patch tested? All focused tests passed in the local Ambari build container using JDK 17. - Ambari Server: 29 tests run, 0 failures, 0 errors, 4 existing ignored tests. - Ambari Agent: 37 tests run, 0 failures. - Python compilation checks passed for all changed Agent source and test files. - Full server Checkstyle reported only two existing trunk violations in `ThemeArtifactResourceProviderTest` and `MethodOverrideFilterTest`; no changed file reported an error. ```shell mvn -s .codex-maven-settings.xml -pl ambari-server -Drat.skip=true -Dcheckstyle.skip -DskipPythonTests -Dtest=RecoveryConfigHelperTest,RecoveryTopologyManagerTest,ComponentStatusAgentReportTest,TestHeartbeatMonitor,RoleCommandOrderTest,HostLevelParamsHolderTest -Dsurefire.failIfNoSpecifiedTests=false test cd ambari-agent/src/test/python python3 unitTests.py TestActionQueue python3 unitTests.py TestRecoveryManager python3 unitTests.py TestComponentStatusExecutor ``` Please review [Ambari Contributing Guide](https://cwiki.apache.org/confluence/display/AMBARI/How+to+Contribute) before opening a pull request. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected] --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
