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]

Reply via email to