[
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)