Dan Hecht has posted comments on this change. Change subject: IMPALA-4026: Implement double-buffering for BlockingQueue ......................................................................
Patch Set 9: (3 comments) Is there a new patchset that addresses Juan's change? http://gerrit.cloudera.org:8080/#/c/4350/7/be/src/util/blocking-queue.h File be/src/util/blocking-queue.h: PS7, Line 171: > Yes, this can be split into SizeLocked() which requires "put_lock_" be held Right, I understand that, but that doesn't mean Size() should return any random value. The assumption that mpalaServer::MembershipCallback(), for example, seems valid. Holding the write lock does solve this though since it protects against the swap which is when the double counting (or zero counting) can occur. http://gerrit.cloudera.org:8080/#/c/4350/9/be/src/util/blocking-queue.h File be/src/util/blocking-queue.h: PS9, Line 188: read racily that's not true -- the atomic means it's not a "racy read". I think what you mean is the get and put sizes are not read atomically together? PS9, Line 201: mutable why do we need these mutable? it wouldn't make sense to declare a 'const BlockingQueue' (and it wouldn't work since a lot of these other fields would need to be mutable as well). -- To view, visit http://gerrit.cloudera.org:8080/4350 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-MessageType: comment Gerrit-Change-Id: Ib9f4cf351455efefb0f3bb791cf9bc82d1421d54 Gerrit-PatchSet: 9 Gerrit-Project: Impala-ASF Gerrit-Branch: master Gerrit-Owner: Michael Ho <[email protected]> Gerrit-Reviewer: Alex Behm <[email protected]> Gerrit-Reviewer: Chen Huang <[email protected]> Gerrit-Reviewer: Dan Hecht <[email protected]> Gerrit-Reviewer: Juan Yu <[email protected]> Gerrit-Reviewer: Michael Ho <[email protected]> Gerrit-Reviewer: Mostafa Mokhtar <[email protected]> Gerrit-Reviewer: Tim Armstrong <[email protected]> Gerrit-HasComments: Yes
