hbase-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "stack (JIRA)" <j...@apache.org>
Subject [jira] [Updated] (HBASE-9612) Ability to batch edits destined to different regions
Date Thu, 26 Sep 2013 23:43:03 GMT

     [ https://issues.apache.org/jira/browse/HBASE-9612?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel

stack updated HBASE-9612:

    Attachment: 9612v2.txt

Change format of MultiRequest (and MultiRequestResponse) so can take
multiple regions of edits rather than a single regions' worth.  We
dropped this functionality when we went to pb.

Because a MultiRequest now has one or more regions in it rather than
just one, the new format broke the server-side priority function; it
wants to get a single region out of the method param.  The new MR
doesn't have a single region any more.

So, added priority setting by client.  Currently it is for the multi
call only.  Eventually all calls should go this route so we can get
rid of the ugly annotation-based priority function that we now have
running on the server-side against every incoming request.

Added priority to PayloadCarryingRpcController. Add it here to get
priority into RpcClient.

Change all PayloadCarryingRpcContollers so they have a priority set
according to table that is running the operation.

Changes in HRegionServer undoing the new multi request format and
then on other side composing the response.

Made the replay call just call into the multi call.
> 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.0, 0.95.1, 0.95.2, 0.96.0
>            Reporter: Benoit Sigoure
>            Priority: Critical
>         Attachments: 9612v2.txt, 9612.wip.txt
> 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
> 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

View raw message