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