hbase-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Nicolas Liochon (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (HBASE-9612) Ability to batch edits destined to different regions
Date Wed, 02 Oct 2013 07:59:25 GMT

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

Nicolas Liochon commented on HBASE-9612:
----------------------------------------



bq.  The index of request items is meant to align with the response items only there is the
AsyncProcess in between w/ its own notion of cutting items by RegionServer and Region.
I can help you there may be? The issue is that we need to send the result in an array that
matches the request array, this whatever happens in between... 

bq. my patch does not cover batch mixing Gets and Mutations (I seemed to have missed this
'minor' detail refactoring). 
If we go this route we need to include MutateRequest (conditions) in the proto: they should
be batchable for sure (even if we do the server & client side later). I can help as well.

> 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
>            Assignee: stack
>            Priority: Critical
>             Fix For: 0.98.0, 0.96.0
>
>         Attachments: 0001-fix-packaging-by-region-in-MultiServerCallable.patch, 9612.096.v5.txt,
9612revert.txt, 9612v2.txt, 9612v3.txt, 9612v4.txt, 9612v5.txt, 9612v5.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
{{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 was sent by Atlassian JIRA
(v6.1#6144)

Mime
View raw message