[kudu-CR] KUDU-1307 [master] support tables with range partition bounds
Dan Burkert has submitted this change and it was merged. Change subject: KUDU-1307 [master] support tables with range partition bounds .. KUDU-1307 [master] support tables with range partition bounds This commit adds support to the Kudu master for creating tables with range partition bounds. Bounds are used to create gaps in the range partition that are not covered by a tablet. A new master feature flag has been added so that when client support is added for creating tables with partition bounds, old masters will not silently ignore the bounds. Adding support to the clients is left to a follow up commit. Change-Id: I04a7ed3e85c993fdbcb313a419f15031103736ce Reviewed-on: http://gerrit.cloudera.org:8080/2806 Tested-by: Kudu Jenkins Reviewed-by: Adar Dembo--- M java/kudu-client/src/main/java/org/kududb/client/CreateTableOptions.java M src/kudu/client/client.cc M src/kudu/common/partition-test.cc M src/kudu/common/partition.cc M src/kudu/common/partition.h M src/kudu/common/partition_pruner-test.cc M src/kudu/common/row_operations.cc M src/kudu/common/wire_protocol.proto M src/kudu/integration-tests/CMakeLists.txt A src/kudu/integration-tests/table_locations-itest.cc M src/kudu/master/catalog_manager.cc M src/kudu/master/master-test.cc M src/kudu/master/master.proto M src/kudu/master/master_service.cc M src/kudu/master/master_service.h M src/kudu/master/sys_catalog.cc M src/kudu/tablet/tablet-harness.h M src/kudu/tablet/transactions/write_transaction.cc M src/kudu/tserver/tablet_server-test.cc 19 files changed, 803 insertions(+), 152 deletions(-) Approvals: Adar Dembo: Looks good to me, approved Kudu Jenkins: Verified -- To view, visit http://gerrit.cloudera.org:8080/2806 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-MessageType: merged Gerrit-Change-Id: I04a7ed3e85c993fdbcb313a419f15031103736ce Gerrit-PatchSet: 13 Gerrit-Project: kudu Gerrit-Branch: master Gerrit-Owner: Dan Burkert Gerrit-Reviewer: Adar Dembo Gerrit-Reviewer: Dan Burkert Gerrit-Reviewer: Kudu Jenkins Gerrit-Reviewer: Mike Percy Gerrit-Reviewer: Todd Lipcon
[kudu-CR] KUDU-1307 [master] support tables with range partition bounds
Adar Dembo has posted comments on this change. Change subject: KUDU-1307 [master] support tables with range partition bounds .. Patch Set 12: Code-Review+2 -- To view, visit http://gerrit.cloudera.org:8080/2806 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-MessageType: comment Gerrit-Change-Id: I04a7ed3e85c993fdbcb313a419f15031103736ce Gerrit-PatchSet: 12 Gerrit-Project: kudu Gerrit-Branch: master Gerrit-Owner: Dan BurkertGerrit-Reviewer: Adar Dembo Gerrit-Reviewer: Dan Burkert Gerrit-Reviewer: Kudu Jenkins Gerrit-Reviewer: Mike Percy Gerrit-Reviewer: Todd Lipcon Gerrit-HasComments: No
[kudu-CR] KUDU-1307 [master] support tables with range partition bounds
Dan Burkert has posted comments on this change. Change subject: KUDU-1307 [master] support tables with range partition bounds .. Patch Set 11: (1 comment) http://gerrit.cloudera.org:8080/#/c/2806/11/src/kudu/integration-tests/table_locations-itest.cc File src/kudu/integration-tests/table_locations-itest.cc: Line 107: for (const pair& bound : bounds) { : encoder.Add(RowOperationsPB::RANGE_LOWER_BOUND, std::get<0>(bound)); : encoder.Add(RowOperationsPB::RANGE_UPPER_BOUND, std::get<1>(bound)); : } > Nit: use auto, and use .first/.second instead of get<0>/get<1> Done -- To view, visit http://gerrit.cloudera.org:8080/2806 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-MessageType: comment Gerrit-Change-Id: I04a7ed3e85c993fdbcb313a419f15031103736ce Gerrit-PatchSet: 11 Gerrit-Project: kudu Gerrit-Branch: master Gerrit-Owner: Dan Burkert Gerrit-Reviewer: Adar Dembo Gerrit-Reviewer: Dan Burkert Gerrit-Reviewer: Kudu Jenkins Gerrit-Reviewer: Mike Percy Gerrit-Reviewer: Todd Lipcon Gerrit-HasComments: Yes
[kudu-CR] KUDU-1307 [master] support tables with range partition bounds
Hello Kudu Jenkins, I'd like you to reexamine a change. Please visit http://gerrit.cloudera.org:8080/2806 to look at the new patch set (#12). Change subject: KUDU-1307 [master] support tables with range partition bounds .. KUDU-1307 [master] support tables with range partition bounds This commit adds support to the Kudu master for creating tables with range partition bounds. Bounds are used to create gaps in the range partition that are not covered by a tablet. A new master feature flag has been added so that when client support is added for creating tables with partition bounds, old masters will not silently ignore the bounds. Adding support to the clients is left to a follow up commit. Change-Id: I04a7ed3e85c993fdbcb313a419f15031103736ce --- M java/kudu-client/src/main/java/org/kududb/client/CreateTableOptions.java M src/kudu/client/client.cc M src/kudu/common/partition-test.cc M src/kudu/common/partition.cc M src/kudu/common/partition.h M src/kudu/common/partition_pruner-test.cc M src/kudu/common/row_operations.cc M src/kudu/common/wire_protocol.proto M src/kudu/integration-tests/CMakeLists.txt A src/kudu/integration-tests/table_locations-itest.cc M src/kudu/master/catalog_manager.cc M src/kudu/master/master-test.cc M src/kudu/master/master.proto M src/kudu/master/master_service.cc M src/kudu/master/master_service.h M src/kudu/master/sys_catalog.cc M src/kudu/tablet/tablet-harness.h M src/kudu/tablet/transactions/write_transaction.cc M src/kudu/tserver/tablet_server-test.cc 19 files changed, 803 insertions(+), 152 deletions(-) git pull ssh://gerrit.cloudera.org:29418/kudu refs/changes/06/2806/12 -- To view, visit http://gerrit.cloudera.org:8080/2806 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-MessageType: newpatchset Gerrit-Change-Id: I04a7ed3e85c993fdbcb313a419f15031103736ce Gerrit-PatchSet: 12 Gerrit-Project: kudu Gerrit-Branch: master Gerrit-Owner: Dan BurkertGerrit-Reviewer: Adar Dembo Gerrit-Reviewer: Dan Burkert Gerrit-Reviewer: Kudu Jenkins Gerrit-Reviewer: Mike Percy Gerrit-Reviewer: Todd Lipcon
[kudu-CR] KUDU-1307 [master] support tables with range partition bounds
Adar Dembo has posted comments on this change. Change subject: KUDU-1307 [master] support tables with range partition bounds .. Patch Set 11: (1 comment) http://gerrit.cloudera.org:8080/#/c/2806/11/src/kudu/integration-tests/table_locations-itest.cc File src/kudu/integration-tests/table_locations-itest.cc: Line 107: for (const pair& bound : bounds) { : encoder.Add(RowOperationsPB::RANGE_LOWER_BOUND, std::get<0>(bound)); : encoder.Add(RowOperationsPB::RANGE_UPPER_BOUND, std::get<1>(bound)); : } Nit: use auto, and use .first/.second instead of get<0>/get<1> -- To view, visit http://gerrit.cloudera.org:8080/2806 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-MessageType: comment Gerrit-Change-Id: I04a7ed3e85c993fdbcb313a419f15031103736ce Gerrit-PatchSet: 11 Gerrit-Project: kudu Gerrit-Branch: master Gerrit-Owner: Dan Burkert Gerrit-Reviewer: Adar Dembo Gerrit-Reviewer: Dan Burkert Gerrit-Reviewer: Kudu Jenkins Gerrit-Reviewer: Mike Percy Gerrit-Reviewer: Todd Lipcon Gerrit-HasComments: Yes
[kudu-CR] KUDU-1307 [master] support tables with range partition bounds
Hello Kudu Jenkins, I'd like you to reexamine a change. Please visit http://gerrit.cloudera.org:8080/2806 to look at the new patch set (#11). Change subject: KUDU-1307 [master] support tables with range partition bounds .. KUDU-1307 [master] support tables with range partition bounds This commit adds support to the Kudu master for creating tables with range partition bounds. Bounds are used to create gaps in the range partition that are not covered by a tablet. A new master feature flag has been added so that when client support is added for creating tables with partition bounds, old masters will not silently ignore the bounds. Adding support to the clients is left to a follow up commit. Change-Id: I04a7ed3e85c993fdbcb313a419f15031103736ce --- M java/kudu-client/src/main/java/org/kududb/client/CreateTableOptions.java M src/kudu/client/client.cc M src/kudu/common/partition-test.cc M src/kudu/common/partition.cc M src/kudu/common/partition.h M src/kudu/common/partition_pruner-test.cc M src/kudu/common/row_operations.cc M src/kudu/common/wire_protocol.proto M src/kudu/integration-tests/CMakeLists.txt A src/kudu/integration-tests/table_locations-itest.cc M src/kudu/master/catalog_manager.cc M src/kudu/master/master-test.cc M src/kudu/master/master.proto M src/kudu/master/master_service.cc M src/kudu/master/master_service.h M src/kudu/master/sys_catalog.cc M src/kudu/tablet/tablet-harness.h M src/kudu/tablet/transactions/write_transaction.cc M src/kudu/tserver/tablet_server-test.cc 19 files changed, 803 insertions(+), 152 deletions(-) git pull ssh://gerrit.cloudera.org:29418/kudu refs/changes/06/2806/11 -- To view, visit http://gerrit.cloudera.org:8080/2806 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-MessageType: newpatchset Gerrit-Change-Id: I04a7ed3e85c993fdbcb313a419f15031103736ce Gerrit-PatchSet: 11 Gerrit-Project: kudu Gerrit-Branch: master Gerrit-Owner: Dan BurkertGerrit-Reviewer: Adar Dembo Gerrit-Reviewer: Dan Burkert Gerrit-Reviewer: Kudu Jenkins Gerrit-Reviewer: Mike Percy Gerrit-Reviewer: Todd Lipcon
[kudu-CR] KUDU-1307 [master] support tables with range partition bounds
Dan Burkert has posted comments on this change. Change subject: KUDU-1307 [master] support tables with range partition bounds .. Patch Set 10: (9 comments) http://gerrit.cloudera.org:8080/#/c/2806/10//COMMIT_MSG Commit Message: Line 11: not covered by a tablet. A new feature master feature flag has been added so > "A new feature master feature flag" is a little awkward, is there an extra Done http://gerrit.cloudera.org:8080/#/c/2806/10/src/kudu/common/partition.cc File src/kudu/common/partition.cc: Line 241: Arena arena(1024, 1024 * 1024); > What's this doing here? Done Line 250: vector>* range_partitions) const { > To Todd's suggestions, perhaps we should DCHECK(range_partitions->empty()), Done Line 264: "Range bound has lower bound equal to or above the upper bound", > So FWIW, I was wrong in telling you to use capital letters for the beginnin Done http://gerrit.cloudera.org:8080/#/c/2806/10/src/kudu/common/partition.h File src/kudu/common/partition.h: Line 257: > Nit: unnecessary new line? Done http://gerrit.cloudera.org:8080/#/c/2806/10/src/kudu/integration-tests/table_locations-itest.cc File src/kudu/integration-tests/table_locations-itest.cc: Line 43: namespace kudu { > Is this typical? Don't we prefer to put all the "using" statements in one g I think we have it both ways, I'll switch this case. Line 95:const vector Can we use pair here instead of tuple? I agree with Todd that for 2-tuples, Done Line 144: KuduPartialRow row = KuduPartialRow(); > Nit: KuduPartialRow row(); Done http://gerrit.cloudera.org:8080/#/c/2806/10/src/kudu/master/master-test.cc File src/kudu/master/master-test.cc: Line 411: KuduPartialRow a_lower = KuduPartialRow(); > Nit: these would be more terse without the copy constructor: Done -- To view, visit http://gerrit.cloudera.org:8080/2806 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-MessageType: comment Gerrit-Change-Id: I04a7ed3e85c993fdbcb313a419f15031103736ce Gerrit-PatchSet: 10 Gerrit-Project: kudu Gerrit-Branch: master Gerrit-Owner: Dan Burkert Gerrit-Reviewer: Adar Dembo Gerrit-Reviewer: Dan Burkert Gerrit-Reviewer: Kudu Jenkins Gerrit-Reviewer: Mike Percy Gerrit-Reviewer: Todd Lipcon Gerrit-HasComments: Yes
[kudu-CR] KUDU-1307 [master] support tables with range partition bounds
Adar Dembo has posted comments on this change. Change subject: KUDU-1307 [master] support tables with range partition bounds .. Patch Set 10: (9 comments) http://gerrit.cloudera.org:8080/#/c/2806/10//COMMIT_MSG Commit Message: Line 11: not covered by a tablet. A new feature master feature flag has been added so "A new feature master feature flag" is a little awkward, is there an extra 'feature' here? http://gerrit.cloudera.org:8080/#/c/2806/10/src/kudu/common/partition.cc File src/kudu/common/partition.cc: Line 241: Arena arena(1024, 1024 * 1024); What's this doing here? Line 250: vector>* range_partitions) const { To Todd's suggestions, perhaps we should DCHECK(range_partitions->empty()), the same way you've done that for the other Encode functions? Line 264: "Range bound has lower bound equal to or above the upper bound", So FWIW, I was wrong in telling you to use capital letters for the beginning of error messages. Todd reminded me of that later; since we append status messages to one another, it's best for them to start in lower-case so the composed sentences look less awkward. Sorry. http://gerrit.cloudera.org:8080/#/c/2806/10/src/kudu/common/partition.h File src/kudu/common/partition.h: Line 257: Nit: unnecessary new line? http://gerrit.cloudera.org:8080/#/c/2806/10/src/kudu/integration-tests/table_locations-itest.cc File src/kudu/integration-tests/table_locations-itest.cc: Line 43: namespace kudu { Is this typical? Don't we prefer to put all the "using" statements in one giant block together, prefixing with kudu:: if necessary? Line 95:const vector Gerrit-Reviewer: Adar Dembo Gerrit-Reviewer: Dan Burkert Gerrit-Reviewer: Kudu Jenkins Gerrit-Reviewer: Mike Percy Gerrit-Reviewer: Todd Lipcon Gerrit-HasComments: Yes