hbase-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Benoit Sigoure (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (HBASE-9612) Ability to batch edits destined to different regions
Date Thu, 03 Oct 2013 05:22:49 GMT

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

Benoit Sigoure commented on HBASE-9612:
---------------------------------------

Sorry to see the far reaching consequences this change has.  If we were to re-do this from
scratch (so assuming that the "batch" call didn't exist), would you have a "multi" RPC that
does only-edits (instead of a mix of edits and gets) because that would be simpler?

I don't have a strong feeling on mixing edits and gets, but I believe being able to batch
edits across regions in one RPC call is pretty important.

> 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, 9612v5.txt, 9612v7.txt,
9612v8.096.txt, 9612v8.txt, 9612v9.txt, 9612v9.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