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

Joe Pallas commented on HBASE-1837:
-----------------------------------

Current behavior is both confusing and not documented.

"Effective Java" recommends returning empty collections instead of null, in 
general.  I understand the argument about distinguishing between empty and 
missing from HBASE-1028, but with a Bigtable-style dynamic schema, there are 
cases where there simply is no difference.  In those cases, an empty collection 
seems a much better choice for clients.

> Fix results contract (If row has no results, return null, if Result has no 
> results return null or empty Sets and Arrays?)
> -------------------------------------------------------------------------------------------------------------------------
>
>                 Key: HBASE-1837
>                 URL: https://issues.apache.org/jira/browse/HBASE-1837
>             Project: HBase
>          Issue Type: Task
>            Reporter: stack
>             Fix For: 0.92.0
>
>
> Make sure we are consistent regards results contract.  As jgray says:
> {code}
> 17:47 < jgray> decisions are things like, if the result is empty do we return 
> nulls or do we return empty 
>                lists/0-length arrays
> 17:47 < jgray> if result is empty, do we return null for row?
> 17:47 < jgray> and if row is the null row, we then return zero-length byte[0]
> 17:48 < St^Ack_> So, if row is empty, we return null (I believe)
> 17:48 < jgray> yes
> 17:49 < St^Ack_> If you have a result, up to this, if empty, it would not 
> return null stuff.
> 17:49 < jgray> no it did return null stuff
> 17:49 < jgray> at least many of them did
> 17:49 < St^Ack_> oh.. ok.
> 17:49 < jgray> but then my result delayed deserialization broke that on one 
> case
> 17:49 < St^Ack_> I thought I'd added it w/ 1836?
> 17:49 < jgray> yeah u fixed what i broke, i think
> 17:50 < jgray> but we should nail down the contract, specify what it is in 
> javadoc, and add unit tests to verify such
> ...
> {code}

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

Reply via email to