You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@hive.apache.org by "binlijin (JIRA)" <ji...@apache.org> on 2013/02/22 08:32:13 UTC

[jira] [Updated] (HIVE-4057) LazyHBaseRow may return cache data if the field is null and make the result wrong

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

binlijin updated HIVE-4057:
---------------------------

    Status: Patch Available  (was: Open)
    
> LazyHBaseRow may return cache data if the field is null and make the result wrong
> ---------------------------------------------------------------------------------
>
>                 Key: HIVE-4057
>                 URL: https://issues.apache.org/jira/browse/HIVE-4057
>             Project: Hive
>          Issue Type: Bug
>          Components: HBase Handler
>    Affects Versions: 0.11.0
>            Reporter: binlijin
>         Attachments: HIVE-4057.patch
>
>
> LazyHBaseRow
> {code}
> private Object uncheckedGetField(int fieldID) {
>    if(!fieldsInited[fieldID]) {
>       fieldsInited[fieldID] = true;
>           byte [] res = result.getValue(colMap.familyNameBytes, colMap.qualifierNameBytes);
>           if (res == null) {
>             return null;
>           }
>     }
>     return fields[fieldID].getObject();
> }
> {code}
> if there is a LazyHBaseRow instance row,  the fieldID is 0, we assume this field is null, so the first time row.uncheckedGetField(0) will return null, but the second time when row.uncheckedGetField(0) will return fields[fieldID].getObject(), this is the last cache data.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira