There are 2 things here.
1. If Namenode itself does not know the locations of a block (list of 
datanodes), then when a client request the locations, it returns empty list. 
This happens when a client allocates a block, but the client has not yet 
written data to datanodes, or datanodes have not reported about getting a new 
block to namenode. 

2. If Namenode knows the list of datanodes associated with a block.
Client ask namenode the locations ( list of datanodes) holding the block 
requested.
The client, then connects to the datanode to read the block. If none of the 
datanodes are available, then client throws error to the reader.

HTH,
Thanks,
Lohit




----- Original Message ----
From: Sangmin Lee <[EMAIL PROTECTED]>
To: [email protected]
Sent: Wednesday, July 16, 2008 12:37:00 PM
Subject: HDFS : no data nodes available

Hi folks,

I wonder what happens if no datanode that stores certain blocks is available
and client ask for the (location of) blocks?
Does client's rpc call block until it become available or just return with
error?
I tracked source code and it seems that it just return with an empty list of
location.
Is this correct? or am I missing something?

I appreciate your help in advance.

-sangmin

Reply via email to