You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@hbase.apache.org by "Benoit Sigoure (JIRA)" <ji...@apache.org> on 2013/09/22 04:30:52 UTC

[jira] [Created] (HBASE-9612) Ability to batch edits destined to different regions

Benoit Sigoure created HBASE-9612:
-------------------------------------

             Summary: Ability to batch edits destined to different regions
                 Key: HBASE-9612
                 URL: https://issues.apache.org/jira/browse/HBASE-9612
             Project: HBase
          Issue Type: Bug
    Affects Versions: 0.95.2, 0.95.1, 0.95.0, 0.96.0
            Reporter: Benoit Sigoure


The old (pre-PB) "multi" and "multiPut" RPCs allowed one to batch edits destined to different regions.  Seems like we've lost this ability after the switch to protobufs.

The {{MultiRequest}} only contains one {{RegionSpecifier}}, and a list of {{MultiAction}}.  The {{MultiAction}} message is contains either a single {{MutationProto}} or a {{Get}} (but not both – so its name is misleading as there is nothing "multi" about it).  Also it seems redundant with {{MultiGetRequest}}, I'm not sure what's the point of supporting {{Get}} in {{MultiAction}}.

I propose that we change {{MultiRequest}} to be a just a list of {{MultiAction}}, and {{MultiAction}} will contain the {{RegionSpecifier}}, the {{bool atomic}} and a list of {{MutationProto}}.  This would be a non-backward compatible protobuf change.

If we want we can support mixing edits and reads, in which case we'd also add a list of {{Get}} in {{MultiAction}}, and we'd have support having both that list and the list of {{MutationProto}} set at the same time.  But this is a bonus and can be done later (in a backward compatible manner, hence no need to rush on this one).

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira