Alexey Serbin has submitted this change and it was merged. ( http://gerrit.cloudera.org:8080/23556 )
Change subject: KUDU-1261 introduce ARRAY_1D_COLUMN_TYPE feature for masters ...................................................................... KUDU-1261 introduce ARRAY_1D_COLUMN_TYPE feature for masters This changelist introduces a new feature flag ARRAY_1D_COLUMN_TYPE for Kudu masters to reflect whether one-dimensional array columns are supported by the system catalog. Also, the C++ client code is updated to require the feature flag at the server side when sending requests to create a table with array type columns or adding an array type column into already existing tables. With this patch, attempts to create a new table with an array column using a kudu-master without the necessary functionality (e.g., bits compiled from the 1.18.x branch) result in proper behavior, and a proper, actionable error is reported by the client: Not implemented: Error creating table array_table on the master: cluster does not support CreateTable with feature(s) ARRAY_1D_COLUMN_TYPE Without this patch, an attempt to create the same table would result in an error as well, but it's quite cryptic and not actionable, e.g.: Remote error: Error creating table array_table on the master: Invalid argument: invalid parameter for call kudu.master.MasterService.CreateTable: missing fields: schema.columns[3].type, schema.columns[4].type I'm planning to post a separate patch to update the Java client as well. Change-Id: I61ab0d7446409ad924454d2d272bb02512bdffc8 Reviewed-on: http://gerrit.cloudera.org:8080/23556 Reviewed-by: Abhishek Chennaka <[email protected]> Tested-by: Alexey Serbin <[email protected]> --- M src/kudu/client/CMakeLists.txt M src/kudu/client/client-internal.cc M src/kudu/client/client-internal.h M src/kudu/client/client.cc A src/kudu/client/service-features-test.cc M src/kudu/client/table_alterer-internal.cc M src/kudu/client/table_alterer-internal.h M src/kudu/common/schema.cc M src/kudu/common/schema.h M src/kudu/master/master.proto M src/kudu/master/master_service.cc 11 files changed, 215 insertions(+), 11 deletions(-) Approvals: Abhishek Chennaka: Looks good to me, approved Alexey Serbin: Verified -- To view, visit http://gerrit.cloudera.org:8080/23556 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-Project: kudu Gerrit-Branch: master Gerrit-MessageType: merged Gerrit-Change-Id: I61ab0d7446409ad924454d2d272bb02512bdffc8 Gerrit-Change-Number: 23556 Gerrit-PatchSet: 8 Gerrit-Owner: Alexey Serbin <[email protected]> Gerrit-Reviewer: Abhishek Chennaka <[email protected]> Gerrit-Reviewer: Alexey Serbin <[email protected]> Gerrit-Reviewer: Kudu Jenkins (120) Gerrit-Reviewer: Xuebin Su <[email protected]>
