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

Jing Zhao commented on HDFS-5257:
---------------------------------

We also met this AIOBE in our local HA test. Thanks for the fix, Vinay!

The patch looks good to me as well. Only one nit: do we also want to do a 
simple check in DataStreamer#createBlockOutputStream for the length of nodes, 
so that we can at least avoid the AIOBE in the client side?

> addBlock() retry should return LocatedBlock with locations else client will 
> get AIOBE
> -------------------------------------------------------------------------------------
>
>                 Key: HDFS-5257
>                 URL: https://issues.apache.org/jira/browse/HDFS-5257
>             Project: Hadoop HDFS
>          Issue Type: Bug
>          Components: hdfs-client, namenode
>    Affects Versions: 2.1.1-beta
>            Reporter: Vinay
>            Assignee: Vinay
>            Priority: Critical
>         Attachments: HDFS-5257.patch, HDFS-5257.patch, HDFS-5257.patch
>
>
> {{addBlock()}} call retry should return the LocatedBlock with locations if 
> the block was created in previous call and failover/restart of namenode 
> happened.
> otherwise client will get {{ArrayIndexOutOfBoundsException}} while creating 
> the block and write will fail.
> {noformat}java.lang.ArrayIndexOutOfBoundsException: 0
>       at 
> org.apache.hadoop.hdfs.DFSOutputStream$DataStreamer.createBlockOutputStream(DFSOutputStream.java:1118)
>       at 
> org.apache.hadoop.hdfs.DFSOutputStream$DataStreamer.nextBlockOutputStream(DFSOutputStream.java:1078)
>       at 
> org.apache.hadoop.hdfs.DFSOutputStream$DataStreamer.run(DFSOutputStream.java:511){noformat}



--
This message was sent by Atlassian JIRA
(v6.1#6144)

Reply via email to