Hello Kudu Jenkins, I'd like you to reexamine a change. Please visit
http://gerrit.cloudera.org:8080/4191 to look at the new patch set (#2). Change subject: compaction_policy: avoid O(n^2) calls to EstimateOnDiskSize ...................................................................... compaction_policy: avoid O(n^2) calls to EstimateOnDiskSize In a cluster workload with a 130GB+ tablet, I found that the maintenance manager scheduler thread was spending tens of seconds inside RowSetInfo::CollectOrdered(), mostly inside calls to EstimateOnDiskSize(). While any individual call is not exceedingly slow, they involve a lot of virtual function calls and potential CPU cache misses, so it appears to add up. I deployed this patch on the cluster and found that the MaintenanceManager 'FindBestOps' call went from ~16 seconds to ~350ms. Change-Id: Ic2949218d7f5fd822571a7b14d1d0b4430aeee1d --- M src/kudu/tablet/rowset_info.cc M src/kudu/tablet/rowset_info.h 2 files changed, 13 insertions(+), 6 deletions(-) git pull ssh://gerrit.cloudera.org:29418/kudu refs/changes/91/4191/2 -- To view, visit http://gerrit.cloudera.org:8080/4191 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-MessageType: newpatchset Gerrit-Change-Id: Ic2949218d7f5fd822571a7b14d1d0b4430aeee1d Gerrit-PatchSet: 2 Gerrit-Project: kudu Gerrit-Branch: master Gerrit-Owner: Todd Lipcon <t...@apache.org> Gerrit-Reviewer: David Ribeiro Alves <dral...@apache.org> Gerrit-Reviewer: Kudu Jenkins Gerrit-Reviewer: Todd Lipcon <t...@apache.org>