You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@hbase.apache.org by "Jim Kellerman (JIRA)" <ji...@apache.org> on 2008/10/01 04:33:46 UTC

[jira] Commented: (HBASE-880) Improve the current client API by creating new container classes

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

Jim Kellerman commented on HBASE-880:
-------------------------------------

In the latest proposal, proposal2.jpg, note that DeleteOperation and GetOperation rely on static methods to properly
construct the objects, and that the constructors (except for the default constructor) are private. (in the superclasses,
they are protected).

By forcing clients to use these static methods, we ensure that the objects are constructed correctly. RowUpdate
has been greatly simplified by removing a lot of overloads.

In HTable, there are basically two operations: get and commit.

Scanners have still not been addressed yet.

This proposal, the latest exchanges between Stack and myself have been addressed.




> 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
>            Assignee: Jean-Daniel Cryans
>             Fix For: 0.19.0
>
>         Attachments: hbase-880-patch.jpg, hbase-880-v1.patch, hbase-880-v2.patch, hbase_client_classes.png, proposal2.jpg, proposed.jpg
>
>
> 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.