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
