Hey, Fabio:
In RM side, it will keep tracking on resource request status, such as how
many containers that AM has requested, how many containers that RM has assigned
to AM, how many containers that is pending, etc.
In AM side, it is user's code. It should keep tracking on the similar
resource request status, too. If AM keeps asking the resource, eventually it
will hit the queue limit/user limit, and the resources will not be allocated.
Also, the allocate is a blocking call. It will always get something back
(could be nothing, some of the request resources, all request resources). AM
should use this information to update the resource request status.
Thanks
Xuan Gong
From: "Fabio C." <[email protected]<mailto:[email protected]>>
Reply-To: "[email protected]<mailto:[email protected]>"
<[email protected]<mailto:[email protected]>>
Date: Tuesday, February 24, 2015 at 2:41 AM
To: "[email protected]<mailto:[email protected]>"
<[email protected]<mailto:[email protected]>>
Subject: Can RM ignore heartbeats?
Hi everyone,
I have a question about the ResourceManager behavior:
when the ResourceManager allocates a container, it takes some time before the
NMToken is sent and then received by the ApplicationMaster.
During this time, it is possible to receive another heartbeat from the AM,
equal to the last one (since the AM is not aware of the allocated resources).
Is there any policy in YARN that makes the RM aware of this and ignore this
last heartbeat?
I ask this because I would expect way more superfluous containers allocated, in
comparison to the ones I can see from the logs.
Thanks in advance
Fabio