[ 
https://issues.apache.org/jira/browse/HDFS-5153?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13888167#comment-13888167
 ] 

Hudson commented on HDFS-5153:
------------------------------

SUCCESS: Integrated in Hadoop-trunk-Commit #5086 (See 
[https://builds.apache.org/job/Hadoop-trunk-Commit/5086/])
HDFS-5153. Datanode should send block reports for each storage in a separate 
message. (Arpit Agarwal) (arp: 
http://svn.apache.org/viewcvs.cgi/?root=Apache-SVN&view=rev&rev=1563254)
* /hadoop/common/trunk/hadoop-hdfs-project/hadoop-hdfs/CHANGES.txt
* 
/hadoop/common/trunk/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/DFSConfigKeys.java
* 
/hadoop/common/trunk/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/blockmanagement/BlockManager.java
* 
/hadoop/common/trunk/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/blockmanagement/DatanodeDescriptor.java
* 
/hadoop/common/trunk/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/datanode/BPServiceActor.java
* 
/hadoop/common/trunk/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/datanode/DNConf.java
* 
/hadoop/common/trunk/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/NameNodeRpcServer.java
* 
/hadoop/common/trunk/hadoop-hdfs-project/hadoop-hdfs/src/main/resources/hdfs-default.xml
* 
/hadoop/common/trunk/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/server/datanode/BlockReportTestBase.java
* 
/hadoop/common/trunk/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/server/datanode/TestBlockReport.java
* 
/hadoop/common/trunk/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/server/datanode/TestDnRespectsBlockReportSplitThreshold.java
* 
/hadoop/common/trunk/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/server/datanode/TestNNHandlesBlockReportPerStorage.java
* 
/hadoop/common/trunk/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/server/datanode/TestNNHandlesCombinedBlockReport.java


> Datanode should send block reports for each storage in a separate message
> -------------------------------------------------------------------------
>
>                 Key: HDFS-5153
>                 URL: https://issues.apache.org/jira/browse/HDFS-5153
>             Project: Hadoop HDFS
>          Issue Type: Improvement
>          Components: datanode
>    Affects Versions: 3.0.0
>            Reporter: Arpit Agarwal
>            Assignee: Arpit Agarwal
>         Attachments: HDFS-5153.01.patch, HDFS-5153.03.patch, 
> HDFS-5153.03b.patch, HDFS-5153.04.patch, HDFS-5153.05.patch
>
>
> When the number of blocks on the DataNode grows large we start running into a 
> few issues:
> # Block reports take a long time to process on the NameNode. In testing we 
> have seen that a block report with 6 Million blocks takes close to one second 
> to process on the NameNode. The NameSystem write lock is held during this 
> time.
> # We start hitting the default protobuf message limit of 64MB somewhere 
> around 10 Million blocks. While we can increase the message size limit it 
> already takes over 7 seconds to serialize/unserialize a block report of this 
> size.
> HDFS-2832 has introduced the concept of a DataNode as a collection of 
> storages i.e. the NameNode is aware of all the volumes (storage directories) 
> attached to a given DataNode. This makes it easy to split block reports from 
> the DN by sending one report per storage directory to mitigate the above 
> problems.



--
This message was sent by Atlassian JIRA
(v6.1.5#6160)

Reply via email to