Joe McDonnell has uploaded this change for review. ( 
http://gerrit.cloudera.org:8080/19929


Change subject: IMPALA-12154: Trim recency list appropriate for LIRS 
ToUninitialize()
......................................................................

IMPALA-12154: Trim recency list appropriate for LIRS ToUninitialize()

The LIRS implementation relies on the invariant that the
last entry on the recency list is PROTECTED. This is not
being enforced properly when the code removes an entry
from the recency list in ToUninitialized(). This comes
up when an entry is erased or when a protected element
is overwritten.

This modifies ToUninitialized() to call TrimRecencyList()
when removing the last entry on the recency list. To
avoid recursion, it avoids this logic when TrimRecencyList()
itself is calling ToUninitialized().

Tests:
 - Added a unit tests for erasing/overwriting the last entry
   on the recency list

Change-Id: I83298e0a042174a09f0144aa336b2eb2b28bfee8
---
M be/src/util/cache/lirs-cache-test.cc
M be/src/util/cache/lirs-cache.cc
2 files changed, 118 insertions(+), 4 deletions(-)



  git pull ssh://gerrit.cloudera.org:29418/Impala-ASF refs/changes/29/19929/1
-- 
To view, visit http://gerrit.cloudera.org:8080/19929
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings

Gerrit-Project: Impala-ASF
Gerrit-Branch: master
Gerrit-MessageType: newchange
Gerrit-Change-Id: I83298e0a042174a09f0144aa336b2eb2b28bfee8
Gerrit-Change-Number: 19929
Gerrit-PatchSet: 1
Gerrit-Owner: Joe McDonnell <[email protected]>

Reply via email to