hadoop-hdfs-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Li Bo (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (HDFS-8220) Erasure Coding: StripedDataStreamer fails to handle the blocklocations which doesn't satisfy BlockGroupSize
Date Tue, 28 Apr 2015 06:33:06 GMT

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

Li Bo commented on HDFS-8220:
-----------------------------

hi, Rakesh
Thanks for finding and fixing this problem.
In your unit test, the cluster has 3 nodes and only 3 locations are returned by NN for RS(6,3).
This is because in {{BlockManager#chooseTarget4NewBlock()}}, it uses {{BlockPlacementPolicyDefault}}
to choose targets. For a striped file, {{BlockManager}} should use ec block policyment policy,
which will return 6+3 locations. HDFS-7613 is still in progress. After it is finished, we
can add an ec block placement policy to {{BlockManager}}, if a file is striped layout, we
switch to use this ec block placement policy.


> Erasure Coding: StripedDataStreamer fails to handle the blocklocations which doesn't
satisfy BlockGroupSize
> -----------------------------------------------------------------------------------------------------------
>
>                 Key: HDFS-8220
>                 URL: https://issues.apache.org/jira/browse/HDFS-8220
>             Project: Hadoop HDFS
>          Issue Type: Sub-task
>            Reporter: Rakesh R
>            Assignee: Rakesh R
>         Attachments: HDFS-8220-001.patch, HDFS-8220-002.patch
>
>
> During write operations {{StripedDataStreamer#locateFollowingBlock}} fails to validate
the available datanodes against the {{BlockGroupSize}}. Please see the exception to understand
more:
> {code}
> 2015-04-22 14:56:11,313 WARN  hdfs.DFSClient (DataStreamer.java:run(538)) - DataStreamer
Exception
> java.lang.NullPointerException
> 	at java.util.concurrent.LinkedBlockingQueue.offer(LinkedBlockingQueue.java:374)
> 	at org.apache.hadoop.hdfs.StripedDataStreamer.locateFollowingBlock(StripedDataStreamer.java:157)
> 	at org.apache.hadoop.hdfs.DataStreamer.nextBlockOutputStream(DataStreamer.java:1332)
> 	at org.apache.hadoop.hdfs.DataStreamer.run(DataStreamer.java:424)
> 	at org.apache.hadoop.hdfs.StripedDataStreamer.run(StripedDataStreamer.java:1)
> 2015-04-22 14:56:11,313 INFO  hdfs.MiniDFSCluster (MiniDFSCluster.java:shutdown(1718))
- Shutting down the Mini HDFS Cluster
> 2015-04-22 14:56:11,313 ERROR hdfs.DFSClient (DFSClient.java:closeAllFilesBeingWritten(608))
- Failed to close inode 16387
> java.io.IOException: DataStreamer Exception: 
> 	at org.apache.hadoop.hdfs.DataStreamer.run(DataStreamer.java:544)
> 	at org.apache.hadoop.hdfs.StripedDataStreamer.run(StripedDataStreamer.java:1)
> Caused by: java.lang.NullPointerException
> 	at java.util.concurrent.LinkedBlockingQueue.offer(LinkedBlockingQueue.java:374)
> 	at org.apache.hadoop.hdfs.StripedDataStreamer.locateFollowingBlock(StripedDataStreamer.java:157)
> 	at org.apache.hadoop.hdfs.DataStreamer.nextBlockOutputStream(DataStreamer.java:1332)
> 	at org.apache.hadoop.hdfs.DataStreamer.run(DataStreamer.java:424)
> 	... 1 more
> {code}



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Mime
View raw message