hbase-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "stack (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (HBASE-9612) Ability to batch edits destined to different regions
Date Fri, 04 Oct 2013 15:13:45 GMT

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

stack commented on HBASE-9612:

bq. On v9, I've tried locally TestSnapshotFromMaster it worked.

Yeah.  Passes locally for me.   Something is up.

bq. I'm suprised that RegionActionResult does not contain a RegionSpecifier. I added it w/o
using it. I'm checking now the code around this.

Why do we need it?

bq. To remove the multiget, I had to:

I've been at this too.  Can you paste your diff from mine so I can see better what you did?
 Else I'll make the diff myself.  Thanks N.

bq. Something I need to check as well is the behavior when there is an error: on 0.94, it
seems that we doing all the operations, even if there is a failure for one region. On 0.96,
it seems that we stop at the first error.

It depends on the error?  If fatal -- a connection setup failure -- we fail all ops.  Otherwise,
we just return whatever the exception?  Or are you saying that as soon as one region fails,
we stop processing?  It looks like we keep going just setting the exception into the current
regions result set and then move on to the next region.

> 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, 9612-v10-nico.patch, 9612v10.txt, 9612v11.txt, 9612v12.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
> 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

View raw message