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

Reply via email to