[ 
https://issues.apache.org/jira/browse/HDFS-6885?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Yi Liu updated HDFS-6885:
-------------------------

    Attachment: HDFS-6885.001.patch

> Fix wrong use of BytesWritable in FSEditLogOp#RenameOp
> ------------------------------------------------------
>
>                 Key: HDFS-6885
>                 URL: https://issues.apache.org/jira/browse/HDFS-6885
>             Project: Hadoop HDFS
>          Issue Type: Bug
>          Components: namenode
>            Reporter: Yi Liu
>            Assignee: Yi Liu
>            Priority: Minor
>         Attachments: HDFS-6885.001.patch
>
>
> After readField using BytesWritable, the data length should be 
> {{writable.getLength()}}, instead of {{writable.getBytes().length}} which is 
> the buffer length. 
> This will cause returned {{Rename[]}} is longer than expected and may include 
> some incorrect values (Currently they are Rename#NONE, and have not caused 
> problem but code logic is incorrect). 
> {code}
> BytesWritable writable = new BytesWritable();
> writable.readFields(in);
> byte[] bytes = writable.getBytes();
> Rename[] options = new Rename[bytes.length];
> for (int i = 0; i < bytes.length; i++) {
>   options[i] = Rename.valueOf(bytes[i]);
> }
> {code}



--
This message was sent by Atlassian JIRA
(v6.2#6252)

Reply via email to