Dan Hecht has posted comments on this change.

Change subject: IMPALA-5427: Fix race between CRS::UpdateQueryStatus() and 
beeswax RPCs
......................................................................


Patch Set 9:

(6 comments)

http://gerrit.cloudera.org:8080/#/c/7155/9/be/src/service/impala-beeswax-server.cc
File be/src/service/impala-beeswax-server.cc:

Line 122:   }
It'd be clearer if we just made CRS::Wait() return the status (it can set that 
status after all) rather than re-taking the lock.


Line 128:   
request_state->UpdateNonErrorQueryState(beeswax::QueryState::FINISHED);
I think Wait() takes care of this already, no?


Line 252:   lock_guard<mutex> l(*request_state->lock());
I think this is subtle enough to warrant a comment like:
// Take the lock to ensure that if the client sees a query_state == EXCEPTOIN, 
it is guaranteed to see the error query_status.


Line 288:     lock_guard<mutex> l(*request_state->lock());
I think we should comment this too.


Line 290:     if (!request_state->query_status().ok()) {
I think we should have the query_state == EXCEPTION dcheck here too.


http://gerrit.cloudera.org:8080/#/c/7155/9/be/src/service/impala-server.cc
File be/src/service/impala-server.cc:

Line 1011:   lock_guard<mutex> l(client_request_state_map_lock_);
why do we need to take the map lock here?


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

Gerrit-MessageType: comment
Gerrit-Change-Id: Ib4494fe3f933cc23841db0e7da407eec5650f2b5
Gerrit-PatchSet: 9
Gerrit-Project: Impala-ASF
Gerrit-Branch: master
Gerrit-Owner: Lars Volker <[email protected]>
Gerrit-Reviewer: Dan Hecht <[email protected]>
Gerrit-Reviewer: Lars Volker <[email protected]>
Gerrit-Reviewer: Sailesh Mukil <[email protected]>
Gerrit-HasComments: Yes

Reply via email to