[jira] [Commented] (HBASE-9612) Ability to batch edits destined to different regions
[ https://issues.apache.org/jira/browse/HBASE-9612?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13789947#comment-13789947 ] Sergey Shelukhin commented on HBASE-9612: - I was wondering whether you have seen what turned out to be HBASE-9730 :) > 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: Blocker > Fix For: 0.98.0, 0.96.0 > > Attachments: > 0001-fix-packaging-by-region-in-MultiServerCallable.patch, 9612.096.v5.txt, > 9612-nico.v14.096.txt, 9612-nico.v14.096.txt, 9612-nico.v14.096.txt, > 9612revert.txt, 9612-v10-nico.patch, 9612v10.txt, 9612-v11-nico.patch, > 9612v11.txt, 9612v12.txt, 9612.v13-nico.patch, 9612.v14-nico.patch, > 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, > broken.patch > > > 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)
[jira] [Commented] (HBASE-9612) Ability to batch edits destined to different regions
[ https://issues.apache.org/jira/browse/HBASE-9612?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13789611#comment-13789611 ] stack commented on HBASE-9612: -- [~sershe] We are running integration tests now (caveat bug that makes it so master doesn't come back). You worried about integrity/perf? > 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: Blocker > Fix For: 0.98.0, 0.96.0 > > Attachments: > 0001-fix-packaging-by-region-in-MultiServerCallable.patch, 9612.096.v5.txt, > 9612-nico.v14.096.txt, 9612-nico.v14.096.txt, 9612-nico.v14.096.txt, > 9612revert.txt, 9612-v10-nico.patch, 9612v10.txt, 9612-v11-nico.patch, > 9612v11.txt, 9612v12.txt, 9612.v13-nico.patch, 9612.v14-nico.patch, > 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, > broken.patch > > > 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)
[jira] [Commented] (HBASE-9612) Ability to batch edits destined to different regions
[ https://issues.apache.org/jira/browse/HBASE-9612?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13789591#comment-13789591 ] Sergey Shelukhin commented on HBASE-9612: - did anyone run integration tests on this on a cluster? just wondering > 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: Blocker > Fix For: 0.98.0, 0.96.0 > > Attachments: > 0001-fix-packaging-by-region-in-MultiServerCallable.patch, 9612.096.v5.txt, > 9612-nico.v14.096.txt, 9612-nico.v14.096.txt, 9612-nico.v14.096.txt, > 9612revert.txt, 9612-v10-nico.patch, 9612v10.txt, 9612-v11-nico.patch, > 9612v11.txt, 9612v12.txt, 9612.v13-nico.patch, 9612.v14-nico.patch, > 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, > broken.patch > > > 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)
[jira] [Commented] (HBASE-9612) Ability to batch edits destined to different regions
[ https://issues.apache.org/jira/browse/HBASE-9612?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13786919#comment-13786919 ] Hudson commented on HBASE-9612: --- SUCCESS: Integrated in HBase-TRUNK #4593 (See [https://builds.apache.org/job/HBase-TRUNK/4593/]) HBASE-9612 Ability to batch edits destined to different regions (stack: rev 1529348) * /hbase/trunk/hbase-client/src/main/java/org/apache/hadoop/hbase/client/AsyncProcess.java * /hbase/trunk/hbase-client/src/main/java/org/apache/hadoop/hbase/client/ClientSmallScanner.java * /hbase/trunk/hbase-client/src/main/java/org/apache/hadoop/hbase/client/Get.java * /hbase/trunk/hbase-client/src/main/java/org/apache/hadoop/hbase/client/HBaseAdmin.java * /hbase/trunk/hbase-client/src/main/java/org/apache/hadoop/hbase/client/HConnectionManager.java * /hbase/trunk/hbase-client/src/main/java/org/apache/hadoop/hbase/client/HTable.java * /hbase/trunk/hbase-client/src/main/java/org/apache/hadoop/hbase/client/MultiServerCallable.java * /hbase/trunk/hbase-client/src/main/java/org/apache/hadoop/hbase/client/Result.java * /hbase/trunk/hbase-client/src/main/java/org/apache/hadoop/hbase/client/ScannerCallable.java * /hbase/trunk/hbase-client/src/main/java/org/apache/hadoop/hbase/ipc/PayloadCarryingRpcController.java * /hbase/trunk/hbase-client/src/main/java/org/apache/hadoop/hbase/ipc/RpcClient.java * /hbase/trunk/hbase-client/src/main/java/org/apache/hadoop/hbase/protobuf/ProtobufUtil.java * /hbase/trunk/hbase-client/src/main/java/org/apache/hadoop/hbase/protobuf/RequestConverter.java * /hbase/trunk/hbase-client/src/main/java/org/apache/hadoop/hbase/protobuf/ResponseConverter.java * /hbase/trunk/hbase-client/src/test/java/org/apache/hadoop/hbase/client/TestAsyncProcess.java * /hbase/trunk/hbase-client/src/test/java/org/apache/hadoop/hbase/client/TestClientNoCluster.java * /hbase/trunk/hbase-common/src/main/java/org/apache/hadoop/hbase/CellUtil.java * /hbase/trunk/hbase-protocol/README.txt * /hbase/trunk/hbase-protocol/src/main/java/org/apache/hadoop/hbase/protobuf/generated/ClientProtos.java * /hbase/trunk/hbase-protocol/src/main/java/org/apache/hadoop/hbase/protobuf/generated/RPCProtos.java * /hbase/trunk/hbase-protocol/src/main/protobuf/Client.proto * /hbase/trunk/hbase-protocol/src/main/protobuf/RPC.proto * /hbase/trunk/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/AnnotationReadingPriorityFunction.java * /hbase/trunk/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HRegion.java * /hbase/trunk/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HRegionServer.java * /hbase/trunk/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/wal/WALEditsReplaySink.java * /hbase/trunk/hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestFromClientSide.java * /hbase/trunk/hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestHCM.java * /hbase/trunk/hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestMultiParallel.java * /hbase/trunk/hbase-server/src/test/java/org/apache/hadoop/hbase/ipc/TestIPC.java * /hbase/trunk/hbase-server/src/test/java/org/apache/hadoop/hbase/master/MockRegionServer.java * /hbase/trunk/hbase-server/src/test/java/org/apache/hadoop/hbase/master/cleaner/TestSnapshotFromMaster.java * /hbase/trunk/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestHRegionBusyWait.java * /hbase/trunk/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestQosFunction.java * /hbase/trunk/hbase-server/src/test/java/org/apache/hadoop/hbase/rest/TestResourceFilter.java > 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: Blocker > Fix For: 0.98.0, 0.96.0 > > Attachments: > 0001-fix-packaging-by-region-in-MultiServerCallable.patch, 9612.096.v5.txt, > 9612-nico.v14.096.txt, 9612-nico.v14.096.txt, 9612-nico.v14.096.txt, > 9612revert.txt, 9612-v10-nico.patch, 9612v10.txt, 9612-v11-nico.patch, > 9612v11.txt, 9612v12.txt, 9612.v13-nico.patch, 9612.v14-nico.patch, > 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, > broken.patch > > > 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}} (
[jira] [Commented] (HBASE-9612) Ability to batch edits destined to different regions
[ https://issues.apache.org/jira/browse/HBASE-9612?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13786906#comment-13786906 ] Hudson commented on HBASE-9612: --- SUCCESS: Integrated in hbase-0.96 #125 (See [https://builds.apache.org/job/hbase-0.96/125/]) HBASE-9612 Ability to batch edits destined to different regions (stack: rev 1529355) * /hbase/branches/0.96/hbase-client/src/main/java/org/apache/hadoop/hbase/client/AsyncProcess.java * /hbase/branches/0.96/hbase-client/src/main/java/org/apache/hadoop/hbase/client/ClientSmallScanner.java * /hbase/branches/0.96/hbase-client/src/main/java/org/apache/hadoop/hbase/client/Get.java * /hbase/branches/0.96/hbase-client/src/main/java/org/apache/hadoop/hbase/client/HBaseAdmin.java * /hbase/branches/0.96/hbase-client/src/main/java/org/apache/hadoop/hbase/client/HConnectionManager.java * /hbase/branches/0.96/hbase-client/src/main/java/org/apache/hadoop/hbase/client/HTable.java * /hbase/branches/0.96/hbase-client/src/main/java/org/apache/hadoop/hbase/client/MultiServerCallable.java * /hbase/branches/0.96/hbase-client/src/main/java/org/apache/hadoop/hbase/client/Result.java * /hbase/branches/0.96/hbase-client/src/main/java/org/apache/hadoop/hbase/client/ScannerCallable.java * /hbase/branches/0.96/hbase-client/src/main/java/org/apache/hadoop/hbase/ipc/PayloadCarryingRpcController.java * /hbase/branches/0.96/hbase-client/src/main/java/org/apache/hadoop/hbase/ipc/RpcClient.java * /hbase/branches/0.96/hbase-client/src/main/java/org/apache/hadoop/hbase/protobuf/ProtobufUtil.java * /hbase/branches/0.96/hbase-client/src/main/java/org/apache/hadoop/hbase/protobuf/RequestConverter.java * /hbase/branches/0.96/hbase-client/src/main/java/org/apache/hadoop/hbase/protobuf/ResponseConverter.java * /hbase/branches/0.96/hbase-client/src/test/java/org/apache/hadoop/hbase/client/TestAsyncProcess.java * /hbase/branches/0.96/hbase-client/src/test/java/org/apache/hadoop/hbase/client/TestClientNoCluster.java * /hbase/branches/0.96/hbase-common/src/main/java/org/apache/hadoop/hbase/CellUtil.java * /hbase/branches/0.96/hbase-protocol/README.txt * /hbase/branches/0.96/hbase-protocol/src/main/java/org/apache/hadoop/hbase/protobuf/generated/ClientProtos.java * /hbase/branches/0.96/hbase-protocol/src/main/java/org/apache/hadoop/hbase/protobuf/generated/RPCProtos.java * /hbase/branches/0.96/hbase-protocol/src/main/protobuf/Client.proto * /hbase/branches/0.96/hbase-protocol/src/main/protobuf/RPC.proto * /hbase/branches/0.96/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HRegion.java * /hbase/branches/0.96/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HRegionServer.java * /hbase/branches/0.96/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/QosFunction.java * /hbase/branches/0.96/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/wal/WALEditsReplaySink.java * /hbase/branches/0.96/hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestFromClientSide.java * /hbase/branches/0.96/hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestHCM.java * /hbase/branches/0.96/hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestMultiParallel.java * /hbase/branches/0.96/hbase-server/src/test/java/org/apache/hadoop/hbase/ipc/TestIPC.java * /hbase/branches/0.96/hbase-server/src/test/java/org/apache/hadoop/hbase/master/MockRegionServer.java * /hbase/branches/0.96/hbase-server/src/test/java/org/apache/hadoop/hbase/master/cleaner/TestSnapshotFromMaster.java * /hbase/branches/0.96/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestHRegionBusyWait.java * /hbase/branches/0.96/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestQosFunction.java * /hbase/branches/0.96/hbase-server/src/test/java/org/apache/hadoop/hbase/rest/TestResourceFilter.java > 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: Blocker > Fix For: 0.98.0, 0.96.0 > > Attachments: > 0001-fix-packaging-by-region-in-MultiServerCallable.patch, 9612.096.v5.txt, > 9612-nico.v14.096.txt, 9612-nico.v14.096.txt, 9612-nico.v14.096.txt, > 9612revert.txt, 9612-v10-nico.patch, 9612v10.txt, 9612-v11-nico.patch, > 9612v11.txt, 9612v12.txt, 9612.v13-nico.patch, 9612.v14-nico.patch, > 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, > broken.patch > > > The old (pre-PB) "multi" and "multiPut" RPCs allowed one to batch edits > destined to different regions. Se
[jira] [Commented] (HBASE-9612) Ability to batch edits destined to different regions
[ https://issues.apache.org/jira/browse/HBASE-9612?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13786852#comment-13786852 ] Hudson commented on HBASE-9612: --- SUCCESS: Integrated in HBase-TRUNK-on-Hadoop-2.0.0 #778 (See [https://builds.apache.org/job/HBase-TRUNK-on-Hadoop-2.0.0/778/]) HBASE-9612 Ability to batch edits destined to different regions (stack: rev 1529348) * /hbase/trunk/hbase-client/src/main/java/org/apache/hadoop/hbase/client/AsyncProcess.java * /hbase/trunk/hbase-client/src/main/java/org/apache/hadoop/hbase/client/ClientSmallScanner.java * /hbase/trunk/hbase-client/src/main/java/org/apache/hadoop/hbase/client/Get.java * /hbase/trunk/hbase-client/src/main/java/org/apache/hadoop/hbase/client/HBaseAdmin.java * /hbase/trunk/hbase-client/src/main/java/org/apache/hadoop/hbase/client/HConnectionManager.java * /hbase/trunk/hbase-client/src/main/java/org/apache/hadoop/hbase/client/HTable.java * /hbase/trunk/hbase-client/src/main/java/org/apache/hadoop/hbase/client/MultiServerCallable.java * /hbase/trunk/hbase-client/src/main/java/org/apache/hadoop/hbase/client/Result.java * /hbase/trunk/hbase-client/src/main/java/org/apache/hadoop/hbase/client/ScannerCallable.java * /hbase/trunk/hbase-client/src/main/java/org/apache/hadoop/hbase/ipc/PayloadCarryingRpcController.java * /hbase/trunk/hbase-client/src/main/java/org/apache/hadoop/hbase/ipc/RpcClient.java * /hbase/trunk/hbase-client/src/main/java/org/apache/hadoop/hbase/protobuf/ProtobufUtil.java * /hbase/trunk/hbase-client/src/main/java/org/apache/hadoop/hbase/protobuf/RequestConverter.java * /hbase/trunk/hbase-client/src/main/java/org/apache/hadoop/hbase/protobuf/ResponseConverter.java * /hbase/trunk/hbase-client/src/test/java/org/apache/hadoop/hbase/client/TestAsyncProcess.java * /hbase/trunk/hbase-client/src/test/java/org/apache/hadoop/hbase/client/TestClientNoCluster.java * /hbase/trunk/hbase-common/src/main/java/org/apache/hadoop/hbase/CellUtil.java * /hbase/trunk/hbase-protocol/README.txt * /hbase/trunk/hbase-protocol/src/main/java/org/apache/hadoop/hbase/protobuf/generated/ClientProtos.java * /hbase/trunk/hbase-protocol/src/main/java/org/apache/hadoop/hbase/protobuf/generated/RPCProtos.java * /hbase/trunk/hbase-protocol/src/main/protobuf/Client.proto * /hbase/trunk/hbase-protocol/src/main/protobuf/RPC.proto * /hbase/trunk/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/AnnotationReadingPriorityFunction.java * /hbase/trunk/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HRegion.java * /hbase/trunk/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HRegionServer.java * /hbase/trunk/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/wal/WALEditsReplaySink.java * /hbase/trunk/hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestFromClientSide.java * /hbase/trunk/hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestHCM.java * /hbase/trunk/hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestMultiParallel.java * /hbase/trunk/hbase-server/src/test/java/org/apache/hadoop/hbase/ipc/TestIPC.java * /hbase/trunk/hbase-server/src/test/java/org/apache/hadoop/hbase/master/MockRegionServer.java * /hbase/trunk/hbase-server/src/test/java/org/apache/hadoop/hbase/master/cleaner/TestSnapshotFromMaster.java * /hbase/trunk/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestHRegionBusyWait.java * /hbase/trunk/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestQosFunction.java * /hbase/trunk/hbase-server/src/test/java/org/apache/hadoop/hbase/rest/TestResourceFilter.java > 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: Blocker > Fix For: 0.98.0, 0.96.0 > > Attachments: > 0001-fix-packaging-by-region-in-MultiServerCallable.patch, 9612.096.v5.txt, > 9612-nico.v14.096.txt, 9612-nico.v14.096.txt, 9612-nico.v14.096.txt, > 9612revert.txt, 9612-v10-nico.patch, 9612v10.txt, 9612-v11-nico.patch, > 9612v11.txt, 9612v12.txt, 9612.v13-nico.patch, 9612.v14-nico.patch, > 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, > broken.patch > > > 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 > {{
[jira] [Commented] (HBASE-9612) Ability to batch edits destined to different regions
[ https://issues.apache.org/jira/browse/HBASE-9612?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13786788#comment-13786788 ] stack commented on HBASE-9612: -- Thanks @nkeywal for finishing the patch (dev-around-the-clock). > 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: Blocker > Fix For: 0.98.0, 0.96.0 > > Attachments: > 0001-fix-packaging-by-region-in-MultiServerCallable.patch, 9612.096.v5.txt, > 9612-nico.v14.096.txt, 9612-nico.v14.096.txt, 9612-nico.v14.096.txt, > 9612revert.txt, 9612-v10-nico.patch, 9612v10.txt, 9612-v11-nico.patch, > 9612v11.txt, 9612v12.txt, 9612.v13-nico.patch, 9612.v14-nico.patch, > 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, > broken.patch > > > 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)
[jira] [Commented] (HBASE-9612) Ability to batch edits destined to different regions
[ https://issues.apache.org/jira/browse/HBASE-9612?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13786789#comment-13786789 ] Hudson commented on HBASE-9612: --- FAILURE: Integrated in hbase-0.96-hadoop2 #76 (See [https://builds.apache.org/job/hbase-0.96-hadoop2/76/]) HBASE-9612 Ability to batch edits destined to different regions (stack: rev 1529355) * /hbase/branches/0.96/hbase-client/src/main/java/org/apache/hadoop/hbase/client/AsyncProcess.java * /hbase/branches/0.96/hbase-client/src/main/java/org/apache/hadoop/hbase/client/ClientSmallScanner.java * /hbase/branches/0.96/hbase-client/src/main/java/org/apache/hadoop/hbase/client/Get.java * /hbase/branches/0.96/hbase-client/src/main/java/org/apache/hadoop/hbase/client/HBaseAdmin.java * /hbase/branches/0.96/hbase-client/src/main/java/org/apache/hadoop/hbase/client/HConnectionManager.java * /hbase/branches/0.96/hbase-client/src/main/java/org/apache/hadoop/hbase/client/HTable.java * /hbase/branches/0.96/hbase-client/src/main/java/org/apache/hadoop/hbase/client/MultiServerCallable.java * /hbase/branches/0.96/hbase-client/src/main/java/org/apache/hadoop/hbase/client/Result.java * /hbase/branches/0.96/hbase-client/src/main/java/org/apache/hadoop/hbase/client/ScannerCallable.java * /hbase/branches/0.96/hbase-client/src/main/java/org/apache/hadoop/hbase/ipc/PayloadCarryingRpcController.java * /hbase/branches/0.96/hbase-client/src/main/java/org/apache/hadoop/hbase/ipc/RpcClient.java * /hbase/branches/0.96/hbase-client/src/main/java/org/apache/hadoop/hbase/protobuf/ProtobufUtil.java * /hbase/branches/0.96/hbase-client/src/main/java/org/apache/hadoop/hbase/protobuf/RequestConverter.java * /hbase/branches/0.96/hbase-client/src/main/java/org/apache/hadoop/hbase/protobuf/ResponseConverter.java * /hbase/branches/0.96/hbase-client/src/test/java/org/apache/hadoop/hbase/client/TestAsyncProcess.java * /hbase/branches/0.96/hbase-client/src/test/java/org/apache/hadoop/hbase/client/TestClientNoCluster.java * /hbase/branches/0.96/hbase-common/src/main/java/org/apache/hadoop/hbase/CellUtil.java * /hbase/branches/0.96/hbase-protocol/README.txt * /hbase/branches/0.96/hbase-protocol/src/main/java/org/apache/hadoop/hbase/protobuf/generated/ClientProtos.java * /hbase/branches/0.96/hbase-protocol/src/main/java/org/apache/hadoop/hbase/protobuf/generated/RPCProtos.java * /hbase/branches/0.96/hbase-protocol/src/main/protobuf/Client.proto * /hbase/branches/0.96/hbase-protocol/src/main/protobuf/RPC.proto * /hbase/branches/0.96/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HRegion.java * /hbase/branches/0.96/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HRegionServer.java * /hbase/branches/0.96/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/QosFunction.java * /hbase/branches/0.96/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/wal/WALEditsReplaySink.java * /hbase/branches/0.96/hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestFromClientSide.java * /hbase/branches/0.96/hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestHCM.java * /hbase/branches/0.96/hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestMultiParallel.java * /hbase/branches/0.96/hbase-server/src/test/java/org/apache/hadoop/hbase/ipc/TestIPC.java * /hbase/branches/0.96/hbase-server/src/test/java/org/apache/hadoop/hbase/master/MockRegionServer.java * /hbase/branches/0.96/hbase-server/src/test/java/org/apache/hadoop/hbase/master/cleaner/TestSnapshotFromMaster.java * /hbase/branches/0.96/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestHRegionBusyWait.java * /hbase/branches/0.96/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestQosFunction.java * /hbase/branches/0.96/hbase-server/src/test/java/org/apache/hadoop/hbase/rest/TestResourceFilter.java > 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: Blocker > Fix For: 0.98.0, 0.96.0 > > Attachments: > 0001-fix-packaging-by-region-in-MultiServerCallable.patch, 9612.096.v5.txt, > 9612-nico.v14.096.txt, 9612-nico.v14.096.txt, 9612-nico.v14.096.txt, > 9612revert.txt, 9612-v10-nico.patch, 9612v10.txt, 9612-v11-nico.patch, > 9612v11.txt, 9612v12.txt, 9612.v13-nico.patch, 9612.v14-nico.patch, > 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, > broken.patch > > > The old (pre-PB) "multi" and "multiPut" RPCs allowed one to batch edits > destined to differen
[jira] [Commented] (HBASE-9612) Ability to batch edits destined to different regions
[ https://issues.apache.org/jira/browse/HBASE-9612?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13786746#comment-13786746 ] Enis Soztutar commented on HBASE-9612: -- Cool, hadoopqa also +1'ed the patch. Let's get this in to RC. We will run the full suite of tests on the RC anyway, so the patch will be tested even more at the RC. > 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: Blocker > 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, 9612-v11-nico.patch, > 9612v11.txt, 9612v12.txt, 9612.v13-nico.patch, 9612.v14-nico.patch, > 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, > broken.patch > > > 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)
[jira] [Commented] (HBASE-9612) Ability to batch edits destined to different regions
[ https://issues.apache.org/jira/browse/HBASE-9612?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13786736#comment-13786736 ] Hadoop QA commented on HBASE-9612: -- {color:red}-1 overall{color}. Here are the results of testing the latest attachment http://issues.apache.org/jira/secure/attachment/12606882/9612.v14-nico.patch against trunk revision . {color:green}+1 @author{color}. The patch does not contain any @author tags. {color:green}+1 tests included{color}. The patch appears to include 33 new or modified tests. {color:green}+1 hadoop1.0{color}. The patch compiles against the hadoop 1.0 profile. {color:green}+1 hadoop2.0{color}. The patch compiles against the hadoop 2.0 profile. {color:green}+1 javadoc{color}. The javadoc tool did not generate any warning messages. {color:green}+1 javac{color}. The applied patch does not increase the total number of javac compiler warnings. {color:green}+1 findbugs{color}. The patch does not introduce any new Findbugs (version 1.3.9) warnings. {color:green}+1 release audit{color}. The applied patch does not increase the total number of release audit warnings. {color:green}+1 lineLengths{color}. The patch does not introduce lines longer than 100 {color:red}-1 site{color}. The patch appears to cause mvn site goal to fail. {color:green}+1 core tests{color}. The patch passed unit tests in . Test results: https://builds.apache.org/job/PreCommit-HBASE-Build/7473//testReport/ Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/7473//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-protocol.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/7473//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-thrift.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/7473//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-client.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/7473//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-examples.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/7473//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-hadoop1-compat.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/7473//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-prefix-tree.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/7473//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-common.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/7473//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-server.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/7473//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-hadoop-compat.html Console output: https://builds.apache.org/job/PreCommit-HBASE-Build/7473//console This message is automatically generated. > 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: Blocker > 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, 9612-v11-nico.patch, > 9612v11.txt, 9612v12.txt, 9612.v13-nico.patch, 9612.v14-nico.patch, > 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, > broken.patch > > > 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 {{Mutati
[jira] [Commented] (HBASE-9612) Ability to batch edits destined to different regions
[ https://issues.apache.org/jira/browse/HBASE-9612?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13786614#comment-13786614 ] stack commented on HBASE-9612: -- v13 patch passed all tests when run locally for me. > 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: Blocker > 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, 9612-v11-nico.patch, > 9612v11.txt, 9612v12.txt, 9612.v13-nico.patch, 9612.v14-nico.patch, > 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, > broken.patch > > > 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)
[jira] [Commented] (HBASE-9612) Ability to batch edits destined to different regions
[ https://issues.apache.org/jira/browse/HBASE-9612?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13786575#comment-13786575 ] Nicolas Liochon commented on HBASE-9612: v14 is v13 w/o the change on HLogSplitter > 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: Blocker > 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, 9612-v11-nico.patch, > 9612v11.txt, 9612v12.txt, 9612.v13-nico.patch, 9612.v14-nico.patch, > 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, > broken.patch > > > 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)
[jira] [Commented] (HBASE-9612) Ability to batch edits destined to different regions
[ https://issues.apache.org/jira/browse/HBASE-9612?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13786565#comment-13786565 ] Nicolas Liochon commented on HBASE-9612: I pulled the trunk & forgot to merge. Will fix. > 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, 9612-v11-nico.patch, > 9612v11.txt, 9612v12.txt, 9612.v13-nico.patch, 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, broken.patch > > > 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)
[jira] [Commented] (HBASE-9612) Ability to batch edits destined to different regions
[ https://issues.apache.org/jira/browse/HBASE-9612?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13786563#comment-13786563 ] stack commented on HBASE-9612: -- Is this change supposed to be in HLogSplitter? 16 // skip the edit 17 -if (loc == null || needSkip) continue; 18 +if (needSkip) continue; +1 on v13 for trunk and 0.96 > 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, 9612-v11-nico.patch, > 9612v11.txt, 9612v12.txt, 9612.v13-nico.patch, 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, broken.patch > > > 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)
[jira] [Commented] (HBASE-9612) Ability to batch edits destined to different regions
[ https://issues.apache.org/jira/browse/HBASE-9612?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13786386#comment-13786386 ] stack commented on HBASE-9612: -- Thats in RequestConverter.java > 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, 9612-v11-nico.patch, > 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)
[jira] [Commented] (HBASE-9612) Ability to batch edits destined to different regions
[ https://issues.apache.org/jira/browse/HBASE-9612?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13786384#comment-13786384 ] stack commented on HBASE-9612: -- Oh, I think you need this too. {code} 1 -continue; // ignore RowMutations 0 +throw new UnsupportedOperationException("No RowMutations in multi calls; use mutateRow"); {code} > 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, 9612-v11-nico.patch, > 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)
[jira] [Commented] (HBASE-9612) Ability to batch edits destined to different regions
[ https://issues.apache.org/jira/browse/HBASE-9612?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13786380#comment-13786380 ] stack commented on HBASE-9612: -- Can we get this into your patch? {code} 1 List> toReplay = new ArrayList>(initialActions.size()); 2 -for (List> actions : rsActions.actions.values()) { 3 - for (Action action : actions) { 4 +for (Map.Entry>> e : rsActions.getActions().entrySet()) { 5 + for (Action action : e.getValue()) { {code} The call to actions.values is expensive -- it makes new list of all actions iterating over total set. +1 on change to Get. closest flag needs to move from GetRequest into the Get proto. This... 3 + // If the row to get doesn't exist, return the closest row before. 2 + optional bool closest_row_before = 10; Remove this comment that is now wrong: 6 - * Unless existence_only is specified in the get, return all the requested data 7 - * for the row that matches exactly, or the one that immediately 8 - * precedes it if closest_row_before is specified. This is interesting: 12 message RegionActionResult { 11 - repeated ResultOrException resultOrException = 2; 10 - // If the operation failed globally for this region, this exception is set 9 - optional NameBytesPair exception = 3; I like the way you added this new exceptoin and your use of it in HRS. In ResponseConverter I was returning an empty Result. You are throwing an exception. Lets keep yours for now (You are the '-' and I am the '+' in below). {code} 31 - // no result & no exception. Unexpected. 32 - throw new IllegalStateException("No result & no exception roe=" + roe + 33 - " for region " + actions.getRegion()); 34 + // Just a placeholder 35 + results.add(regionName, new Pair(roe.getIndex(), new Result())); 36 } 37} 38 } {code} You don't need this change in yours? {code} 20 diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestFromClientSide.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestFromClientSide.java 21 index af522b1..46e181f 100644 22 --- a/hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestFromClientSide.java 23 +++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestFromClientSide.java 24 @@ -4357,9 +4357,10 @@ public class TestFromClientSide { 25 arm.add(d); 26 // TODO: Trying mutateRow again. The batch was failing with a one try only. 27 // t.mutateRow(arm); 28 -t.batch(Arrays.asList((Row)arm)); 29 +t.mutateRow(arm); {code} Test MultiParallel was failing w/o the above. Yeah, your patch is less change than mine. Good one [~nkeywal] > 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, 9612-v11-nico.patch, > 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)
[jira] [Commented] (HBASE-9612) Ability to batch edits destined to different regions
[ https://issues.apache.org/jira/browse/HBASE-9612?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13786349#comment-13786349 ] stack commented on HBASE-9612: -- I like [~nkeywal]'s removal of multiGet better than my approach. His is less change and cleaner. Working to reconcile the patches now. > 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, 9612-v11-nico.patch, > 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)
[jira] [Commented] (HBASE-9612) Ability to batch edits destined to different regions
[ https://issues.apache.org/jira/browse/HBASE-9612?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13786333#comment-13786333 ] stack commented on HBASE-9612: -- What you think of these failure [~nkeywal] ? You able to fix? I've been working on patch since early morning... almost done.. .but let me look at yours (From our text discussions, yours sounds better than mine). > 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, 9612-v11-nico.patch, > 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)
[jira] [Commented] (HBASE-9612) Ability to batch edits destined to different regions
[ https://issues.apache.org/jira/browse/HBASE-9612?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13786320#comment-13786320 ] Hadoop QA commented on HBASE-9612: -- {color:red}-1 overall{color}. Here are the results of testing the latest attachment http://issues.apache.org/jira/secure/attachment/12606809/9612-v11-nico.patch against trunk revision . {color:green}+1 @author{color}. The patch does not contain any @author tags. {color:green}+1 tests included{color}. The patch appears to include 18 new or modified tests. {color:green}+1 hadoop1.0{color}. The patch compiles against the hadoop 1.0 profile. {color:green}+1 hadoop2.0{color}. The patch compiles against the hadoop 2.0 profile. {color:green}+1 javadoc{color}. The javadoc tool did not generate any warning messages. {color:green}+1 javac{color}. The applied patch does not increase the total number of javac compiler warnings. {color:red}-1 findbugs{color}. The patch appears to cause Findbugs (version 1.3.9) to fail. {color:green}+1 release audit{color}. The applied patch does not increase the total number of release audit warnings. {color:green}+1 lineLengths{color}. The patch does not introduce lines longer than 100 {color:red}-1 site{color}. The patch appears to cause mvn site goal to fail. {color:red}-1 core tests{color}. The patch failed these unit tests: org.apache.hadoop.hbase.master.cleaner.TestSnapshotFromMaster org.apache.hadoop.hbase.regionserver.TestHRegionBusyWait org.apache.hadoop.hbase.client.TestFromClientSide org.apache.hadoop.hbase.client.TestFromClientSideWithCoprocessor Test results: https://builds.apache.org/job/PreCommit-HBASE-Build/7466//testReport/ Console output: https://builds.apache.org/job/PreCommit-HBASE-Build/7466//console This message is automatically generated. > 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, 9612-v11-nico.patch, > 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)
[jira] [Commented] (HBASE-9612) Ability to batch edits destined to different regions
[ https://issues.apache.org/jira/browse/HBASE-9612?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13786246#comment-13786246 ] Nicolas Liochon commented on HBASE-9612: bq. Why do we need it? I've removed it in v11: we need to use the order as we could have multiple queries on the same region theoretically. for multiget, I still see it in the patch but I may be blind :-) Same for the exception in HRegionServer#multi? > 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, 9612-v11-nico.patch, > 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)
[jira] [Commented] (HBASE-9612) Ability to batch edits destined to different regions
[ 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 > {{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)
[jira] [Commented] (HBASE-9612) Ability to batch edits destined to different regions
[ https://issues.apache.org/jira/browse/HBASE-9612?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13786192#comment-13786192 ] Hadoop QA commented on HBASE-9612: -- {color:red}-1 overall{color}. Here are the results of testing the latest attachment http://issues.apache.org/jira/secure/attachment/12606779/9612-v10-nico.patch against trunk revision . {color:green}+1 @author{color}. The patch does not contain any @author tags. {color:green}+1 tests included{color}. The patch appears to include 18 new or modified tests. {color:green}+1 hadoop1.0{color}. The patch compiles against the hadoop 1.0 profile. {color:green}+1 hadoop2.0{color}. The patch compiles against the hadoop 2.0 profile. {color:green}+1 javadoc{color}. The javadoc tool did not generate any warning messages. {color:green}+1 javac{color}. The applied patch does not increase the total number of javac compiler warnings. {color:green}+1 findbugs{color}. The patch does not introduce any new Findbugs (version 1.3.9) warnings. {color:green}+1 release audit{color}. The applied patch does not increase the total number of release audit warnings. {color:green}+1 lineLengths{color}. The patch does not introduce lines longer than 100 {color:red}-1 site{color}. The patch appears to cause mvn site goal to fail. {color:red}-1 core tests{color}. The patch failed these unit tests: org.apache.hadoop.hbase.master.cleaner.TestSnapshotFromMaster org.apache.hadoop.hbase.security.access.TestAccessController org.apache.hadoop.hbase.regionserver.TestRegionServerMetrics org.apache.hadoop.hbase.coprocessor.TestRegionObserverInterface Test results: https://builds.apache.org/job/PreCommit-HBASE-Build/7465//testReport/ Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/7465//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-prefix-tree.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/7465//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-client.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/7465//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-common.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/7465//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-protocol.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/7465//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-server.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/7465//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-hadoop1-compat.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/7465//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-examples.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/7465//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-thrift.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/7465//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-hadoop-compat.html Console output: https://builds.apache.org/job/PreCommit-HBASE-Build/7465//console This message is automatically generated. > 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 w
[jira] [Commented] (HBASE-9612) Ability to batch edits destined to different regions
[ 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)
[jira] [Commented] (HBASE-9612) Ability to batch edits destined to different regions
[ https://issues.apache.org/jira/browse/HBASE-9612?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13785617#comment-13785617 ] Hadoop QA commented on HBASE-9612: -- {color:red}-1 overall{color}. Here are the results of testing the latest attachment http://issues.apache.org/jira/secure/attachment/12606644/9612v12.txt against trunk revision . {color:green}+1 @author{color}. The patch does not contain any @author tags. {color:green}+1 tests included{color}. The patch appears to include 18 new or modified tests. {color:green}+1 hadoop1.0{color}. The patch compiles against the hadoop 1.0 profile. {color:green}+1 hadoop2.0{color}. The patch compiles against the hadoop 2.0 profile. {color:green}+1 javadoc{color}. The javadoc tool did not generate any warning messages. {color:green}+1 javac{color}. The applied patch does not increase the total number of javac compiler warnings. {color:green}+1 findbugs{color}. The patch does not introduce any new Findbugs (version 1.3.9) warnings. {color:green}+1 release audit{color}. The applied patch does not increase the total number of release audit warnings. {color:green}+1 lineLengths{color}. The patch does not introduce lines longer than 100 {color:red}-1 site{color}. The patch appears to cause mvn site goal to fail. {color:red}-1 core tests{color}. The patch failed these unit tests: org.apache.hadoop.hbase.master.cleaner.TestSnapshotFromMaster Test results: https://builds.apache.org/job/PreCommit-HBASE-Build/7459//testReport/ Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/7459//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-prefix-tree.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/7459//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-client.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/7459//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-common.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/7459//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-protocol.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/7459//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-server.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/7459//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-hadoop1-compat.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/7459//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-examples.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/7459//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-thrift.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/7459//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-hadoop-compat.html Console output: https://builds.apache.org/job/PreCommit-HBASE-Build/7459//console This message is automatically generated. > 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, 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 sam
[jira] [Commented] (HBASE-9612) Ability to batch edits destined to different regions
[ https://issues.apache.org/jira/browse/HBASE-9612?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13785590#comment-13785590 ] stack commented on HBASE-9612: -- I spent time looking into trying to make [~eclark] less uncomfortable and doing what [~tsuna] suggested a while back (perhaps off-issue), sorting out the passed in actions into gets and mutations and then running a multiget for the gets and a multi call for the mutations. Digging it seemed doable if I made multiget look like multi; AsyncProcess has an executor pool so I was thinking I could add one executor for the gets and another for the mutations per regionserver. As long as I was careful w/ the results/exceptions keeping their indexes running and aligned, I should be able to match up the returns before giving it all back to the client. But then I found the multiget has same issue as multirequest in that it only allows a regions' worth of gets to run at a time against a server. Trying to fix multiget, I was just reproducing the new multi model (a 'fixed' multiget would have one or more per-region pbs to hold a set of Gets). So, I am going to just remove multiGet. We only use it in one place inside in the exists(List) call. If you want to do a multiget, you'll do this new 'universal' multi call. Later, we can come along and add new methods to do multiGet and multiMutation if worth the effort. > 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, 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)
[jira] [Commented] (HBASE-9612) Ability to batch edits destined to different regions
[ https://issues.apache.org/jira/browse/HBASE-9612?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13785505#comment-13785505 ] Hadoop QA commented on HBASE-9612: -- {color:red}-1 overall{color}. Here are the results of testing the latest attachment http://issues.apache.org/jira/secure/attachment/12606613/9612v11.txt against trunk revision . {color:green}+1 @author{color}. The patch does not contain any @author tags. {color:green}+1 tests included{color}. The patch appears to include 18 new or modified tests. {color:green}+1 hadoop1.0{color}. The patch compiles against the hadoop 1.0 profile. {color:green}+1 hadoop2.0{color}. The patch compiles against the hadoop 2.0 profile. {color:red}-1 javadoc{color}. The javadoc tool appears to have generated 3 warning messages. {color:green}+1 javac{color}. The applied patch does not increase the total number of javac compiler warnings. {color:green}+1 findbugs{color}. The patch does not introduce any new Findbugs (version 1.3.9) warnings. {color:green}+1 release audit{color}. The applied patch does not increase the total number of release audit warnings. {color:green}+1 lineLengths{color}. The patch does not introduce lines longer than 100 {color:red}-1 site{color}. The patch appears to cause mvn site goal to fail. {color:red}-1 core tests{color}. The patch failed these unit tests: org.apache.hadoop.hbase.master.cleaner.TestSnapshotFromMaster Test results: https://builds.apache.org/job/PreCommit-HBASE-Build/7458//testReport/ Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/7458//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-prefix-tree.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/7458//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-client.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/7458//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-common.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/7458//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-protocol.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/7458//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-server.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/7458//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-hadoop1-compat.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/7458//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-examples.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/7458//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-thrift.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/7458//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-hadoop-compat.html Console output: https://builds.apache.org/job/PreCommit-HBASE-Build/7458//console This message is automatically generated. > 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, 9612v10.txt, 9612v11.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.
[jira] [Commented] (HBASE-9612) Ability to batch edits destined to different regions
[ https://issues.apache.org/jira/browse/HBASE-9612?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13785362#comment-13785362 ] Hadoop QA commented on HBASE-9612: -- {color:red}-1 overall{color}. Here are the results of testing the latest attachment http://issues.apache.org/jira/secure/attachment/12606602/9612v10.txt against trunk revision . {color:green}+1 @author{color}. The patch does not contain any @author tags. {color:green}+1 tests included{color}. The patch appears to include 18 new or modified tests. {color:red}-1 hadoop1.0{color}. The patch failed to compile against the hadoop 1.0 profile. Console output: https://builds.apache.org/job/PreCommit-HBASE-Build/7456//console This message is automatically generated. > 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, 9612v10.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)
[jira] [Commented] (HBASE-9612) Ability to batch edits destined to different regions
[ https://issues.apache.org/jira/browse/HBASE-9612?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13785188#comment-13785188 ] stack commented on HBASE-9612: -- [~tsuna] If we did not have the batch call, yeah, we could just send edits. We could leave aside one pb layer (There'd be no need of the Action Get/Mutation union). [~liochon] We should be able to add this later as another option on the Action union (a CheckAndPutMutation or extend Mutation with content of Condition). > 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)
[jira] [Commented] (HBASE-9612) Ability to batch edits destined to different regions
[ https://issues.apache.org/jira/browse/HBASE-9612?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13784915#comment-13784915 ] Nicolas Liochon commented on HBASE-9612: I could imagine some scenarios that would make sense if we have callbacks or multithreaded clients sharing the request: the client code would send a stream of gets, puts, and writes. I don't have a simple use case that would need it. What's much more important is the possibility to batch checkAndPut, and mix them with puts. bq. being able to batch edits across regions in one RPC call is pretty important. +1 > 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)
[jira] [Commented] (HBASE-9612) Ability to batch edits destined to different regions
[ 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)
[jira] [Commented] (HBASE-9612) Ability to batch edits destined to different regions
[ https://issues.apache.org/jira/browse/HBASE-9612?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13784747#comment-13784747 ] Hadoop QA commented on HBASE-9612: -- {color:red}-1 overall{color}. Here are the results of testing the latest attachment http://issues.apache.org/jira/secure/attachment/12606489/9612v9.txt against trunk revision . {color:green}+1 @author{color}. The patch does not contain any @author tags. {color:green}+1 tests included{color}. The patch appears to include 15 new or modified tests. {color:green}+1 hadoop1.0{color}. The patch compiles against the hadoop 1.0 profile. {color:green}+1 hadoop2.0{color}. The patch compiles against the hadoop 2.0 profile. {color:red}-1 javadoc{color}. The javadoc tool appears to have generated 3 warning messages. {color:green}+1 javac{color}. The applied patch does not increase the total number of javac compiler warnings. {color:green}+1 findbugs{color}. The patch does not introduce any new Findbugs (version 1.3.9) warnings. {color:green}+1 release audit{color}. The applied patch does not increase the total number of release audit warnings. {color:green}+1 lineLengths{color}. The patch does not introduce lines longer than 100 {color:red}-1 site{color}. The patch appears to cause mvn site goal to fail. {color:red}-1 core tests{color}. The patch failed these unit tests: org.apache.hadoop.hbase.client.TestFromClientSideWithCoprocessor org.apache.hadoop.hbase.client.TestFromClientSide org.apache.hadoop.hbase.master.cleaner.TestSnapshotFromMaster Test results: https://builds.apache.org/job/PreCommit-HBASE-Build/7454//testReport/ Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/7454//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-protocol.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/7454//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-thrift.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/7454//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-client.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/7454//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-examples.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/7454//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-hadoop1-compat.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/7454//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-prefix-tree.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/7454//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-common.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/7454//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-server.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/7454//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-hadoop-compat.html Console output: https://builds.apache.org/job/PreCommit-HBASE-Build/7454//console This message is automatically generated. > 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}}
[jira] [Commented] (HBASE-9612) Ability to batch edits destined to different regions
[ https://issues.apache.org/jira/browse/HBASE-9612?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13784716#comment-13784716 ] Hadoop QA commented on HBASE-9612: -- {color:red}-1 overall{color}. Here are the results of testing the latest attachment http://issues.apache.org/jira/secure/attachment/12606486/9612v9.txt against trunk revision . {color:green}+1 @author{color}. The patch does not contain any @author tags. {color:green}+1 tests included{color}. The patch appears to include 15 new or modified tests. {color:green}+1 hadoop1.0{color}. The patch compiles against the hadoop 1.0 profile. {color:green}+1 hadoop2.0{color}. The patch compiles against the hadoop 2.0 profile. {color:red}-1 javadoc{color}. The javadoc tool appears to have generated 3 warning messages. {color:green}+1 javac{color}. The applied patch does not increase the total number of javac compiler warnings. {color:green}+1 findbugs{color}. The patch does not introduce any new Findbugs (version 1.3.9) warnings. {color:green}+1 release audit{color}. The applied patch does not increase the total number of release audit warnings. {color:green}+1 lineLengths{color}. The patch does not introduce lines longer than 100 {color:red}-1 site{color}. The patch appears to cause mvn site goal to fail. {color:red}-1 core tests{color}. The patch failed these unit tests: org.apache.hadoop.hbase.coprocessor.TestRegionServerCoprocessorExceptionWithRemove org.apache.hadoop.hbase.constraint.TestConstraint org.apache.hadoop.hbase.client.TestFromClientSide org.apache.hadoop.hbase.client.TestFromClientSideWithCoprocessor org.apache.hadoop.hbase.master.TestDistributedLogSplitting Test results: https://builds.apache.org/job/PreCommit-HBASE-Build/7453//testReport/ Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/7453//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-prefix-tree.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/7453//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-client.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/7453//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-common.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/7453//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-protocol.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/7453//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-server.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/7453//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-hadoop1-compat.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/7453//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-examples.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/7453//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-thrift.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/7453//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-hadoop-compat.html Console output: https://builds.apache.org/job/PreCommit-HBASE-Build/7453//console This message is automatically generated. > 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 {{MutationPro
[jira] [Commented] (HBASE-9612) Ability to batch edits destined to different regions
[ https://issues.apache.org/jira/browse/HBASE-9612?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13784650#comment-13784650 ] stack commented on HBASE-9612: -- >From an internal irc (Hope you don't mind me pasting here Elliott): {code} 6:20 < _eclark> ok, so I reviewed the code and it looks good. one question I have: is it worth it ? There's a lot of wrapping and un-wrapping to batch gets with mutations 16:24 < stack> _eclark: yeah 16:24 < stack> _eclark: regression between 0.94 and 0.96 16:25 < stack> it could do regions of edits at a time rather than a regions'-worth at a time 16:26 < stack> tsdb sends edits like this 16:27 < _eclark> Yeah that part I get. Mostly my question was about needing to wrap mutations with gets. 16:27 < stack> we don't wrap mutations with gets 16:27 < stack> there is a union type, Action, which has a Get or a Mutation 16:30 < stack> MultiRequest -> RegionAction (1-*) -> Action (1-*) -> Get | Mutation 16:31 < stack> The "Action -> Get | Mutation" is required... it is what we currently have 16:31 < stack> The 'extra' bit is the RegionAction of which there can be 1-* 16:31 < stack> Thats the extra 16:31 < stack> Previous the MultiRequest had a region specifier 16:31 < _eclark> Yeah, that's the part that's added just asking because the layers are adding up 16:32 < stack> Yeah. 16:32 < stack> Thought about it. 16:32 < stack> Its our dumbass 'batch' call 16:32 < stack> You can 'batch' anything 16:32 < _eclark> BLAH 16:33 < _eclark> i forgot about that one. 16:33 < stack> At least the data is elsewhere 16:33 < stack> its the killer, the joke line 16:33 < _eclark> ok +1 16:33 < _eclark> yeah too bad 16:35 < stack> I hate it but in my head argue we need to be like 0.94 first before we deviate 16:36 < _eclark> Yeah I'd buy that {code} > 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, 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)
[jira] [Commented] (HBASE-9612) Ability to batch edits destined to different regions
[ https://issues.apache.org/jira/browse/HBASE-9612?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13784634#comment-13784634 ] Elliott Clark commented on HBASE-9612: -- Code looks good. Though the test failures seem related :-/ > 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, 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)
[jira] [Commented] (HBASE-9612) Ability to batch edits destined to different regions
[ https://issues.apache.org/jira/browse/HBASE-9612?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13784621#comment-13784621 ] Hadoop QA commented on HBASE-9612: -- {color:red}-1 overall{color}. Here are the results of testing the latest attachment http://issues.apache.org/jira/secure/attachment/12606454/9612v7.txt against trunk revision . {color:green}+1 @author{color}. The patch does not contain any @author tags. {color:green}+1 tests included{color}. The patch appears to include 15 new or modified tests. {color:green}+1 hadoop1.0{color}. The patch compiles against the hadoop 1.0 profile. {color:green}+1 hadoop2.0{color}. The patch compiles against the hadoop 2.0 profile. {color:red}-1 javadoc{color}. The javadoc tool appears to have generated 3 warning messages. {color:green}+1 javac{color}. The applied patch does not increase the total number of javac compiler warnings. {color:green}+1 findbugs{color}. The patch does not introduce any new Findbugs (version 1.3.9) warnings. {color:green}+1 release audit{color}. The applied patch does not increase the total number of release audit warnings. {color:green}+1 lineLengths{color}. The patch does not introduce lines longer than 100 {color:red}-1 site{color}. The patch appears to cause mvn site goal to fail. {color:red}-1 core tests{color}. The patch failed these unit tests: org.apache.hadoop.hbase.constraint.TestConstraint org.apache.hadoop.hbase.client.TestFromClientSideWithCoprocessor org.apache.hadoop.hbase.client.TestFromClientSide org.apache.hadoop.hbase.master.TestDistributedLogSplitting org.apache.hadoop.hbase.coprocessor.TestRegionServerCoprocessorExceptionWithRemove Test results: https://builds.apache.org/job/PreCommit-HBASE-Build/7450//testReport/ Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/7450//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-protocol.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/7450//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-thrift.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/7450//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-client.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/7450//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-examples.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/7450//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-hadoop1-compat.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/7450//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-prefix-tree.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/7450//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-common.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/7450//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-server.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/7450//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-hadoop-compat.html Console output: https://builds.apache.org/job/PreCommit-HBASE-Build/7450//console This message is automatically generated. > 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.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 comp
[jira] [Commented] (HBASE-9612) Ability to batch edits destined to different regions
[ https://issues.apache.org/jira/browse/HBASE-9612?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13784564#comment-13784564 ] stack commented on HBASE-9612: -- Updated https://reviews.apache.org/r/14357/ w/ latest patch Any +1s out there? > 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.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)
[jira] [Commented] (HBASE-9612) Ability to batch edits destined to different regions
[ https://issues.apache.org/jira/browse/HBASE-9612?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13784558#comment-13784558 ] stack commented on HBASE-9612: -- Here is a commit message: {code} Changes the pb model so we can send more than one region's worth of edits to a server at a time; up to this we could only send one regions' worth of edits in a multi call (One region-worth of edits only is a regression over 0.94) With this patch a MultiRequest is made of 1-* RegionActions. A RegionAction is a set of Actions to apply to a Region. A RegionAction has the regionspecifier and a list of Actions. An Action is a union of Get or Mutation. Before this patch, a MultiRequest had a region specifier so you could only pass edits (MultiActions) for a single region at a time. Also adds priority to the rpc header; needed so could set priority on a MultiRequest (before this, priority was determined by looking at the region name -- MultiRequest was expected to have a region name but now it does not). M hbase-client/src/main/java/org/apache/hadoop/hbase/client/AsyncProcess.java Minor formatting and rename of a few variables. Fix in here is passing on the relative index into original list of actions. Previous it was ignored. M hbase-client/src/main/java/org/apache/hadoop/hbase/client/ClientSmallScanner.java M hbase-client/src/main/java/org/apache/hadoop/hbase/client/HBaseAdmin.java M hbase-client/src/main/java/org/apache/hadoop/hbase/client/ScannerCallable.java Set priority on request. M hbase-client/src/main/java/org/apache/hadoop/hbase/client/Get.java Remove unused import. M hbase-client/src/main/java/org/apache/hadoop/hbase/client/HConnectionManager.java Minor formatting. M hbase-client/src/main/java/org/apache/hadoop/hbase/client/HTable.java Add setting priority on calls. Minor reformatting. M hbase-client/src/main/java/org/apache/hadoop/hbase/client/MultiServerCallable.java Cleanup of long hard-to-grok block of code. Variable renaming. Format multi requests according to new model. Set absolute indices on Actions sent over to the server. M hbase-client/src/main/java/org/apache/hadoop/hbase/ipc/PayloadCarryingRpcController.java Added being able to pass priority across the pb Service into rpc. M hbase-client/src/main/java/org/apache/hadoop/hbase/ipc/RpcClient.java Ran into an NPE because writer was closed on me by separate thread. Synchronize it in close like all other access to out stream. Pass on priority. M hbase-client/src/main/java/org/apache/hadoop/hbase/protobuf/ProtobufUtil.java M hbase-client/src/main/java/org/apache/hadoop/hbase/protobuf/RequestConverter.java M hbase-client/src/main/java/org/apache/hadoop/hbase/protobuf/ResponseConverter.java Changes to produce the new pb types and a bit of utility. M hbase-protocol/README.txt ll is not on every machine. M hbase-protocol/src/main/protobuf/Client.proto Do new model so can send many regions-worth-of-edits at a time. M hbase-protocol/src/main/protobuf/RPC.proto Add priority as optional on header. M hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/AnnotationReadingPriorityFunction.java Special case multi calls. M hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HRegionServer.java Change the handling of multi so we can do regions-worth of edits Make use of new types. {code} > 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, 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 wan
[jira] [Commented] (HBASE-9612) Ability to batch edits destined to different regions
[ https://issues.apache.org/jira/browse/HBASE-9612?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13784501#comment-13784501 ] stack commented on HBASE-9612: -- Main difference is that Down in MutliServerCallable, I was throwing an exception when total fail to connect to server whereas I should have been registering the fail with each individual outstanding action. Let me write up on total change so easier to digest in a review. > 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, 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)
[jira] [Commented] (HBASE-9612) Ability to batch edits destined to different regions
[ https://issues.apache.org/jira/browse/HBASE-9612?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13784095#comment-13784095 ] Hadoop QA commented on HBASE-9612: -- {color:red}-1 overall{color}. Here are the results of testing the latest attachment http://issues.apache.org/jira/secure/attachment/12606285/9612v5.txt against trunk revision . {color:green}+1 @author{color}. The patch does not contain any @author tags. {color:green}+1 tests included{color}. The patch appears to include 12 new or modified tests. {color:green}+1 hadoop1.0{color}. The patch compiles against the hadoop 1.0 profile. {color:green}+1 hadoop2.0{color}. The patch compiles against the hadoop 2.0 profile. {color:red}-1 javadoc{color}. The javadoc tool appears to have generated 3 warning messages. {color:green}+1 javac{color}. The applied patch does not increase the total number of javac compiler warnings. {color:green}+1 findbugs{color}. The patch does not introduce any new Findbugs (version 1.3.9) warnings. {color:green}+1 release audit{color}. The applied patch does not increase the total number of release audit warnings. {color:green}+1 lineLengths{color}. The patch does not introduce lines longer than 100 {color:green}+1 site{color}. The mvn site goal succeeds with this patch. {color:red}-1 core tests{color}. The patch failed these unit tests: org.apache.hadoop.hbase.coprocessor.TestRegionServerCoprocessorExceptionWithRemove org.apache.hadoop.hbase.client.TestMultiParallel org.apache.hadoop.hbase.constraint.TestConstraint org.apache.hadoop.hbase.TestAcidGuarantees org.apache.hadoop.hbase.regionserver.TestHRegionOnCluster org.apache.hadoop.hbase.client.TestHCM org.apache.hadoop.hbase.client.TestFromClientSide org.apache.hadoop.hbase.client.TestFromClientSideWithCoprocessor org.apache.hadoop.hbase.security.access.TestAccessController org.apache.hadoop.hbase.catalog.TestMetaReaderEditor org.apache.hadoop.hbase.master.TestDistributedLogSplitting org.apache.hadoop.hbase.regionserver.wal.TestLogRolling Test results: https://builds.apache.org/job/PreCommit-HBASE-Build/7443//testReport/ Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/7443//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-prefix-tree.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/7443//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-client.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/7443//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-common.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/7443//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-protocol.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/7443//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-server.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/7443//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-hadoop1-compat.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/7443//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-examples.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/7443//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-thrift.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/7443//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-hadoop-compat.html Console output: https://builds.apache.org/job/PreCommit-HBASE-Build/7443//console This message is automatically generated. > 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, 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
[jira] [Commented] (HBASE-9612) Ability to batch edits destined to different regions
[ https://issues.apache.org/jira/browse/HBASE-9612?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13783887#comment-13783887 ] stack commented on HBASE-9612: -- I added carrying an Action index on client and then having server setting it on return. This got me further. I am now stuck on error handling. Trying to figure it. Let me put up a patch. If you have any input, would be appreciated [~nkeywal] TestMultiParallel is the good test for finding the issues here. > 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)
[jira] [Commented] (HBASE-9612) Ability to batch edits destined to different regions
[ 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)
[jira] [Commented] (HBASE-9612) Ability to batch edits destined to different regions
[ https://issues.apache.org/jira/browse/HBASE-9612?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13783615#comment-13783615 ] stack commented on HBASE-9612: -- Most tests are passing but my patch does not cover batch mixing Gets and Mutations (I seemed to have missed this 'minor' detail refactoring). I redid ps so that now a MultiAction has an Action and an Action can be a Get or a Mutation. I can send over a MultiRequest that is made up of MultiActions each for a certain region on the regionserver but getting the results back is a bit of a horror. 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. > 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)
[jira] [Commented] (HBASE-9612) Ability to batch edits destined to different regions
[ https://issues.apache.org/jira/browse/HBASE-9612?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13782535#comment-13782535 ] Hudson commented on HBASE-9612: --- FAILURE: Integrated in HBase-TRUNK-on-Hadoop-2.0.0 #768 (See [https://builds.apache.org/job/HBase-TRUNK-on-Hadoop-2.0.0/768/]) HBASE-9612 Ability to batch edits destined to different regions -- REVERT (stack: rev 1527789) * /hbase/trunk/hbase-client/src/main/java/org/apache/hadoop/hbase/client/ClientSmallScanner.java * /hbase/trunk/hbase-client/src/main/java/org/apache/hadoop/hbase/client/HBaseAdmin.java * /hbase/trunk/hbase-client/src/main/java/org/apache/hadoop/hbase/client/HTable.java * /hbase/trunk/hbase-client/src/main/java/org/apache/hadoop/hbase/client/MultiServerCallable.java * /hbase/trunk/hbase-client/src/main/java/org/apache/hadoop/hbase/client/ScannerCallable.java * /hbase/trunk/hbase-client/src/main/java/org/apache/hadoop/hbase/ipc/PayloadCarryingRpcController.java * /hbase/trunk/hbase-client/src/main/java/org/apache/hadoop/hbase/ipc/RpcClient.java * /hbase/trunk/hbase-client/src/main/java/org/apache/hadoop/hbase/protobuf/ProtobufUtil.java * /hbase/trunk/hbase-client/src/main/java/org/apache/hadoop/hbase/protobuf/RequestConverter.java * /hbase/trunk/hbase-client/src/main/java/org/apache/hadoop/hbase/protobuf/ResponseConverter.java * /hbase/trunk/hbase-protocol/README.txt * /hbase/trunk/hbase-protocol/src/main/java/org/apache/hadoop/hbase/protobuf/generated/ClientProtos.java * /hbase/trunk/hbase-protocol/src/main/java/org/apache/hadoop/hbase/protobuf/generated/RPCProtos.java * /hbase/trunk/hbase-protocol/src/main/protobuf/Client.proto * /hbase/trunk/hbase-protocol/src/main/protobuf/RPC.proto * /hbase/trunk/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/AnnotationReadingPriorityFunction.java * /hbase/trunk/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HRegion.java * /hbase/trunk/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HRegionServer.java * /hbase/trunk/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/wal/WALEditsReplaySink.java * /hbase/trunk/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestQosFunction.java HBASE-9612 Ability to batch edits destined to different regions (stack: rev 1527648) * /hbase/trunk/hbase-client/src/main/java/org/apache/hadoop/hbase/client/ClientSmallScanner.java * /hbase/trunk/hbase-client/src/main/java/org/apache/hadoop/hbase/client/HBaseAdmin.java * /hbase/trunk/hbase-client/src/main/java/org/apache/hadoop/hbase/client/HTable.java * /hbase/trunk/hbase-client/src/main/java/org/apache/hadoop/hbase/client/MultiServerCallable.java * /hbase/trunk/hbase-client/src/main/java/org/apache/hadoop/hbase/client/ScannerCallable.java * /hbase/trunk/hbase-client/src/main/java/org/apache/hadoop/hbase/ipc/PayloadCarryingRpcController.java * /hbase/trunk/hbase-client/src/main/java/org/apache/hadoop/hbase/ipc/RpcClient.java * /hbase/trunk/hbase-client/src/main/java/org/apache/hadoop/hbase/protobuf/ProtobufUtil.java * /hbase/trunk/hbase-client/src/main/java/org/apache/hadoop/hbase/protobuf/RequestConverter.java * /hbase/trunk/hbase-client/src/main/java/org/apache/hadoop/hbase/protobuf/ResponseConverter.java * /hbase/trunk/hbase-protocol/README.txt * /hbase/trunk/hbase-protocol/src/main/java/org/apache/hadoop/hbase/protobuf/generated/ClientProtos.java * /hbase/trunk/hbase-protocol/src/main/java/org/apache/hadoop/hbase/protobuf/generated/RPCProtos.java * /hbase/trunk/hbase-protocol/src/main/protobuf/Client.proto * /hbase/trunk/hbase-protocol/src/main/protobuf/RPC.proto * /hbase/trunk/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/AnnotationReadingPriorityFunction.java * /hbase/trunk/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HRegion.java * /hbase/trunk/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HRegionServer.java * /hbase/trunk/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/wal/WALEditsReplaySink.java * /hbase/trunk/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestQosFunction.java > 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: 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
[jira] [Commented] (HBASE-9612) Ability to batch edits destined to different regions
[ https://issues.apache.org/jira/browse/HBASE-9612?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13782514#comment-13782514 ] Hudson commented on HBASE-9612: --- FAILURE: Integrated in hbase-0.96-hadoop2 #66 (See [https://builds.apache.org/job/hbase-0.96-hadoop2/66/]) HBASE-9612 Ability to batch edits destined to different regions -- REVERT (stack: rev 1527790) * /hbase/branches/0.96/hbase-client/src/main/java/org/apache/hadoop/hbase/client/ClientSmallScanner.java * /hbase/branches/0.96/hbase-client/src/main/java/org/apache/hadoop/hbase/client/HBaseAdmin.java * /hbase/branches/0.96/hbase-client/src/main/java/org/apache/hadoop/hbase/client/HTable.java * /hbase/branches/0.96/hbase-client/src/main/java/org/apache/hadoop/hbase/client/MultiServerCallable.java * /hbase/branches/0.96/hbase-client/src/main/java/org/apache/hadoop/hbase/client/ScannerCallable.java * /hbase/branches/0.96/hbase-client/src/main/java/org/apache/hadoop/hbase/ipc/PayloadCarryingRpcController.java * /hbase/branches/0.96/hbase-client/src/main/java/org/apache/hadoop/hbase/ipc/RpcClient.java * /hbase/branches/0.96/hbase-client/src/main/java/org/apache/hadoop/hbase/protobuf/ProtobufUtil.java * /hbase/branches/0.96/hbase-client/src/main/java/org/apache/hadoop/hbase/protobuf/RequestConverter.java * /hbase/branches/0.96/hbase-client/src/main/java/org/apache/hadoop/hbase/protobuf/ResponseConverter.java * /hbase/branches/0.96/hbase-protocol/README.txt * /hbase/branches/0.96/hbase-protocol/src/main/java/org/apache/hadoop/hbase/protobuf/generated/ClientProtos.java * /hbase/branches/0.96/hbase-protocol/src/main/java/org/apache/hadoop/hbase/protobuf/generated/RPCProtos.java * /hbase/branches/0.96/hbase-protocol/src/main/protobuf/Client.proto * /hbase/branches/0.96/hbase-protocol/src/main/protobuf/RPC.proto * /hbase/branches/0.96/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HRegion.java * /hbase/branches/0.96/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HRegionServer.java * /hbase/branches/0.96/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/QosFunction.java * /hbase/branches/0.96/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/wal/WALEditsReplaySink.java * /hbase/branches/0.96/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestQosFunction.java > 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: 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)
[jira] [Commented] (HBASE-9612) Ability to batch edits destined to different regions
[ https://issues.apache.org/jira/browse/HBASE-9612?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13782458#comment-13782458 ] Hudson commented on HBASE-9612: --- SUCCESS: Integrated in HBase-TRUNK #4576 (See [https://builds.apache.org/job/HBase-TRUNK/4576/]) HBASE-9612 Ability to batch edits destined to different regions -- REVERT (stack: rev 1527789) * /hbase/trunk/hbase-client/src/main/java/org/apache/hadoop/hbase/client/ClientSmallScanner.java * /hbase/trunk/hbase-client/src/main/java/org/apache/hadoop/hbase/client/HBaseAdmin.java * /hbase/trunk/hbase-client/src/main/java/org/apache/hadoop/hbase/client/HTable.java * /hbase/trunk/hbase-client/src/main/java/org/apache/hadoop/hbase/client/MultiServerCallable.java * /hbase/trunk/hbase-client/src/main/java/org/apache/hadoop/hbase/client/ScannerCallable.java * /hbase/trunk/hbase-client/src/main/java/org/apache/hadoop/hbase/ipc/PayloadCarryingRpcController.java * /hbase/trunk/hbase-client/src/main/java/org/apache/hadoop/hbase/ipc/RpcClient.java * /hbase/trunk/hbase-client/src/main/java/org/apache/hadoop/hbase/protobuf/ProtobufUtil.java * /hbase/trunk/hbase-client/src/main/java/org/apache/hadoop/hbase/protobuf/RequestConverter.java * /hbase/trunk/hbase-client/src/main/java/org/apache/hadoop/hbase/protobuf/ResponseConverter.java * /hbase/trunk/hbase-protocol/README.txt * /hbase/trunk/hbase-protocol/src/main/java/org/apache/hadoop/hbase/protobuf/generated/ClientProtos.java * /hbase/trunk/hbase-protocol/src/main/java/org/apache/hadoop/hbase/protobuf/generated/RPCProtos.java * /hbase/trunk/hbase-protocol/src/main/protobuf/Client.proto * /hbase/trunk/hbase-protocol/src/main/protobuf/RPC.proto * /hbase/trunk/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/AnnotationReadingPriorityFunction.java * /hbase/trunk/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HRegion.java * /hbase/trunk/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HRegionServer.java * /hbase/trunk/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/wal/WALEditsReplaySink.java * /hbase/trunk/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestQosFunction.java > 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: 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)
[jira] [Commented] (HBASE-9612) Ability to batch edits destined to different regions
[ https://issues.apache.org/jira/browse/HBASE-9612?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13782452#comment-13782452 ] Hudson commented on HBASE-9612: --- SUCCESS: Integrated in hbase-0.96 #109 (See [https://builds.apache.org/job/hbase-0.96/109/]) HBASE-9612 Ability to batch edits destined to different regions -- REVERT (stack: rev 1527790) * /hbase/branches/0.96/hbase-client/src/main/java/org/apache/hadoop/hbase/client/ClientSmallScanner.java * /hbase/branches/0.96/hbase-client/src/main/java/org/apache/hadoop/hbase/client/HBaseAdmin.java * /hbase/branches/0.96/hbase-client/src/main/java/org/apache/hadoop/hbase/client/HTable.java * /hbase/branches/0.96/hbase-client/src/main/java/org/apache/hadoop/hbase/client/MultiServerCallable.java * /hbase/branches/0.96/hbase-client/src/main/java/org/apache/hadoop/hbase/client/ScannerCallable.java * /hbase/branches/0.96/hbase-client/src/main/java/org/apache/hadoop/hbase/ipc/PayloadCarryingRpcController.java * /hbase/branches/0.96/hbase-client/src/main/java/org/apache/hadoop/hbase/ipc/RpcClient.java * /hbase/branches/0.96/hbase-client/src/main/java/org/apache/hadoop/hbase/protobuf/ProtobufUtil.java * /hbase/branches/0.96/hbase-client/src/main/java/org/apache/hadoop/hbase/protobuf/RequestConverter.java * /hbase/branches/0.96/hbase-client/src/main/java/org/apache/hadoop/hbase/protobuf/ResponseConverter.java * /hbase/branches/0.96/hbase-protocol/README.txt * /hbase/branches/0.96/hbase-protocol/src/main/java/org/apache/hadoop/hbase/protobuf/generated/ClientProtos.java * /hbase/branches/0.96/hbase-protocol/src/main/java/org/apache/hadoop/hbase/protobuf/generated/RPCProtos.java * /hbase/branches/0.96/hbase-protocol/src/main/protobuf/Client.proto * /hbase/branches/0.96/hbase-protocol/src/main/protobuf/RPC.proto * /hbase/branches/0.96/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HRegion.java * /hbase/branches/0.96/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HRegionServer.java * /hbase/branches/0.96/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/QosFunction.java * /hbase/branches/0.96/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/wal/WALEditsReplaySink.java * /hbase/branches/0.96/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestQosFunction.java > 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: 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)
[jira] [Commented] (HBASE-9612) Ability to batch edits destined to different regions
[ https://issues.apache.org/jira/browse/HBASE-9612?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13782313#comment-13782313 ] Hudson commented on HBASE-9612: --- FAILURE: Integrated in hbase-0.96 #108 (See [https://builds.apache.org/job/hbase-0.96/108/]) HBASE-9612 Ability to batch edits destined to different regions (stack: rev 1527687) * /hbase/branches/0.96/hbase-client/src/main/java/org/apache/hadoop/hbase/client/ClientSmallScanner.java * /hbase/branches/0.96/hbase-client/src/main/java/org/apache/hadoop/hbase/client/HBaseAdmin.java * /hbase/branches/0.96/hbase-client/src/main/java/org/apache/hadoop/hbase/client/HTable.java * /hbase/branches/0.96/hbase-client/src/main/java/org/apache/hadoop/hbase/client/MultiServerCallable.java * /hbase/branches/0.96/hbase-client/src/main/java/org/apache/hadoop/hbase/client/ScannerCallable.java * /hbase/branches/0.96/hbase-client/src/main/java/org/apache/hadoop/hbase/ipc/PayloadCarryingRpcController.java * /hbase/branches/0.96/hbase-client/src/main/java/org/apache/hadoop/hbase/ipc/RpcClient.java * /hbase/branches/0.96/hbase-client/src/main/java/org/apache/hadoop/hbase/protobuf/ProtobufUtil.java * /hbase/branches/0.96/hbase-client/src/main/java/org/apache/hadoop/hbase/protobuf/RequestConverter.java * /hbase/branches/0.96/hbase-client/src/main/java/org/apache/hadoop/hbase/protobuf/ResponseConverter.java * /hbase/branches/0.96/hbase-protocol/README.txt * /hbase/branches/0.96/hbase-protocol/src/main/java/org/apache/hadoop/hbase/protobuf/generated/ClientProtos.java * /hbase/branches/0.96/hbase-protocol/src/main/java/org/apache/hadoop/hbase/protobuf/generated/RPCProtos.java * /hbase/branches/0.96/hbase-protocol/src/main/protobuf/Client.proto * /hbase/branches/0.96/hbase-protocol/src/main/protobuf/RPC.proto * /hbase/branches/0.96/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HRegion.java * /hbase/branches/0.96/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HRegionServer.java * /hbase/branches/0.96/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/QosFunction.java * /hbase/branches/0.96/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/wal/WALEditsReplaySink.java * /hbase/branches/0.96/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestQosFunction.java > 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: 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)
[jira] [Commented] (HBASE-9612) Ability to batch edits destined to different regions
[ https://issues.apache.org/jira/browse/HBASE-9612?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13782281#comment-13782281 ] stack commented on HBASE-9612: -- All these tests failed post commit though above it seemed to pass. Reverted till figure it out: org.apache.hadoop.hbase.TestFullLogReconstruction.testReconstruction org.apache.hadoop.hbase.client.TestAdmin.testForceSplitMultiFamily org.apache.hadoop.hbase.client.TestFromClientSide.testPutNoCF org.apache.hadoop.hbase.client.TestFromClientSideWithCoprocessor.testPutNoCF org.apache.hadoop.hbase.client.TestHTableMultiplexer.testHTableMultiplexer org.apache.hadoop.hbase.client.TestMultiParallel.testBatchWithIncrementAndAppend org.apache.hadoop.hbase.client.TestMultiParallel.testBatchWithGet org.apache.hadoop.hbase.client.TestMultiParallel.testBatchWithPut org.apache.hadoop.hbase.client.TestMultiParallel.testFlushCommitsWithAbort org.apache.hadoop.hbase.client.TestMultiParallel.testBatchWithManyColsInOneRowGetAndPut org.apache.hadoop.hbase.client.TestMultiParallel.testHTableDeleteWithList org.apache.hadoop.hbase.client.TestMultiParallel.testBadFam org.apache.hadoop.hbase.client.TestMultiParallel.testFlushCommitsNoAbort org.apache.hadoop.hbase.client.TestMultiParallel.testBatchWithDelete org.apache.hadoop.hbase.client.TestMultiParallel.testBatchWithMixedActions org.apache.hadoop.hbase.client.TestRestoreSnapshotFromClient.testRestoreSchemaChange org.apache.hadoop.hbase.constraint.TestConstraint.testIsUnloaded org.apache.hadoop.hbase.constraint.TestConstraint.testConstraintFails org.apache.hadoop.hbase.coprocessor.TestRegionServerCoprocessorExceptionWithRemove.testExceptionFromCoprocessorDuringPut org.apache.hadoop.hbase.mapred.TestTableMapReduce.testMultiRegionTable org.apache.hadoop.hbase.mapreduce.TestMultithreadedTableMapper.testMultithreadedTableMapper org.apache.hadoop.hbase.mapreduce.TestTableInputFormatScan1.testScanEmptyToOPP org.apache.hadoop.hbase.mapreduce.TestTableInputFormatScan2.testScanYYXToEmpty org.apache.hadoop.hbase.mapreduce.TestTableInputFormatScan2.testScanOBBToOPP org.apache.hadoop.hbase.mapreduce.TestTableInputFormatScan2.testScanOBBToQPP org.apache.hadoop.hbase.mapreduce.TestTableInputFormatScan2.testScanFromConfiguration org.apache.hadoop.hbase.mapreduce.TestTableMapReduce.testCombiner org.apache.hadoop.hbase.mapreduce.TestTableMapReduce.testMultiRegionTable org.apache.hadoop.hbase.master.TestDistributedLogSplitting.testDisallowWritesInRecovering org.apache.hadoop.hbase.replication.TestReplicationKillMasterRS.killOneMasterRS org.apache.hadoop.hbase.replication.TestReplicationKillMasterRSCompressed.killOneMasterRS org.apache.hadoop.hbase.replication.TestReplicationKillSlaveRS.killOneSlaveRS org.apache.hadoop.hbase.snapshot.TestFlushSnapshotFromClient.testFlushCreateListDestroy org.apache.hadoop.hbase.snapshot.TestFlushSnapshotFromClient.testSnapshotStateAfterMerge org.apache.hadoop.hbase.snapshot.TestFlushSnapshotFromClient.testTakeSnapshotAfterMerge org.apache.hadoop.hbase.snapshot.TestFlushSnapshotFromClient.testFlushTableSnapshot org.apache.hadoop.hbase.util.TestHBaseFsck.testHBaseFsckClean org.apache.hadoop.hbase.util.TestHBaseFsck.testCoveredStartKey org.apache.hadoop.hbase.util.TestHBaseFsck.testFixHdfsHolesNotWorkingWithNoHdfsChecking org.apache.hadoop.hbase.util.TestHBaseFsck.testQuarantineMissingHFile org.apache.hadoop.hbase.util.TestHBaseFsck.testQuarantineCorruptHFile org.apache.hadoop.hbase.util.TestHBaseFsck.testLingeringSplitParent org.apache.hadoop.hbase.util.TestHBaseFsck.testValidLingeringSplitParent org.apache.hadoop.hbase.util.TestHBaseFsck.testFixMetaNotWorkingWithNoHdfsChecking org.apache.hadoop.hbase.util.TestHBaseFsck.testHDFSRegioninfoMissing org.apache.hadoop.hbase.util.TestHBaseFsck.testNoHdfsTable org.apache.hadoop.hbase.util.TestHBaseFsck.testDupeRegion org.apache.hadoop.hbase.util.TestHBaseFsck.testContainedRegionOverlap org.apache.hadoop.hbase.util.TestHBaseFsck.testDupeStartKey org.apache.hadoop.hbase.util.TestHBaseFsck.testNotInMetaHole org.apache.hadoop.hbase.util.TestHBaseFsck.testMissingLastRegion org.apache.hadoop.hbase.util.TestHBaseFsck.testFixByTable org.apache.hadoop.hbase.util.TestHBaseFsck.testSidelineOverlapRegion org.apache.hadoop.hbase.util.TestHBaseFsck.testFixAssignmentsAndNoHdfsChecking org.apache.hadoop.hbase.util.TestHBaseFsck.testLingeringReferenceFile org.apache.hadoop.hbase.util.TestHBaseFsck.testSplitDaughtersNotInMeta org.apache.hadoop.hbase.util.TestHBaseFsck.testOverlapAndOrphan org.apache.hadoop.hbase.util.TestHBaseFsck.testRegionHole org.apache.hadoop.hbase.util.TestHBaseFsck.testNotInHdfs org.apache.hadoop.hbase.util.TestHBaseFsck.testNotInMetaOrDeployedHole org.apache.hadoop.hbase.util.TestHBaseFsck.testDegenerateRegions org.apache.hadoop.hbase.util.TestHBaseFsck.testMissingFirstRegion org.apache.hadoop.hbase.util.TestHBaseFsck.testQuarantineMissingRegionDir > Ability to batch edits destine
[jira] [Commented] (HBASE-9612) Ability to batch edits destined to different regions
[ https://issues.apache.org/jira/browse/HBASE-9612?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13782205#comment-13782205 ] Hudson commented on HBASE-9612: --- FAILURE: Integrated in hbase-0.96-hadoop2 #65 (See [https://builds.apache.org/job/hbase-0.96-hadoop2/65/]) HBASE-9612 Ability to batch edits destined to different regions (stack: rev 1527687) * /hbase/branches/0.96/hbase-client/src/main/java/org/apache/hadoop/hbase/client/ClientSmallScanner.java * /hbase/branches/0.96/hbase-client/src/main/java/org/apache/hadoop/hbase/client/HBaseAdmin.java * /hbase/branches/0.96/hbase-client/src/main/java/org/apache/hadoop/hbase/client/HTable.java * /hbase/branches/0.96/hbase-client/src/main/java/org/apache/hadoop/hbase/client/MultiServerCallable.java * /hbase/branches/0.96/hbase-client/src/main/java/org/apache/hadoop/hbase/client/ScannerCallable.java * /hbase/branches/0.96/hbase-client/src/main/java/org/apache/hadoop/hbase/ipc/PayloadCarryingRpcController.java * /hbase/branches/0.96/hbase-client/src/main/java/org/apache/hadoop/hbase/ipc/RpcClient.java * /hbase/branches/0.96/hbase-client/src/main/java/org/apache/hadoop/hbase/protobuf/ProtobufUtil.java * /hbase/branches/0.96/hbase-client/src/main/java/org/apache/hadoop/hbase/protobuf/RequestConverter.java * /hbase/branches/0.96/hbase-client/src/main/java/org/apache/hadoop/hbase/protobuf/ResponseConverter.java * /hbase/branches/0.96/hbase-protocol/README.txt * /hbase/branches/0.96/hbase-protocol/src/main/java/org/apache/hadoop/hbase/protobuf/generated/ClientProtos.java * /hbase/branches/0.96/hbase-protocol/src/main/java/org/apache/hadoop/hbase/protobuf/generated/RPCProtos.java * /hbase/branches/0.96/hbase-protocol/src/main/protobuf/Client.proto * /hbase/branches/0.96/hbase-protocol/src/main/protobuf/RPC.proto * /hbase/branches/0.96/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HRegion.java * /hbase/branches/0.96/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HRegionServer.java * /hbase/branches/0.96/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/QosFunction.java * /hbase/branches/0.96/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/wal/WALEditsReplaySink.java * /hbase/branches/0.96/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestQosFunction.java > 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: 9612.096.v5.txt, 9612v2.txt, 9612v3.txt, 9612v4.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)
[jira] [Commented] (HBASE-9612) Ability to batch edits destined to different regions
[ https://issues.apache.org/jira/browse/HBASE-9612?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13782177#comment-13782177 ] Hudson commented on HBASE-9612: --- FAILURE: Integrated in HBase-TRUNK #4574 (See [https://builds.apache.org/job/HBase-TRUNK/4574/]) HBASE-9612 Ability to batch edits destined to different regions (stack: rev 1527648) * /hbase/trunk/hbase-client/src/main/java/org/apache/hadoop/hbase/client/ClientSmallScanner.java * /hbase/trunk/hbase-client/src/main/java/org/apache/hadoop/hbase/client/HBaseAdmin.java * /hbase/trunk/hbase-client/src/main/java/org/apache/hadoop/hbase/client/HTable.java * /hbase/trunk/hbase-client/src/main/java/org/apache/hadoop/hbase/client/MultiServerCallable.java * /hbase/trunk/hbase-client/src/main/java/org/apache/hadoop/hbase/client/ScannerCallable.java * /hbase/trunk/hbase-client/src/main/java/org/apache/hadoop/hbase/ipc/PayloadCarryingRpcController.java * /hbase/trunk/hbase-client/src/main/java/org/apache/hadoop/hbase/ipc/RpcClient.java * /hbase/trunk/hbase-client/src/main/java/org/apache/hadoop/hbase/protobuf/ProtobufUtil.java * /hbase/trunk/hbase-client/src/main/java/org/apache/hadoop/hbase/protobuf/RequestConverter.java * /hbase/trunk/hbase-client/src/main/java/org/apache/hadoop/hbase/protobuf/ResponseConverter.java * /hbase/trunk/hbase-protocol/README.txt * /hbase/trunk/hbase-protocol/src/main/java/org/apache/hadoop/hbase/protobuf/generated/ClientProtos.java * /hbase/trunk/hbase-protocol/src/main/java/org/apache/hadoop/hbase/protobuf/generated/RPCProtos.java * /hbase/trunk/hbase-protocol/src/main/protobuf/Client.proto * /hbase/trunk/hbase-protocol/src/main/protobuf/RPC.proto * /hbase/trunk/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/AnnotationReadingPriorityFunction.java * /hbase/trunk/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HRegion.java * /hbase/trunk/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HRegionServer.java * /hbase/trunk/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/wal/WALEditsReplaySink.java * /hbase/trunk/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestQosFunction.java > 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: 9612.096.v5.txt, 9612v2.txt, 9612v3.txt, 9612v4.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)
[jira] [Commented] (HBASE-9612) Ability to batch edits destined to different regions
[ https://issues.apache.org/jira/browse/HBASE-9612?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13782015#comment-13782015 ] Hadoop QA commented on HBASE-9612: -- {color:red}-1 overall{color}. Here are the results of testing the latest attachment http://issues.apache.org/jira/secure/attachment/12605927/9612v5.txt against trunk revision . {color:green}+1 @author{color}. The patch does not contain any @author tags. {color:green}+1 tests included{color}. The patch appears to include 3 new or modified tests. {color:red}-1 patch{color}. The patch command could not apply the patch. Console output: https://builds.apache.org/job/PreCommit-HBASE-Build/7420//console This message is automatically generated. > 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: 9612v2.txt, 9612v3.txt, 9612v4.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)
[jira] [Commented] (HBASE-9612) Ability to batch edits destined to different regions
[ https://issues.apache.org/jira/browse/HBASE-9612?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13781912#comment-13781912 ] Nicolas Liochon commented on HBASE-9612: I've read & understood the RegionMutation / MultiRequest proto, it seems ok. atomic should be documented in RegionMutation (the comment has not moved from MultiRequest if I read the patch correctly). I suppose it could make a real difference in term of performance. +1 (but I didn't run the code, just read the patch). > 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: 9612v2.txt, 9612v3.txt, 9612v4.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)
[jira] [Commented] (HBASE-9612) Ability to batch edits destined to different regions
[ https://issues.apache.org/jira/browse/HBASE-9612?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13781527#comment-13781527 ] stack commented on HBASE-9612: -- Any other +1's out there? Patch is a recast of the MultiRequest and MultiResponse so can do a region per Action rather than per MultiRequest (It looks like a big change but is small -- its all the pb dross that bulks up the patch) > 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: 9612v2.txt, 9612v3.txt, 9612v4.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)
[jira] [Commented] (HBASE-9612) Ability to batch edits destined to different regions
[ https://issues.apache.org/jira/browse/HBASE-9612?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13781482#comment-13781482 ] Hadoop QA commented on HBASE-9612: -- {color:red}-1 overall{color}. Here are the results of testing the latest attachment http://issues.apache.org/jira/secure/attachment/12605822/9612v4.txt against trunk revision . {color:green}+1 @author{color}. The patch does not contain any @author tags. {color:green}+1 tests included{color}. The patch appears to include 3 new or modified tests. {color:green}+1 hadoop1.0{color}. The patch compiles against the hadoop 1.0 profile. {color:green}+1 hadoop2.0{color}. The patch compiles against the hadoop 2.0 profile. {color:green}+1 javadoc{color}. The javadoc tool did not generate any warning messages. {color:green}+1 javac{color}. The applied patch does not increase the total number of javac compiler warnings. {color:green}+1 findbugs{color}. The patch does not introduce any new Findbugs (version 1.3.9) warnings. {color:green}+1 release audit{color}. The applied patch does not increase the total number of release audit warnings. {color:green}+1 lineLengths{color}. The patch does not introduce lines longer than 100 {color:green}+1 site{color}. The mvn site goal succeeds with this patch. {color:red}-1 core tests{color}. The patch failed these unit tests: org.apache.hadoop.hbase.client.TestAsyncProcess Test results: https://builds.apache.org/job/PreCommit-HBASE-Build/7414//testReport/ Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/7414//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-prefix-tree.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/7414//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-client.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/7414//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-common.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/7414//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-protocol.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/7414//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-server.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/7414//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-hadoop1-compat.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/7414//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-examples.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/7414//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-thrift.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/7414//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-hadoop-compat.html Console output: https://builds.apache.org/job/PreCommit-HBASE-Build/7414//console This message is automatically generated. > 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: 9612v2.txt, 9612v3.txt, 9612v4.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)
[jira] [Commented] (HBASE-9612) Ability to batch edits destined to different regions
[ https://issues.apache.org/jira/browse/HBASE-9612?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13780586#comment-13780586 ] Devaraj Das commented on HBASE-9612: The RPC parts looks fine to me. Thanks [~stack] for raising the jira on the priority handling. > 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: 9612v2.txt, 9612v3.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 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
[jira] [Commented] (HBASE-9612) Ability to batch edits destined to different regions
[ https://issues.apache.org/jira/browse/HBASE-9612?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13780549#comment-13780549 ] stack commented on HBASE-9612: -- [~devaraj] Long term? I made HBASE-9673 just now. You +1 on this patch? We broke TestAsyncProcess somewhere recently. Its failing all over hadoopqa (of course it passes locally). > 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: 9612v2.txt, 9612v3.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 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
[jira] [Commented] (HBASE-9612) Ability to batch edits destined to different regions
[ https://issues.apache.org/jira/browse/HBASE-9612?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13780482#comment-13780482 ] Devaraj Das commented on HBASE-9612: [~stack], how do you think would the priority be decided longer term. Having the client dictate the priority seems counter-intuitive to me, generally speaking. I guess it's okay for single tenant deployments but for multi-tenant deployments, this seems like something we should have a different mechanism for. Thoughts? [p.s. this may not be directly related to this jira but your comment on the description of this jira makes me ask this question on this jira :-)] > 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: 9612v2.txt, 9612v3.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 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
[jira] [Commented] (HBASE-9612) Ability to batch edits destined to different regions
[ https://issues.apache.org/jira/browse/HBASE-9612?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13780420#comment-13780420 ] Hadoop QA commented on HBASE-9612: -- {color:red}-1 overall{color}. Here are the results of testing the latest attachment http://issues.apache.org/jira/secure/attachment/12605550/9612v3.txt against trunk revision . {color:green}+1 @author{color}. The patch does not contain any @author tags. {color:green}+1 tests included{color}. The patch appears to include 3 new or modified tests. {color:green}+1 hadoop1.0{color}. The patch compiles against the hadoop 1.0 profile. {color:green}+1 hadoop2.0{color}. The patch compiles against the hadoop 2.0 profile. {color:green}+1 javadoc{color}. The javadoc tool did not generate any warning messages. {color:green}+1 javac{color}. The applied patch does not increase the total number of javac compiler warnings. {color:green}+1 findbugs{color}. The patch does not introduce any new Findbugs (version 1.3.9) warnings. {color:green}+1 release audit{color}. The applied patch does not increase the total number of release audit warnings. {color:green}+1 lineLengths{color}. The patch does not introduce lines longer than 100 {color:green}+1 site{color}. The mvn site goal succeeds with this patch. {color:red}-1 core tests{color}. The patch failed these unit tests: org.apache.hadoop.hbase.client.TestAsyncProcess Test results: https://builds.apache.org/job/PreCommit-HBASE-Build/7408//testReport/ Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/7408//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-prefix-tree.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/7408//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-client.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/7408//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-common.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/7408//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-protocol.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/7408//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-server.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/7408//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-hadoop1-compat.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/7408//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-examples.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/7408//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-thrift.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/7408//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-hadoop-compat.html Console output: https://builds.apache.org/job/PreCommit-HBASE-Build/7408//console This message is automatically generated. > 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: 9612v2.txt, 9612v3.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 is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators For m
[jira] [Commented] (HBASE-9612) Ability to batch edits destined to different regions
[ https://issues.apache.org/jira/browse/HBASE-9612?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13779466#comment-13779466 ] Hadoop QA commented on HBASE-9612: -- {color:red}-1 overall{color}. Here are the results of testing the latest attachment http://issues.apache.org/jira/secure/attachment/12605355/9612v2.txt against trunk revision . {color:green}+1 @author{color}. The patch does not contain any @author tags. {color:green}+1 tests included{color}. The patch appears to include 3 new or modified tests. {color:red}-1 patch{color}. The patch command could not apply the patch. Console output: https://builds.apache.org/job/PreCommit-HBASE-Build/7394//console This message is automatically generated. > 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: 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 > {{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 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
[jira] [Commented] (HBASE-9612) Ability to batch edits destined to different regions
[ https://issues.apache.org/jira/browse/HBASE-9612?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13779464#comment-13779464 ] stack commented on HBASE-9612: -- Put it up on rb here: https://reviews.apache.org/r/14357/ > 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: 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 > {{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 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
[jira] [Commented] (HBASE-9612) Ability to batch edits destined to different regions
[ https://issues.apache.org/jira/browse/HBASE-9612?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13775544#comment-13775544 ] stack commented on HBASE-9612: -- Your proposal sounds good. Makes MultiAction a MultiAction. A MultiReqest will again a bunch of edits for a bunch of Regions. > 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 > > 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 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