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
