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

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

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

v10 is:
 - a rebase
 - a few typos
 - removal of multiGet mentioned above (more below)
 - 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.

To remove the multiget, I had to:
 - fix a npe in CellScanner
 - move the 'checkExistence' boolean to the Get & the Result structure.
 
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 stops at the first error.


> 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 
> {{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)

Reply via email to