hbase-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Hiroshi Ikeda (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (HBASE-16498) NPE when Scan's stopRow is set NULL
Date Fri, 26 Aug 2016 06:40:21 GMT

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

Hiroshi Ikeda commented on HBASE-16498:

In general the behavior is undefined when passing a null argument unless there is an explicit
comment about what the null means.
I would prefer adding a contract of throwing NPE at constructor and setters in Scan :P
Anyway it is better to set the null-objects (EMPTY_START_ROW, EMPTY_END_ROW) to the fields
at constructor and setters if any, instead of null checking every time you get.

> NPE when Scan's stopRow is set NULL
> -----------------------------------
>                 Key: HBASE-16498
>                 URL: https://issues.apache.org/jira/browse/HBASE-16498
>             Project: HBase
>          Issue Type: Bug
>          Components: Client
>    Affects Versions: 2.0.0, 1.3.0, 1.4.0, 1.1.6, 1.2.3
>            Reporter: Pankaj Kumar
>            Assignee: Pankaj Kumar
>            Priority: Minor
>         Attachments: HBASE-16498-V2.patch, HBASE-16498.patch
> During scan operation we validate whether this is the last region of table, if not then
records will be retrieved from nextscanner. If stop row is set null then NPE will be thrown
while validating stop row with region endkey.
> {noformat}
> java.lang.NullPointerException
> 	at org.apache.hadoop.hbase.client.ClientScanner.checkScanStopRow(ClientScanner.java:217)
> 	at org.apache.hadoop.hbase.client.ClientScanner.nextScanner(ClientScanner.java:266)
> 	at org.apache.hadoop.hbase.client.ClientScanner.possiblyNextScanner(ClientScanner.java:237)
> 	at org.apache.hadoop.hbase.client.ClientScanner.loadCache(ClientScanner.java:537)
> 	at org.apache.hadoop.hbase.client.ClientScanner.nextWithSyncCache(ClientScanner.java:363)
> 	at org.apache.hadoop.hbase.client.ClientSimpleScanner.next(ClientSimpleScanner.java:50)
> 	at org.apache.hadoop.hbase.client.AbstractClientScanner.next(AbstractClientScanner.java:70)
> 	at org.apache.hadoop.hbase.client.TestAdmin2.testScanWithSplitKeysAndNullStartEndRow(TestAdmin2.java:803)
> {noformat}
> We should return empty byte array when start/end row is set NULL.

This message was sent by Atlassian JIRA

View raw message