[kudu-CR] Add a benchmark test for tablet deletion
Adar Dembo has submitted this change and it was merged. ( http://gerrit.cloudera.org:8080/8420 ) Change subject: Add a benchmark test for tablet deletion .. Add a benchmark test for tablet deletion Commit 15f3f9b2f optimizes the performance of group blocks deletion via coalescing holes punch for log block manager. This patch adds a test to benchmark tablet deletion for measuring actual improvement. With 2.5k blocks on the tablet: Before commit 15f3f9b2f: I1030 15:25:38.700058 145431 tablet_server-test.cc:2336] Time spent deleting tablet: real 0.182s user 0.000s sys 0.000s I1030 15:25:38.700096 145431 tablet_server-test.cc:2345] block_count_before_delete : 2500 I1030 15:25:38.700109 145431 tablet_server-test.cc:2346] log_block_manager_containers : 6 I1030 15:25:38.700124 145431 tablet_server-test.cc:2347] log_block_manager_holes_punched : 3000 After: I1030 15:31:54.720243 24610 tablet_server-test.cc:2336] Time spent deleting tablet: real 0.062s user 0.001s sys 0.000s I1030 15:31:54.720258 24610 tablet_server-test.cc:2345] block_count_before_delete : 2500 I1030 15:31:54.720268 24610 tablet_server-test.cc:2346] log_block_manager_containers : 6 I1030 15:31:54.720280 24610 tablet_server-test.cc:2347] log_block_manager_holes_punched : 638 Change-Id: I6054b55f81e5a6e6febcbb5781ad8d776c49a5cf Reviewed-on: http://gerrit.cloudera.org:8080/8420 Reviewed-by: Adar DemboTested-by: Kudu Jenkins --- M src/kudu/tserver/tablet_server-test.cc 1 file changed, 53 insertions(+), 0 deletions(-) Approvals: Adar Dembo: Looks good to me, approved Kudu Jenkins: Verified -- To view, visit http://gerrit.cloudera.org:8080/8420 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-Project: kudu Gerrit-Branch: master Gerrit-MessageType: merged Gerrit-Change-Id: I6054b55f81e5a6e6febcbb5781ad8d776c49a5cf Gerrit-Change-Number: 8420 Gerrit-PatchSet: 4 Gerrit-Owner: Hao Hao Gerrit-Reviewer: Adar Dembo Gerrit-Reviewer: Hao Hao Gerrit-Reviewer: Kudu Jenkins
[kudu-CR] Add a benchmark test for tablet deletion
Adar Dembo has posted comments on this change. ( http://gerrit.cloudera.org:8080/8420 ) Change subject: Add a benchmark test for tablet deletion .. Patch Set 3: Code-Review+2 -- To view, visit http://gerrit.cloudera.org:8080/8420 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-Project: kudu Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I6054b55f81e5a6e6febcbb5781ad8d776c49a5cf Gerrit-Change-Number: 8420 Gerrit-PatchSet: 3 Gerrit-Owner: Hao HaoGerrit-Reviewer: Adar Dembo Gerrit-Reviewer: Hao Hao Gerrit-Reviewer: Kudu Jenkins Gerrit-Comment-Date: Tue, 31 Oct 2017 00:39:27 + Gerrit-HasComments: No
[kudu-CR] Add a benchmark test for tablet deletion
Hello Kudu Jenkins, Adar Dembo, I'd like you to reexamine a change. Please visit http://gerrit.cloudera.org:8080/8420 to look at the new patch set (#3). Change subject: Add a benchmark test for tablet deletion .. Add a benchmark test for tablet deletion Commit 15f3f9b2f optimizes the performance of group blocks deletion via coalescing holes punch for log block manager. This patch adds a test to benchmark tablet deletion for measuring actual improvement. With 2.5k blocks on the tablet: Before commit 15f3f9b2f: I1030 15:25:38.700058 145431 tablet_server-test.cc:2336] Time spent deleting tablet: real 0.182s user 0.000s sys 0.000s I1030 15:25:38.700096 145431 tablet_server-test.cc:2345] block_count_before_delete : 2500 I1030 15:25:38.700109 145431 tablet_server-test.cc:2346] log_block_manager_containers : 6 I1030 15:25:38.700124 145431 tablet_server-test.cc:2347] log_block_manager_holes_punched : 3000 After: I1030 15:31:54.720243 24610 tablet_server-test.cc:2336] Time spent deleting tablet: real 0.062s user 0.001s sys 0.000s I1030 15:31:54.720258 24610 tablet_server-test.cc:2345] block_count_before_delete : 2500 I1030 15:31:54.720268 24610 tablet_server-test.cc:2346] log_block_manager_containers : 6 I1030 15:31:54.720280 24610 tablet_server-test.cc:2347] log_block_manager_holes_punched : 638 Change-Id: I6054b55f81e5a6e6febcbb5781ad8d776c49a5cf --- M src/kudu/tserver/tablet_server-test.cc 1 file changed, 53 insertions(+), 0 deletions(-) git pull ssh://gerrit.cloudera.org:29418/kudu refs/changes/20/8420/3 -- To view, visit http://gerrit.cloudera.org:8080/8420 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-Project: kudu Gerrit-Branch: master Gerrit-MessageType: newpatchset Gerrit-Change-Id: I6054b55f81e5a6e6febcbb5781ad8d776c49a5cf Gerrit-Change-Number: 8420 Gerrit-PatchSet: 3 Gerrit-Owner: Hao HaoGerrit-Reviewer: Adar Dembo Gerrit-Reviewer: Hao Hao Gerrit-Reviewer: Kudu Jenkins
[kudu-CR] Add a benchmark test for tablet deletion
Hao Hao has posted comments on this change. ( http://gerrit.cloudera.org:8080/8420 ) Change subject: Add a benchmark test for tablet deletion .. Patch Set 2: (2 comments) http://gerrit.cloudera.org:8080/#/c/8420/2/src/kudu/tserver/tablet_server-test.cc File src/kudu/tserver/tablet_server-test.cc: http://gerrit.cloudera.org:8080/#/c/8420/2/src/kudu/tserver/tablet_server-test.cc@2293 PS2, Line 2293: uint64_t rows = FLAGS_delete_tablet_bench_num_flushes; > Not needed anymore? Done http://gerrit.cloudera.org:8080/#/c/8420/2/src/kudu/tserver/tablet_server-test.cc@2327 PS2, Line 2327: for > Nit: remove this word Done -- To view, visit http://gerrit.cloudera.org:8080/8420 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-Project: kudu Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I6054b55f81e5a6e6febcbb5781ad8d776c49a5cf Gerrit-Change-Number: 8420 Gerrit-PatchSet: 2 Gerrit-Owner: Hao HaoGerrit-Reviewer: Adar Dembo Gerrit-Reviewer: Hao Hao Gerrit-Reviewer: Kudu Jenkins Gerrit-Comment-Date: Tue, 31 Oct 2017 00:34:33 + Gerrit-HasComments: Yes
[kudu-CR] Add a benchmark test for tablet deletion
Adar Dembo has posted comments on this change. ( http://gerrit.cloudera.org:8080/8420 ) Change subject: Add a benchmark test for tablet deletion .. Patch Set 2: (2 comments) http://gerrit.cloudera.org:8080/#/c/8420/2/src/kudu/tserver/tablet_server-test.cc File src/kudu/tserver/tablet_server-test.cc: http://gerrit.cloudera.org:8080/#/c/8420/2/src/kudu/tserver/tablet_server-test.cc@2293 PS2, Line 2293: uint64_t rows = FLAGS_delete_tablet_bench_num_flushes; Not needed anymore? http://gerrit.cloudera.org:8080/#/c/8420/2/src/kudu/tserver/tablet_server-test.cc@2327 PS2, Line 2327: for Nit: remove this word -- To view, visit http://gerrit.cloudera.org:8080/8420 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-Project: kudu Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I6054b55f81e5a6e6febcbb5781ad8d776c49a5cf Gerrit-Change-Number: 8420 Gerrit-PatchSet: 2 Gerrit-Owner: Hao HaoGerrit-Reviewer: Adar Dembo Gerrit-Reviewer: Hao Hao Gerrit-Reviewer: Kudu Jenkins Gerrit-Comment-Date: Tue, 31 Oct 2017 00:22:50 + Gerrit-HasComments: Yes
[kudu-CR] Add a benchmark test for tablet deletion
Hao Hao has posted comments on this change. ( http://gerrit.cloudera.org:8080/8420 ) Change subject: Add a benchmark test for tablet deletion .. Patch Set 2: (10 comments) http://gerrit.cloudera.org:8080/#/c/8420/1/src/kudu/tserver/tablet_server-test.cc File src/kudu/tserver/tablet_server-test.cc: http://gerrit.cloudera.org:8080/#/c/8420/1/src/kudu/tserver/tablet_server-test.cc@131 PS1, Line 131: DEFINE_int32(delete_tablet_bench_num_flushes, 200, : "Number of disk row sets to flush in the delete tablet benchmark"); : > Nit: the name and description of this new flag suggests that it's part of t Done http://gerrit.cloudera.org:8080/#/c/8420/1/src/kudu/tserver/tablet_server-test.cc@2293 PS1, Line 2293: uint64_t rows = FLAGS_delete_tablet_bench_num_flushes; > I don't think this is necessary; the other benchmark in this test isn't con Done http://gerrit.cloudera.org:8080/#/c/8420/1/src/kudu/tserver/tablet_server-test.cc@2295 PS1, Line 2295: // Collect some related metrics. : scoped_refptrblock_count = > How long does this take to run in slow mode? If it's less than 5s, I don't With 'delete_tablet_bench_num_flushes' default to 200, the test ran for 3s. So I will remove it. http://gerrit.cloudera.org:8080/#/c/8420/1/src/kudu/tserver/tablet_server-test.cc@2299 PS1, Line 2299: scoped_refptr container = > Nit: terminate with a period. Done http://gerrit.cloudera.org:8080/#/c/8420/1/src/kudu/tserver/tablet_server-test.cc@2300 PS1, Line 2300: METRIC_log_block_manager_containers.Instantiate( > Isn't this guaranteed to be true by the test harness itself? Perhaps it can Done http://gerrit.cloudera.org:8080/#/c/8420/1/src/kudu/tserver/tablet_server-test.cc@2303 PS1, Line 2303: METRIC_log_block_manager_holes_punched.Instantiate( : mini_server_->server()->metric_entity()); : : // Put some data in the tablet. We insert rows and flush immediately to : // ensure that there is enough blocks on disk to run the benchmark. : for (int i = 0; i < rows; i++) { : NO_FATALS(InsertTestRowsRemote(i, 1)); : ASSERT_OK(tablet_replica_->tablet()->Flush()); : } > I presume this is okay to execute even when block_manager=file? Right, it is safe to do so. http://gerrit.cloudera.org:8080/#/c/8420/1/src/kudu/tserver/tablet_server-test.cc@2314 PS1, Line 2314: ablet from within > Nit: replace with "run the" Done http://gerrit.cloudera.org:8080/#/c/8420/1/src/kudu/tserver/tablet_server-test.cc@2316 PS1, Line 2316: // by the test code. > Nit: new code should use the shorter NO_FATALS() macro. Done http://gerrit.cloudera.org:8080/#/c/8420/1/src/kudu/tserver/tablet_server-test.cc@2335 PS1, Line 2335: // Log the related metrics. > No latency is being measured here. Done http://gerrit.cloudera.org:8080/#/c/8420/1/src/kudu/tserver/tablet_server-test.cc@2344 PS1, Line 2344: // Verify that the tablet exists > You can log this regardless of block manager, no? Right, will remove the condition. -- To view, visit http://gerrit.cloudera.org:8080/8420 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-Project: kudu Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I6054b55f81e5a6e6febcbb5781ad8d776c49a5cf Gerrit-Change-Number: 8420 Gerrit-PatchSet: 2 Gerrit-Owner: Hao Hao Gerrit-Reviewer: Adar Dembo Gerrit-Reviewer: Hao Hao Gerrit-Reviewer: Kudu Jenkins Gerrit-Comment-Date: Tue, 31 Oct 2017 00:18:35 + Gerrit-HasComments: Yes
[kudu-CR] Add a benchmark test for tablet deletion
Hello Kudu Jenkins, Adar Dembo, I'd like you to reexamine a change. Please visit http://gerrit.cloudera.org:8080/8420 to look at the new patch set (#2). Change subject: Add a benchmark test for tablet deletion .. Add a benchmark test for tablet deletion Commit 15f3f9b2f optimizes the performance of group blocks deletion via coalescing holes punch for log block manager. This patch adds a test to benchmark tablet deletion for measuring actual improvement. With 2.5k blocks on the tablet: Before commit 15f3f9b2f: I1030 15:25:38.700058 145431 tablet_server-test.cc:2336] Time spent deleting tablet: real 0.182s user 0.000s sys 0.000s I1030 15:25:38.700096 145431 tablet_server-test.cc:2345] block_count_before_delete : 2500 I1030 15:25:38.700109 145431 tablet_server-test.cc:2346] log_block_manager_containers : 6 I1030 15:25:38.700124 145431 tablet_server-test.cc:2347] log_block_manager_holes_punched : 3000 After: I1030 15:31:54.720243 24610 tablet_server-test.cc:2336] Time spent deleting tablet: real 0.062s user 0.001s sys 0.000s I1030 15:31:54.720258 24610 tablet_server-test.cc:2345] block_count_before_delete : 2500 I1030 15:31:54.720268 24610 tablet_server-test.cc:2346] log_block_manager_containers : 6 I1030 15:31:54.720280 24610 tablet_server-test.cc:2347] log_block_manager_holes_punched : 638 Change-Id: I6054b55f81e5a6e6febcbb5781ad8d776c49a5cf --- M src/kudu/tserver/tablet_server-test.cc 1 file changed, 55 insertions(+), 0 deletions(-) git pull ssh://gerrit.cloudera.org:29418/kudu refs/changes/20/8420/2 -- To view, visit http://gerrit.cloudera.org:8080/8420 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-Project: kudu Gerrit-Branch: master Gerrit-MessageType: newpatchset Gerrit-Change-Id: I6054b55f81e5a6e6febcbb5781ad8d776c49a5cf Gerrit-Change-Number: 8420 Gerrit-PatchSet: 2 Gerrit-Owner: Hao HaoGerrit-Reviewer: Adar Dembo Gerrit-Reviewer: Kudu Jenkins
[kudu-CR] Add a benchmark test for tablet deletion
Adar Dembo has posted comments on this change. ( http://gerrit.cloudera.org:8080/8420 ) Change subject: Add a benchmark test for tablet deletion .. Patch Set 1: (10 comments) http://gerrit.cloudera.org:8080/#/c/8420/1/src/kudu/tserver/tablet_server-test.cc File src/kudu/tserver/tablet_server-test.cc: http://gerrit.cloudera.org:8080/#/c/8420/1/src/kudu/tserver/tablet_server-test.cc@131 PS1, Line 131: DEFINE_int32(single_threaded_delete_tablet_bench_insert_rows, 500, : "Number of rows to insert in the testing phase of the single threaded " : "tablet server delete tablet benchmark"); Nit: the name and description of this new flag suggests that it's part of the existing "insert latency micro-benchmark". Perhaps call it "delete_tablet_bench_num_flushes" and describe it with "Number of disk row sets to flush in the delete tablet benchmark"? http://gerrit.cloudera.org:8080/#/c/8420/1/src/kudu/tserver/tablet_server-test.cc@2293 PS1, Line 2293: #ifdef NDEBUG I don't think this is necessary; the other benchmark in this test isn't conditioned on RELEASE mode. http://gerrit.cloudera.org:8080/#/c/8420/1/src/kudu/tserver/tablet_server-test.cc@2295 PS1, Line 2295: uint64_t rows = AllowSlowTests() ? : FLAGS_single_threaded_delete_tablet_bench_insert_rows : 10; How long does this take to run in slow mode? If it's less than 5s, I don't think it's worth the condition. http://gerrit.cloudera.org:8080/#/c/8420/1/src/kudu/tserver/tablet_server-test.cc@2299 PS1, Line 2299: // Verify that the tablet exists Nit: terminate with a period. http://gerrit.cloudera.org:8080/#/c/8420/1/src/kudu/tserver/tablet_server-test.cc@2300 PS1, Line 2300: ASSERT_TRUE(mini_server_->server()->tablet_manager()->LookupTablet(kTabletId, )); Isn't this guaranteed to be true by the test harness itself? Perhaps it can be omitted in favor of operating on tablet_replica_ directly? http://gerrit.cloudera.org:8080/#/c/8420/1/src/kudu/tserver/tablet_server-test.cc@2303 PS1, Line 2303: scoped_refptrblock_count = : METRIC_log_block_manager_blocks_under_management.Instantiate( : mini_server_->server()->metric_entity(), 0); : scoped_refptr container = : METRIC_log_block_manager_containers.Instantiate( : mini_server_->server()->metric_entity(), 0); : scoped_refptr holes_punched = : METRIC_log_block_manager_holes_punched.Instantiate( : mini_server_->server()->metric_entity()); I presume this is okay to execute even when block_manager=file? http://gerrit.cloudera.org:8080/#/c/8420/1/src/kudu/tserver/tablet_server-test.cc@2314 PS1, Line 2314: do tablet deletion Nit: replace with "run the" http://gerrit.cloudera.org:8080/#/c/8420/1/src/kudu/tserver/tablet_server-test.cc@2316 PS1, Line 2316: ASSERT_NO_FATAL_FAILURE(InsertTestRowsRemote(i, 1)); Nit: new code should use the shorter NO_FATALS() macro. http://gerrit.cloudera.org:8080/#/c/8420/1/src/kudu/tserver/tablet_server-test.cc@2335 PS1, Line 2335: // Send the call and measure the latency. No latency is being measured here. http://gerrit.cloudera.org:8080/#/c/8420/1/src/kudu/tserver/tablet_server-test.cc@2344 PS1, Line 2344: if (FLAGS_block_manager == "log") { You can log this regardless of block manager, no? -- To view, visit http://gerrit.cloudera.org:8080/8420 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-Project: kudu Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I6054b55f81e5a6e6febcbb5781ad8d776c49a5cf Gerrit-Change-Number: 8420 Gerrit-PatchSet: 1 Gerrit-Owner: Hao Hao Gerrit-Reviewer: Adar Dembo Gerrit-Reviewer: Kudu Jenkins Gerrit-Comment-Date: Mon, 30 Oct 2017 23:37:00 + Gerrit-HasComments: Yes
[kudu-CR] Add a benchmark test for tablet deletion
Hao Hao has uploaded this change for review. ( http://gerrit.cloudera.org:8080/8420 Change subject: Add a benchmark test for tablet deletion .. Add a benchmark test for tablet deletion Commit 15f3f9b2f optimizes the performance of group blocks deletion via coalescing holes punch for log block manager. This patch adds a test to benchmark tablet deletion for measuring actual improvement. With 2.5k blocks on the tablet: Before commit 15f3f9b2f: I1030 15:25:38.700058 145431 tablet_server-test.cc:2336] Time spent deleting tablet: real 0.182s user 0.000s sys 0.000s I1030 15:25:38.700096 145431 tablet_server-test.cc:2345] block_count_before_delete : 2500 I1030 15:25:38.700109 145431 tablet_server-test.cc:2346] log_block_manager_containers : 6 I1030 15:25:38.700124 145431 tablet_server-test.cc:2347] log_block_manager_holes_punched : 3000 After: I1030 15:31:54.720243 24610 tablet_server-test.cc:2336] Time spent deleting tablet: real 0.062s user 0.001s sys 0.000s I1030 15:31:54.720258 24610 tablet_server-test.cc:2345] block_count_before_delete : 2500 I1030 15:31:54.720268 24610 tablet_server-test.cc:2346] log_block_manager_containers : 6 I1030 15:31:54.720280 24610 tablet_server-test.cc:2347] log_block_manager_holes_punched : 638 Change-Id: I6054b55f81e5a6e6febcbb5781ad8d776c49a5cf --- M src/kudu/tserver/tablet_server-test.cc 1 file changed, 66 insertions(+), 0 deletions(-) git pull ssh://gerrit.cloudera.org:29418/kudu refs/changes/20/8420/1 -- To view, visit http://gerrit.cloudera.org:8080/8420 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-Project: kudu Gerrit-Branch: master Gerrit-MessageType: newchange Gerrit-Change-Id: I6054b55f81e5a6e6febcbb5781ad8d776c49a5cf Gerrit-Change-Number: 8420 Gerrit-PatchSet: 1 Gerrit-Owner: Hao Hao