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
