hbase-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Joe Pallas (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (HBASE-1837) Fix results contract (If row has no results, return null, if Result has no results return null or empty Sets and Arrays?)
Date Wed, 23 Mar 2011 17:24:05 GMT

    [ 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

Mime
View raw message