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

Manu Zhang updated PIG-3943:
----------------------------

    Attachment: PIG-3943.patch

patch attached

> inconsistency between DefaultAbstractBag readFields and write methods 
> ----------------------------------------------------------------------
>
>                 Key: PIG-3943
>                 URL: https://issues.apache.org/jira/browse/PIG-3943
>             Project: Pig
>          Issue Type: Bug
>    Affects Versions: 0.12.1, 0.13.0
>            Reporter: Manu Zhang
>         Attachments: PIG-3943.patch
>
>
> By default, NullableBag will write out a DefaultDataBag which inherits the 
> write/readFields methods of DefaultAbstractBag. We found the two are 
> inconsistent:
> {code}
>     public void readFields(DataInput in) throws IOException {
>         long size = in.readLong();
>         for (long i = 0; i < size; i++) {
>             try {
>                 Object o = sedes.readDatum(in);
>                 add((Tuple)o);
>             } catch (ExecException ee) {
>                 throw ee;
>             }
>         }
>     }
>    public void write(DataOutput out) throws IOException {
>         sedes.writeDatum(out, this);
>     }
> {code}
> when writing out, the first byte will be one of TINYBAG, SMALLBAG or BAG, 
> followed by size which would be a byte, short or long accordingly. Regardless 
> of that format, the readFields method directly reads size as a long. 



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

Reply via email to