The reason is that you don't want a socket to the RM machine to be held up - we 
expect to have thousands of AMs running concurrently. Essentially a blocking 
call could result in a DoS attack on the RM.

Eventually, YARN will move to async RPC and won't have this quirk.

Arun

On Jun 7, 2013, at 8:54 AM, Rahul Bhattacharjee wrote:

> Hello,
> 
> I have a basic question related to RM of Yarn. Why is the allocate container 
> request to RM doesn't always return with containers. The call can actually 
> block and return when containers are available.
> 
> Scenario :
> 
> I launcher AM.
> The AM requests for 5 containers.
> The response returns without any containers.
> 
> I send the request for containers , again and again and the RM returns 
> containers (sometimes less than the number that I have asked for).
> 
> Is this something to do with the heartbeat as the allocate call must return 
> within a predictable time period?
> 
> Thanks,
> Rahul

--
Arun C. Murthy
Hortonworks Inc.
http://hortonworks.com/


Reply via email to