Adar Dembo has submitted this change and it was merged.

Change subject: cow_object: lazily copy dirty state
......................................................................


cow_object: lazily copy dirty state

This addresses a long-standing TODO that ought to improve performance of
tablet reports in the steady-state: within the COWed objects, defer the
creation of the "dirty" copy until it's actually needed (i.e. the first call
to mutable_dirty()).

The deferral introduces new branches in dirty() and mutable_dirty(), but
given the paucity of those calls for any given lock instance, I think this
is a reasonable trade-off.

Change-Id: Ic00c573717e7cb8df1942ba0760726fd0961e1d6
Reviewed-on: http://gerrit.cloudera.org:8080/7951
Reviewed-by: Dan Burkert <[email protected]>
Tested-by: Kudu Jenkins
Reviewed-by: Todd Lipcon <[email protected]>
---
M src/kudu/master/catalog_manager.cc
M src/kudu/util/cow_object.h
2 files changed, 21 insertions(+), 15 deletions(-)

Approvals:
  Dan Burkert: Looks good to me, approved
  Todd Lipcon: Looks good to me, approved
  Kudu Jenkins: Verified



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

Gerrit-MessageType: merged
Gerrit-Change-Id: Ic00c573717e7cb8df1942ba0760726fd0961e1d6
Gerrit-PatchSet: 3
Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-Owner: Adar Dembo <[email protected]>
Gerrit-Reviewer: Adar Dembo <[email protected]>
Gerrit-Reviewer: Dan Burkert <[email protected]>
Gerrit-Reviewer: Kudu Jenkins
Gerrit-Reviewer: Todd Lipcon <[email protected]>

Reply via email to