Marcel Kornacker has posted comments on this change.

Change subject: IMPALA-3610: Account for memory used by filters in the 
coordinator
......................................................................


Patch Set 2:

(11 comments)

http://gerrit.cloudera.org:8080/#/c/4066/2/be/src/runtime/coordinator.cc
File be/src/runtime/coordinator.cc:

Line 431:   filter_mem_tracker_.reset(new MemTracker(-1, -1, "Runtime Filter 
(Coordinator)",
> The query_mem_tracker() is set only by L425 based on whether there exists a
never mind, it's a descendent of the pool tracker.


Line 2040:       swap(rpc_params->bloom_filter, *filter);
> Done.
initialize state->bloom_filter to an empty struct, then do the swap.


http://gerrit.cloudera.org:8080/#/c/4066/4/be/src/runtime/coordinator.cc
File be/src/runtime/coordinator.cc:

Line 2010:           if (state->bloom_filter.get() == NULL) {
this is a very coarse lock. most of the code after l2037 is specific to state 
and doesn't need a global lock.

leave todo in FilterState to add lock there and reduce holding time of 
filter_lock_.


Line 2037:       // read.
almost everything from here to l2056 updates 'state'. move into ApplyUpdate().


Line 2051:   for (const auto& target_idx: target_fragment_instance_idxs) {
swap instead


Line 2057:     };
follow with blank line, there is a logical break here (first you updated state, 
now you compute payload)


Line 2108
why did you move this assignment?

if it's necessary for correctness, explain that with a brief comment.


http://gerrit.cloudera.org:8080/#/c/4066/4/be/src/util/bloom-filter.cc
File be/src/util/bloom-filter.cc:

Line 104:   static const double ik = 1.0 / BUCKET_WORDS;
single line?


http://gerrit.cloudera.org:8080/#/c/4066/4/be/src/util/bloom-filter.h
File be/src/util/bloom-filter.h:

Line 82:   void Or(const BloomFilter& other);
is this still getting called?


Line 106:  private:
no need to repeat param types in function name.

missing function comment.

group with other Or


http://gerrit.cloudera.org:8080/#/c/4066/4/testdata/workloads/functional-query/queries/QueryTest/runtime_row_filters_phj.test
File 
testdata/workloads/functional-query/queries/QueryTest/runtime_row_filters_phj.test:

Line 85
can't this run with a smaller limit?


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

Gerrit-MessageType: comment
Gerrit-Change-Id: I3c52c8a1c2e79ef370c77bf264885fc859678d1b
Gerrit-PatchSet: 2
Gerrit-Project: Impala-ASF
Gerrit-Branch: master
Gerrit-Owner: Henry Robinson <he...@cloudera.com>
Gerrit-Reviewer: Henry Robinson <he...@cloudera.com>
Gerrit-Reviewer: Marcel Kornacker <mar...@cloudera.com>
Gerrit-Reviewer: Sailesh Mukil <sail...@cloudera.com>
Gerrit-HasComments: Yes

Reply via email to