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