You are viewing a plain text version of this content. The canonical link for it is here.
Posted to reviews@kudu.apache.org by "David Ribeiro Alves (Code Review)" <ge...@cloudera.org> on 2016/09/01 02:40:03 UTC

[kudu-CR] KUDU-1582. Optimize budgeted compaction policy with an approximation

David Ribeiro Alves has posted comments on this change.

Change subject: KUDU-1582. Optimize budgeted compaction policy with an approximation
......................................................................


Patch Set 2:

(9 comments)

http://gerrit.cloudera.org:8080/#/c/4153/2/src/kudu/tablet/CMakeLists.txt
File src/kudu/tablet/CMakeLists.txt:

Line 93: execute_process(COMMAND ln -sf ${CMAKE_CURRENT_SOURCE_DIR}/ycsb-test-rowsets.tsv
nit can you move this before the test (even if not needed makes more sense when reading) and leave a comment that you're copying the file for the test below?


http://gerrit.cloudera.org:8080/#/c/4153/2/src/kudu/tablet/compaction_policy-test.cc
File src/kudu/tablet/compaction_policy-test.cc:

Line 74:   CHECK_OK(ReadFileToString(Env::Default(), path, &data));
add error message


Line 79:     CHECK_EQ(3, fields.size()) << line;
improve error message


Line 82:                                         ParseLeadingInt32Value(fields[0], -1) * 1024 * 1024));
comment in this magic calculation?


Line 88: TEST(TestCompactionPolicy, TestYcsbCompaction) {
what is this really testing? just that we get better qualities with higher budgets? or is this really a time benchmark that just happens to test that? if it's the latter please rename this accordingly


http://gerrit.cloudera.org:8080/#/c/4153/2/src/kudu/tablet/compaction_policy.cc
File src/kudu/tablet/compaction_policy.cc:

Line 46: DEFINE_double(compaction_approximation_ratio, 1.05f,
would it be much harder to have this be 0 based? (i.e. 0.05 instead of 1.05) IMO makes more sense when reading the comment.


PS2, Line 199: top
nit: move this to the line above


Line 247: // policy implementedin this function.
missing space


Line 311:   best_upper_bounds.reserve(asc_min_key.size());
the reasoning seems good, but this is very dense, I wish there was a simple unit test that would help in following this stuff along. It would also be nice to split the 1st and 2nd passes into their own methods


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

Gerrit-MessageType: comment
Gerrit-Change-Id: I4e611f161d66ddc47e97e3b5328bc1778a4ac958
Gerrit-PatchSet: 2
Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-Owner: Todd Lipcon <to...@apache.org>
Gerrit-Reviewer: Anonymous Coward #174
Gerrit-Reviewer: David Ribeiro Alves <dr...@apache.org>
Gerrit-Reviewer: Kudu Jenkins
Gerrit-HasComments: Yes