In DataNode:
public DatanodeProtocol namenode
It's not a reference to an actual namenode, it's a wrapper for a network
protocol created by that RPC.waitForProxy call -- so when it calls
namenode.blockReport, it's sending that information over RPC to the namenode
instance over the network
On Thu, Apr 1, 2010 at 5:50 AM, Alberich de megres wrote:
> Hi everyone!
>
> sailing throught the hdfs source code that comes with hadoop 0.20.2, i
> could not understand how hdfs sends blockreport to nameNode.
>
> As i can see, in
> src/hdfs/org/apache/hadoop/hdfs/server/datanode/DataNode.java we
> create this.namenode interface with RPC.waitForProxy call (wich i
> could not understand which class it instantiates, and how it works).
>
> After that, datanode generates block list report (blockListAsLongs)
> with data.getBlockReport, and call this.namenode.blockReport(..),
> inside namenode.blockReport it calls again namesystem.processReport.
> This leads to an update of block lists inside nameserver.
>
> But how it sends over the network this blockreport?
>
> Anyone can point me some light?
>
> thanks for all!
> (and sorry for the newbie question)
>
> Alberich
>