[kudu-CR] KUDU-2514 Support extra config for table.
Yao Xu has posted comments on this change. ( http://gerrit.cloudera.org:8080/12468 ) Change subject: KUDU-2514 Support extra config for table. .. Patch Set 2: (2 comments) Hi, adar. Thanks for review. http://gerrit.cloudera.org:8080/#/c/12468/2//COMMIT_MSG Commit Message: http://gerrit.cloudera.org:8080/#/c/12468/2//COMMIT_MSG@11 PS2, Line 11: Now, we can specify the history max age second of the table by this feature. > Could you split this out into a separate patch? It'd be easier to review th I will split this out into a separate patch. http://gerrit.cloudera.org:8080/#/c/12468/2/java/kudu-client/src/main/java/org/apache/kudu/client/AlterTableOptions.java File java/kudu-client/src/main/java/org/apache/kudu/client/AlterTableOptions.java: http://gerrit.cloudera.org:8080/#/c/12468/2/java/kudu-client/src/main/java/org/apache/kudu/client/AlterTableOptions.java@364 PS2, Line 364: public AlterTableOptions alterHistoryMaxAgeSec(int historyMaxAgeSec) { > A related question is, if we're going to do this via a more generic key/val Your advice is very reasonable. I got it. I think it's better to provide a fixed set of keys. -- To view, visit http://gerrit.cloudera.org:8080/12468 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-Project: kudu Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I0514507dca95602a97e954d1db464b907e073aae Gerrit-Change-Number: 12468 Gerrit-PatchSet: 2 Gerrit-Owner: Yao Xu Gerrit-Reviewer: Adar Dembo Gerrit-Reviewer: Kudu Jenkins (120) Gerrit-Reviewer: Todd Lipcon Gerrit-Reviewer: Yao Xu Gerrit-Comment-Date: Wed, 06 Mar 2019 03:09:23 + Gerrit-HasComments: Yes
[kudu-CR] KUDU-2514 Support extra config for table.
Adar Dembo has posted comments on this change. ( http://gerrit.cloudera.org:8080/12468 ) Change subject: KUDU-2514 Support extra config for table. .. Patch Set 2: (2 comments) http://gerrit.cloudera.org:8080/#/c/12468/2//COMMIT_MSG Commit Message: http://gerrit.cloudera.org:8080/#/c/12468/2//COMMIT_MSG@11 PS2, Line 11: Now, we can specify the history max age second of the table by this feature. Could you split this out into a separate patch? It'd be easier to review the "extra config" mechanism and plumbing in isolation, and then to show how it's used to implement a per-table ancient history mark as a second patch. http://gerrit.cloudera.org:8080/#/c/12468/2/java/kudu-client/src/main/java/org/apache/kudu/client/AlterTableOptions.java File java/kudu-client/src/main/java/org/apache/kudu/client/AlterTableOptions.java: http://gerrit.cloudera.org:8080/#/c/12468/2/java/kudu-client/src/main/java/org/apache/kudu/client/AlterTableOptions.java@364 PS2, Line 364: public AlterTableOptions alterHistoryMaxAgeSec(int historyMaxAgeSec) { > How about define API like this? A related question is, if we're going to do this via a more generic key/value mapping, can users define arbitrary keys? Or is there still only a fixed set of keys that is recognized by Kudu? The advantage of the former is that the extra config can be used as an arbitrary key/value store for important metadata, which can enable new use cases. The disadvantage is that now there can be "collisions" between user-specified keys and system keys (e.g. "max age sec"). Moreover, a generic mechanism could be abused and lead to poor performance (i.e. if the extra config is stored in every tablet's superblock, that's a lot of unnecessary replication for some use cases, not to mention that superblocks can get very large as a result). I'm inclined to start simple and only allow system-defined keys. We can open it up to user-defined keys later on, if we think that enables new interesting use cases and can be done in a performant way. I do think that a String/String API (and wire protocol) is more flexible, provided we publish the set of supported keys somewhere. As to your second question, if only system-defined keys are allowed, I don't think TableExtraConfigPB needs to be generic. -- To view, visit http://gerrit.cloudera.org:8080/12468 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-Project: kudu Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I0514507dca95602a97e954d1db464b907e073aae Gerrit-Change-Number: 12468 Gerrit-PatchSet: 2 Gerrit-Owner: Yao Xu Gerrit-Reviewer: Adar Dembo Gerrit-Reviewer: Kudu Jenkins (120) Gerrit-Reviewer: Todd Lipcon Gerrit-Reviewer: Yao Xu Gerrit-Comment-Date: Tue, 05 Mar 2019 21:21:19 + Gerrit-HasComments: Yes
[kudu-CR] KUDU-2514 Support extra config for table.
Yao Xu has posted comments on this change. ( http://gerrit.cloudera.org:8080/12468 ) Change subject: KUDU-2514 Support extra config for table. .. Patch Set 2: (1 comment) Hi, todd. Thanks for review. http://gerrit.cloudera.org:8080/#/c/12468/2/java/kudu-client/src/main/java/org/apache/kudu/client/AlterTableOptions.java File java/kudu-client/src/main/java/org/apache/kudu/client/AlterTableOptions.java: http://gerrit.cloudera.org:8080/#/c/12468/2/java/kudu-client/src/main/java/org/apache/kudu/client/AlterTableOptions.java@364 PS2, Line 364: public AlterTableOptions alterHistoryMaxAgeSec(int historyMaxAgeSec) { > I think it's worth a discussion whether we want to add a separate API for e How about define API like this? public AlterTableOptions alterTableExtraConfig(String key, String value); public AlterTableOptions alterTableExtraConfig(String key, int value); By the way, maybe TableExtraConfigPB also needs to be defined as key-value. What do you think? -- To view, visit http://gerrit.cloudera.org:8080/12468 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-Project: kudu Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I0514507dca95602a97e954d1db464b907e073aae Gerrit-Change-Number: 12468 Gerrit-PatchSet: 2 Gerrit-Owner: Yao Xu Gerrit-Reviewer: Kudu Jenkins (120) Gerrit-Reviewer: Todd Lipcon Gerrit-Reviewer: Yao Xu Gerrit-Comment-Date: Fri, 01 Mar 2019 03:58:54 + Gerrit-HasComments: Yes
[kudu-CR] KUDU-2514 Support extra config for table.
Todd Lipcon has posted comments on this change. ( http://gerrit.cloudera.org:8080/12468 ) Change subject: KUDU-2514 Support extra config for table. .. Patch Set 2: (5 comments) http://gerrit.cloudera.org:8080/#/c/12468/2/java/kudu-client/src/main/java/org/apache/kudu/client/AlterTableOptions.java File java/kudu-client/src/main/java/org/apache/kudu/client/AlterTableOptions.java: http://gerrit.cloudera.org:8080/#/c/12468/2/java/kudu-client/src/main/java/org/apache/kudu/client/AlterTableOptions.java@360 PS2, Line 360: tracing seems like this comment needs updating? http://gerrit.cloudera.org:8080/#/c/12468/2/java/kudu-client/src/main/java/org/apache/kudu/client/AlterTableOptions.java@364 PS2, Line 364: public AlterTableOptions alterHistoryMaxAgeSec(int historyMaxAgeSec) { I think it's worth a discussion whether we want to add a separate API for each config, or instead use more of a String/String or String/int key-value design in the API? The advantage of a "key/value" type thing is that generic tools like SQL could implement this without having to hard-code every new parameter as it becomes available. http://gerrit.cloudera.org:8080/#/c/12468/2/src/kudu/client/table_alterer-internal.h File src/kudu/client/table_alterer-internal.h: http://gerrit.cloudera.org:8080/#/c/12468/2/src/kudu/client/table_alterer-internal.h@68 PS2, Line 68: TableExtraConfigPB perhaps should be optional? http://gerrit.cloudera.org:8080/#/c/12468/2/src/kudu/master/master_path_handlers.cc File src/kudu/master/master_path_handlers.cc: http://gerrit.cloudera.org:8080/#/c/12468/2/src/kudu/master/master_path_handlers.cc@404 PS2, Line 404: DebugString should probably use SecureDebugString http://gerrit.cloudera.org:8080/#/c/12468/2/src/kudu/tools/tool_action_table.cc File src/kudu/tools/tool_action_table.cc: http://gerrit.cloudera.org:8080/#/c/12468/2/src/kudu/tools/tool_action_table.cc@494 PS2, Line 494: ActionBuilder("set_history_max_age", ) per comment elsewhere, worth considering whether this should just be more like a key/value string CLI -- To view, visit http://gerrit.cloudera.org:8080/12468 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-Project: kudu Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I0514507dca95602a97e954d1db464b907e073aae Gerrit-Change-Number: 12468 Gerrit-PatchSet: 2 Gerrit-Owner: Yao Xu Gerrit-Reviewer: Kudu Jenkins (120) Gerrit-Reviewer: Todd Lipcon Gerrit-Comment-Date: Wed, 27 Feb 2019 00:51:08 + Gerrit-HasComments: Yes
[kudu-CR] KUDU-2514 Support extra config for table.
Hello Kudu Jenkins, I'd like you to reexamine a change. Please visit http://gerrit.cloudera.org:8080/12468 to look at the new patch set (#2). Change subject: KUDU-2514 Support extra config for table. .. KUDU-2514 Support extra config for table. This patch implements the extra-config for table. Now, we can specify the history max age second of the table by this feature. Change-Id: I0514507dca95602a97e954d1db464b907e073aae --- M java/kudu-client/src/main/java/org/apache/kudu/client/AlterTableOptions.java M java/kudu-client/src/main/java/org/apache/kudu/client/CreateTableOptions.java M src/kudu/client/client.cc M src/kudu/client/client.h M src/kudu/client/table_alterer-internal.cc M src/kudu/client/table_alterer-internal.h M src/kudu/common/common.proto M src/kudu/integration-tests/alter_table-test.cc M src/kudu/integration-tests/registration-test.cc M src/kudu/master/catalog_manager.cc M src/kudu/master/catalog_manager.h M src/kudu/master/master.proto M src/kudu/master/master_path_handlers.cc M src/kudu/master/sys_catalog.cc M src/kudu/tablet/metadata.proto M src/kudu/tablet/tablet-harness.h M src/kudu/tablet/tablet.cc M src/kudu/tablet/tablet_bootstrap-test.cc M src/kudu/tablet/tablet_metadata-test.cc M src/kudu/tablet/tablet_metadata.cc M src/kudu/tablet/tablet_metadata.h M src/kudu/tablet/transactions/alter_schema_transaction.h M src/kudu/tools/kudu-tool-test.cc M src/kudu/tools/tool_action_table.cc M src/kudu/tserver/mini_tablet_server.cc M src/kudu/tserver/tablet_copy_client.cc M src/kudu/tserver/tablet_server-test.cc M src/kudu/tserver/tablet_service.cc M src/kudu/tserver/ts_tablet_manager-test.cc M src/kudu/tserver/ts_tablet_manager.cc M src/kudu/tserver/ts_tablet_manager.h M src/kudu/tserver/tserver_admin.proto M www/table.mustache 33 files changed, 299 insertions(+), 24 deletions(-) git pull ssh://gerrit.cloudera.org:29418/kudu refs/changes/68/12468/2 -- To view, visit http://gerrit.cloudera.org:8080/12468 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-Project: kudu Gerrit-Branch: master Gerrit-MessageType: newpatchset Gerrit-Change-Id: I0514507dca95602a97e954d1db464b907e073aae Gerrit-Change-Number: 12468 Gerrit-PatchSet: 2 Gerrit-Owner: Yao Xu Gerrit-Reviewer: Kudu Jenkins (120)
[kudu-CR] KUDU-2514 Support extra config for table.
Yao Xu has uploaded this change for review. ( http://gerrit.cloudera.org:8080/12468 Change subject: KUDU-2514 Support extra config for table. .. KUDU-2514 Support extra config for table. This patch implements the extra-config for table. Now, we can specify the history max age second of the table by this feature. Change-Id: I0514507dca95602a97e954d1db464b907e073aae --- M java/kudu-client/src/main/java/org/apache/kudu/client/AlterTableOptions.java M java/kudu-client/src/main/java/org/apache/kudu/client/CreateTableOptions.java M src/kudu/client/client.cc M src/kudu/client/client.h M src/kudu/client/table_alterer-internal.cc M src/kudu/client/table_alterer-internal.h M src/kudu/common/common.proto M src/kudu/integration-tests/alter_table-test.cc M src/kudu/integration-tests/registration-test.cc M src/kudu/master/catalog_manager.cc M src/kudu/master/catalog_manager.h M src/kudu/master/master.proto M src/kudu/master/master_path_handlers.cc M src/kudu/master/sys_catalog.cc M src/kudu/tablet/metadata.proto M src/kudu/tablet/tablet-harness.h M src/kudu/tablet/tablet.cc M src/kudu/tablet/tablet_bootstrap-test.cc M src/kudu/tablet/tablet_metadata-test.cc M src/kudu/tablet/tablet_metadata.cc M src/kudu/tablet/tablet_metadata.h M src/kudu/tablet/transactions/alter_schema_transaction.h M src/kudu/tools/kudu-tool-test.cc M src/kudu/tools/tool_action_table.cc M src/kudu/tserver/mini_tablet_server.cc M src/kudu/tserver/tablet_copy_client.cc M src/kudu/tserver/tablet_server-test.cc M src/kudu/tserver/tablet_service.cc M src/kudu/tserver/ts_tablet_manager-test.cc M src/kudu/tserver/ts_tablet_manager.cc M src/kudu/tserver/ts_tablet_manager.h M src/kudu/tserver/tserver_admin.proto M www/table.mustache 33 files changed, 283 insertions(+), 21 deletions(-) git pull ssh://gerrit.cloudera.org:29418/kudu refs/changes/68/12468/1 -- To view, visit http://gerrit.cloudera.org:8080/12468 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-Project: kudu Gerrit-Branch: master Gerrit-MessageType: newchange Gerrit-Change-Id: I0514507dca95602a97e954d1db464b907e073aae Gerrit-Change-Number: 12468 Gerrit-PatchSet: 1 Gerrit-Owner: Yao Xu