Hello Dan Hecht, I'd like you to reexamine a change. Please visit
http://gerrit.cloudera.org:8080/6469 to look at the new patch set (#6). Change subject: IMPALA-5113: fix dirty unpinned invariant ...................................................................... IMPALA-5113: fix dirty unpinned invariant There were two bugs: * The invariant was too strict and didn't take into account multiple pins of pages (which don't use buffers and therefore shouldn't count). * The invariant wasn't enforced when reclaiming a clean page. Change the logic so that it's implemented in terms of pages/buffers in various states (this avoids the reservation double-counting and more directly expresses the intent). To aid in this, refactor the page lists to use a wrapper that tracks the # of bytes of pages in each list. Testing: Added a unit test that reproduces the issue and added stricter DCHECKs to detect the issue in future. Change-Id: I07e08acb6cf6839bfccbd09258c093b1c8252b25 --- M be/src/runtime/bufferpool/buffer-pool-internal.h M be/src/runtime/bufferpool/buffer-pool-test.cc M be/src/runtime/bufferpool/buffer-pool.cc M be/src/runtime/bufferpool/buffer-pool.h M be/src/util/internal-queue.h 5 files changed, 262 insertions(+), 151 deletions(-) git pull ssh://gerrit.cloudera.org:29418/Impala-ASF refs/changes/69/6469/6 -- To view, visit http://gerrit.cloudera.org:8080/6469 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-MessageType: newpatchset Gerrit-Change-Id: I07e08acb6cf6839bfccbd09258c093b1c8252b25 Gerrit-PatchSet: 6 Gerrit-Project: Impala-ASF Gerrit-Branch: master Gerrit-Owner: Tim Armstrong <tarmstr...@cloudera.com> Gerrit-Reviewer: Dan Hecht <dhe...@cloudera.com> Gerrit-Reviewer: Tim Armstrong <tarmstr...@cloudera.com>