[ 
https://issues.apache.org/jira/browse/HBASE-5821?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13257307#comment-13257307
 ] 

Maryann Xue commented on HBASE-5821:
------------------------------------

Himanshu, it seems impossible to solve this problem through ColumnInterpreter. 
the semantics of min() and max() here is to discard null value whenever a 
non-null value appears; while the compare() is put the null value at a definite 
end -- either the lowest or the highest. Currently, null is treated as the 
smallest value, so this works for max(), but for min(), null would be the 
minimum value instead of being discarded.
                
> Incorrect handling of null value in Coprocessor aggregation function min()
> --------------------------------------------------------------------------
>
>                 Key: HBASE-5821
>                 URL: https://issues.apache.org/jira/browse/HBASE-5821
>             Project: HBase
>          Issue Type: Bug
>          Components: coprocessors
>    Affects Versions: 0.92.1
>            Reporter: Maryann Xue
>            Assignee: Maryann Xue
>             Fix For: 0.92.2, 0.96.0, 0.94.1
>
>         Attachments: HBASE-5821.patch
>
>
> Both in AggregateImplementation and AggregationClient, the evaluation of the 
> current minimum value is like:
> min = (min == null || ci.compare(result, min) < 0) ? result : min;
> The LongColumnInterpreter takes null value is treated as the least value, 
> while the above expression takes min as the greater value when it is null. 
> Thus, the real minimum value gets discarded if a null value comes later.
> max() could also be wrong if a different ColumnInterpreter other than 
> LongColumnInterpreter treats null value differently (as the greatest).

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Reply via email to