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

Andrew Purtell resolved HBASE-10064.
------------------------------------

       Resolution: Fixed
    Fix Version/s: 0.94.15
         Assignee: cuijianwei
     Hadoop Flags: Reviewed

> AggregateClient.validateParameters can throw NPE
> ------------------------------------------------
>
>                 Key: HBASE-10064
>                 URL: https://issues.apache.org/jira/browse/HBASE-10064
>             Project: HBase
>          Issue Type: Bug
>          Components: Client
>    Affects Versions: 0.94.14
>            Reporter: cuijianwei
>            Assignee: cuijianwei
>             Fix For: 0.94.15
>
>         Attachments: 10064-0.94.patch, HBASE-10064-0.94-v1.patch, 
> HBASE-10064-0.94-v2.patch
>
>
> When using methods such as max(...), min(...) in AggregationClient, we will 
> pass Scan as parameter. These methods will throw NullPointerException if 
> users invoke scan.setStartRow(null) or scan.setStopRow(null) before passing 
> the scan as parameter.  The NullPointerException is thrown by 
> validateParameters(Scan scan) which will be invoked before sending requests  
> to server. The implementation of validateParameters is :
> {code}
>   private void validateParameters(Scan scan) throws IOException {
>     if (scan == null
>         || (Bytes.equals(scan.getStartRow(), scan.getStopRow()) && !Bytes
>             .equals(scan.getStartRow(), HConstants.EMPTY_START_ROW))
>         || ((Bytes.compareTo(scan.getStartRow(), scan.getStopRow()) > 0) &&
>               !Bytes.equals(scan.getStopRow(), HConstants.EMPTY_END_ROW))) {
>       throw new IOException(
>           "Agg client Exception: Startrow should be smaller than Stoprow");
>     } else if (scan.getFamilyMap().size() != 1) {
>       throw new IOException("There must be only one family.");
>     }
>   }
> {code}
> “Bytes.equals(scan.getStartRow(), HConstants.EMPTY_START_ROW)” will throw 
> NullPointerException if the startRow of scan is set to null.



--
This message was sent by Atlassian JIRA
(v6.1#6144)

Reply via email to