Tim Armstrong has uploaded this change for review. ( 
http://gerrit.cloudera.org:8080/16782


Change subject: IMPALA-10216: make TestWriteErrorBlacklist deterministic
......................................................................

IMPALA-10216: make TestWriteErrorBlacklist deterministic

There is a subtle bug in the test where it does a BufferPool::Pin()
call followed immediately by a BufferPool::Unpin() call. This is
meant to ensure that a new scratch range is allocated for the file,
but does not guarantee that because the Pin() is asynchronous and
there is a short-circuit case in buffer pool that cancels the
Pin() if it the page is unpinned before the pin completes.

We can force the pin to complete by requesting the actual buffer
for the page (and verifying the data for good measure).

Testing:
I was never able to reproduce this race locally, but the fix
is pretty safe and I looped the modified test for a while.

Change-Id: I158dbc1ac60c8fefd53a138aa3e41cced9c4d674
---
M be/src/runtime/bufferpool/buffer-pool-test.cc
1 file changed, 2 insertions(+), 0 deletions(-)



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

Gerrit-Project: Impala-ASF
Gerrit-Branch: master
Gerrit-MessageType: newchange
Gerrit-Change-Id: I158dbc1ac60c8fefd53a138aa3e41cced9c4d674
Gerrit-Change-Number: 16782
Gerrit-PatchSet: 1
Gerrit-Owner: Tim Armstrong <tarmstr...@cloudera.com>

Reply via email to