Andrew Wong has posted comments on this change. ( 
http://gerrit.cloudera.org:8080/17273 )

Change subject: KUDU-3223: Quota management for table write
......................................................................


Patch Set 16:

(4 comments)

The changes look solid, but I have more structural/product questions about this 
feature before giving a more thorough review.

http://gerrit.cloudera.org:8080/#/c/17273/16/src/kudu/master/catalog_manager.cc
File src/kudu/master/catalog_manager.cc:

http://gerrit.cloudera.org:8080/#/c/17273/16/src/kudu/master/catalog_manager.cc@339
PS16, Line 339: TAG_FLAG(enable_table_write_limit, advanced);
nit: while this is under development, let's tag these as experimental as well


http://gerrit.cloudera.org:8080/#/c/17273/16/src/kudu/master/catalog_manager.cc@334
PS16, Line 334:
              : DEFINE_bool(enable_table_write_limit, false,
              :             "Enable the table write limit. "
              :             "When the table's size or row count is approaching 
the limit, "
              :             "the write may be forbidden.");
              : TAG_FLAG(enable_table_write_limit, advanced);
              :
              : DEFINE_int64(table_disk_size_limit,
              :              std::numeric_limits<int64_t>::max(),
              :              "Set the target size of a table to write");
              : TAG_FLAG(table_disk_size_limit, advanced);
              :
I was discussing this feature with Grant, and re-reading the Jira, a few 
questions come to mind:

Does it actually make sense to have this be a per-table limit? Would it make 
sense to make this a database-level limit (i.e. use the database prefix in the 
name), or per-table-owner limit? It seems like this feature is more useful if 
scoped beyond just a single table, since limiting the size of a table only 
helps one of the use cases mentioned in the Jira (huge tables).

Another guiding question is, what do other systems do to expose a quota? Is it 
per table? Is it per user? This seems like a useful feature already, but if the 
form factor is already similar to another widely-used standard, it'd be nice to 
implement the more standard approach. Have you seen similar features in other 
systems?


http://gerrit.cloudera.org:8080/#/c/17273/16/src/kudu/master/catalog_manager.cc@2078
PS16, Line 2078: 
metadata->set_table_disk_size_limit(TableInfo::TABLE_WRITE_DEFAULT_LIMIT);
               :     
metadata->set_table_row_count_limit(TableInfo::TABLE_WRITE_DEFAULT_LIMIT);
Why not just not set these values in the protobuf message?


http://gerrit.cloudera.org:8080/#/c/17273/16/src/kudu/tools/tool_action_table.cc
File src/kudu/tools/tool_action_table.cc:

PS16:
nit: We typically like to make sure each patch is self-contained and focused on 
one thing so we can do a more thorough review. This focuses on changing the 
limit via alter table. Would you mind separating the AlterTable changes and 
tests into a separate changelist?



--
To view, visit http://gerrit.cloudera.org:8080/17273
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings

Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: comment
Gerrit-Change-Id: I2dbf365ad59f17c0a4e2e7ea6a5afaa7680724b0
Gerrit-Change-Number: 17273
Gerrit-PatchSet: 16
Gerrit-Owner: Hongjiang Zhang <[email protected]>
Gerrit-Reviewer: Alexey Serbin <[email protected]>
Gerrit-Reviewer: Andrew Wong <[email protected]>
Gerrit-Reviewer: Kudu Jenkins (120)
Gerrit-Reviewer: Tidy Bot (241)
Gerrit-Comment-Date: Wed, 14 Apr 2021 20:56:03 +0000
Gerrit-HasComments: Yes

Reply via email to