After fighting through unit tests... in v6 patch:
TestAMRMClientContainerRequest.testOpportunisticAndGuaranteedRequests is already failing in trunk,
YARN-7199 opened for it
TestContainerAllocation.testAMContainerAllocationWhenDNSUnavailable is being tracked under YARN-7044
I need help on TestContainerManagerSecurity.testContainerManager, it seems consistently failing in yetus, but I cannot repro locally at all.
Tan, Wangda and Jason Lowe, can you please take a look? Some quick notes in summary:
After a more strict responseId check in NM heartbeat, we need to drain the RM dispatcher events after every MockNM heartbeat. Otherwise, two sequential MockNM heartbeat will fail on the second heartbeat, because RM is still processing the first heartbeat event.
Instead of going through all the place where nm.nodeHeartbeat is called and add rm.drainEvent afterwards (some already have though), I changed the MockNM api, and drain RM events inside the heartbeat method.
For easy review, the real changes are in these four files: ResourceTrackerService, MockNM, TestResourceTrackerService, MiniYarnCluster and TestMiniYarnClusterNodeUtilization (removed a test case because it is consumed/identical to the other one). All other file changes are simply because of api change in MockNM.
Thanks in advance!