Todd Lipcon has submitted this change and it was merged.

Change subject: log: refactor log reading into an iterator-like interface
......................................................................


log: refactor log reading into an iterator-like interface

This adds a new interface to iterate over a WAL one entry at a time. This
interface is both more natural to use and more performant: by not materializing
lots of entries in memory at the same time, the allocator thread cache should
be kept much hotter and a smaller amount of memory can be reused, keeping CPU
caches hotter.

Currently, this is just a refactor of the internals, with the existing
ReadEntries() method changed to use the iterator interface. Follow-on
patches will change call sites to use the iterator instead.

Change-Id: I5727951664600b7a591a6c892ea1e62469ceb109
Reviewed-on: http://gerrit.cloudera.org:8080/3038
Tested-by: Kudu Jenkins
Reviewed-by: Adar Dembo <[email protected]>
---
M src/kudu/consensus/log_util.cc
M src/kudu/consensus/log_util.h
2 files changed, 233 insertions(+), 137 deletions(-)

Approvals:
  Adar Dembo: Looks good to me, approved
  Kudu Jenkins: Verified



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

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

Reply via email to