[kudu-CR] KUDU-2514 Support extra config for table.

2019-03-05 Thread Yao Xu (Code Review)
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.

2019-03-05 Thread Adar Dembo (Code Review)
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.

2019-02-28 Thread Yao Xu (Code Review)
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.

2019-02-26 Thread Todd Lipcon (Code Review)
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.

2019-02-13 Thread Yao Xu (Code Review)
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.

2019-02-13 Thread Yao Xu (Code Review)
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