hadoop-hdfs-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Alberich de megres <alberich...@gmail.com>
Subject Re: HDFS Blockreport question
Date Fri, 02 Apr 2010 23:39:22 GMT
Hi again!

Anyone could help me?
I could not understand how RPC class works. For me, only tries to
instantiates a single interfaces with no declaration for some methods
like blockreport. But then it uses rpc.getproxy to get new class wich
send messages with name node.

I'm sorry for this silly question, but i am really lost at this point.

Thanks for the patience.

On Fri, Apr 2, 2010 at 2:11 AM, Alberich de megres
<alberich2k5@gmail.com> wrote:
> Hi Jay!
> thanks for the answear but i'm asking for what it works it sends?
> blockreport is an interface in DatanodeProtocol that has no
> declaration.
> thanks!
> On Thu, Apr 1, 2010 at 5:50 PM, Jay Booth <jaybooth@gmail.com> wrote:
>> 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 <alberich2k5@gmail.com>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

View raw message