Sahil Takiar has posted comments on this change. ( http://gerrit.cloudera.org:8080/14777 )
Change subject: IMPALA-9181: Serialize TQueryCtx once per query ...................................................................... Patch Set 1: (6 comments) first pass http://gerrit.cloudera.org:8080/#/c/14777/1//COMMIT_MSG Commit Message: http://gerrit.cloudera.org:8080/#/c/14777/1//COMMIT_MSG@10 PS1, Line 10: TQueryCtx why is serializing this per fragment expensive, is it typically a very large object? does each fragment need all the info in the TQueryCtx? http://gerrit.cloudera.org:8080/#/c/14777/1/be/src/runtime/coordinator-backend-state.h File be/src/runtime/coordinator-backend-state.h: http://gerrit.cloudera.org:8080/#/c/14777/1/be/src/runtime/coordinator-backend-state.h@85 PS1, Line 85: const kudu::Slice& serialized_query_ctx nit: pass via constructor instead? since that is where query_ctx is passed as well. http://gerrit.cloudera.org:8080/#/c/14777/1/be/src/runtime/query-exec-mgr.cc File be/src/runtime/query-exec-mgr.cc: http://gerrit.cloudera.org:8080/#/c/14777/1/be/src/runtime/query-exec-mgr.cc@50 PS1, Line 50: bool dummy; : QueryState* qs = : GetOrCreateQueryState(query_ctx, request->per_backend_mem_limit(), &dummy); not your code, but is it possible for the QueryState to already exist, or can we use CreateQueryState instead? http://gerrit.cloudera.org:8080/#/c/14777/1/be/src/service/control-service.cc File be/src/service/control-service.cc: http://gerrit.cloudera.org:8080/#/c/14777/1/be/src/service/control-service.cc@118 PS1, Line 118: Status GetSidecar(int sidecar_idx, RpcContext* rpc_context, T* thrift_obj) { nit: add some method code comments http://gerrit.cloudera.org:8080/#/c/14777/1/be/src/service/control-service.cc@135 PS1, Line 135: TODO: can we avoid this extra copy? probably could do this if you make query_ctx a unique_ptr and just transfer ownership from this method --> StartQuery --> GetOrCreateQueryState --> QueryState c'tor. It might be a bit of a pain to re-factor this all though, so its up to you. http://gerrit.cloudera.org:8080/#/c/14777/1/common/thrift/ImpalaInternalService.thrift File common/thrift/ImpalaInternalService.thrift: http://gerrit.cloudera.org:8080/#/c/14777/1/common/thrift/ImpalaInternalService.thrift@658 PS1, Line 658: TExecPlanFragmentInfo could you add some more docs to this? it's not that clear to me what this encapsulates / why adding this info as a sidecar to ExecQueryFInstances is necessary. -- To view, visit http://gerrit.cloudera.org:8080/14777 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-Project: Impala-ASF Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I6a4dd302fd5602ec2775492a041ddd51e7d7a6c6 Gerrit-Change-Number: 14777 Gerrit-PatchSet: 1 Gerrit-Owner: Thomas Tauber-Marshall <[email protected]> Gerrit-Reviewer: Impala Public Jenkins <[email protected]> Gerrit-Reviewer: Michael Ho <[email protected]> Gerrit-Reviewer: Sahil Takiar <[email protected]> Gerrit-Comment-Date: Mon, 25 Nov 2019 18:32:10 +0000 Gerrit-HasComments: Yes
