hbase-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Jim Kellerman (JIRA)" <j...@apache.org>
Subject [jira] Commented: (HBASE-880) Improve the current client API by creating new container classes
Date Fri, 12 Sep 2008 18:23:44 GMT

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

Jim Kellerman commented on HBASE-880:

Ok, I'm on board with JD's basic design with some modifications:

- RowOperation should be abstract
- Don't reuse the name BatchUpdate - it will be harder to deprecate if we do. Use RowMutation
- Have two flavors of get like we do with commit:

public RowResult get(RowGet)
public SortedMap<byte[], RowResult> get(List<RowGet>)

When getting multiple versions, you can still use a RowResult as Cell can contain multiple
values and timestamps.

Constructors for RowGet should have multiple overloads so you can get a single column, multiple
columns, multiple versions, a single timestamp or a pair of timestamps indicating a range.

We should probably also have a RowDelete class so we can support deleteAll

I think we should leave Scanners alone.

> Improve the current client API by creating new container classes
> ----------------------------------------------------------------
>                 Key: HBASE-880
>                 URL: https://issues.apache.org/jira/browse/HBASE-880
>             Project: Hadoop HBase
>          Issue Type: Improvement
>          Components: client
>            Reporter: Jean-Daniel Cryans
>             Fix For: 0.19.0
> The current API does not scale very well. For each new feature, we have to add many methods
to take care of all the overloads. Also, the need to batch row operations (gets, inserts,
deletes) implies that we have to manage some "entities" like we are able to do with BatchUpdate
but not with the other operations. The RowLock should be an attribute of such an entity.
> The scope of this jira is only to replace current API with another feature-compatible
one, other methods will be added in other issues.

This message is automatically generated by JIRA.
You can reply to this email to add a comment to the issue online.

View raw message