Sailesh Mukil has posted comments on this change. Change subject: IMPALA-3882: Simplify some query exec state locking ......................................................................
Patch Set 5: (4 comments) http://gerrit.cloudera.org:8080/#/c/4935/5/be/src/service/impala-beeswax-server.cc File be/src/service/impala-beeswax-server.cc: PS5, Line 250: { > Makes the scope explicit. But do we need to have them even though the scope is only for the last statement in the function? http://gerrit.cloudera.org:8080/#/c/4935/5/be/src/service/impala-hs2-server.cc File be/src/service/impala-hs2-server.cc: PS5, Line 794: lock_guard<mutex> l(*exec_state->lock()); > Still, I think it's safe to take the lock as good practice; we generally re Ok, that makes sense. http://gerrit.cloudera.org:8080/#/c/4935/5/be/src/service/query-exec-state.cc File be/src/service/query-exec-state.cc: PS5, Line 594: SetMetadataAvailable(); Coming back to this, I just want to make sure that we have enough error checking in GetResultSetMetadata(), so in case a client calls GetResultSetMetadata() without calling ExecuteMetadataOp(), we fail instead of hanging on the promise (WaitForMetadataAvailable()). I *think* THandleIdentifierToTUniqueId() (L693 in impala-hs2-server.cc) should take care of it, but I'm not sure. http://gerrit.cloudera.org:8080/#/c/4935/5/be/src/service/query-exec-state.h File be/src/service/query-exec-state.h: Line 73: /// Execute a HiveServer2 metadata operation nit: Should "calls SetMetadataAvailable()" also be mentioned here? -- To view, visit http://gerrit.cloudera.org:8080/4935 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-MessageType: comment Gerrit-Change-Id: I516357d2b5e9eb83e8209872cbe4c078c778a629 Gerrit-PatchSet: 5 Gerrit-Project: Impala-ASF Gerrit-Branch: master Gerrit-Owner: Henry Robinson <[email protected]> Gerrit-Reviewer: Henry Robinson <[email protected]> Gerrit-Reviewer: Sailesh Mukil <[email protected]> Gerrit-Reviewer: Tim Armstrong <[email protected]> Gerrit-HasComments: Yes
