You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@impala.apache.org by ta...@apache.org on 2016/04/12 23:18:49 UTC
[15/50] incubator-impala git commit: IMPALA-3241: Send dummy filters
for non-partitioned joins
IMPALA-3241: Send dummy filters for non-partitioned joins
This is the non-partitioned hash-join counterpart for IMPALA-3141,
sending dummy filters when no real filter will be produced.
Tested manually with PHJ disabled.
Change-Id: I54be1e0f4282641a451bcf765c29189432dea0b3
Reviewed-on: http://gerrit.cloudera.org:8080/2649
Reviewed-by: Marcel Kornacker <ma...@cloudera.com>
Tested-by: Internal Jenkins
Project: http://git-wip-us.apache.org/repos/asf/incubator-impala/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-impala/commit/943b7cc7
Tree: http://git-wip-us.apache.org/repos/asf/incubator-impala/tree/943b7cc7
Diff: http://git-wip-us.apache.org/repos/asf/incubator-impala/diff/943b7cc7
Branch: refs/heads/master
Commit: 943b7cc7a7a5090be139f08fa4712c596870e270
Parents: 49a73cd
Author: Henry Robinson <he...@cloudera.com>
Authored: Mon Mar 28 16:22:23 2016 -0700
Committer: Internal Jenkins <cl...@gerrit.cloudera.org>
Committed: Wed Mar 30 03:58:33 2016 +0000
----------------------------------------------------------------------
be/src/exec/hash-join-node.cc | 6 ++++++
1 file changed, 6 insertions(+)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-impala/blob/943b7cc7/be/src/exec/hash-join-node.cc
----------------------------------------------------------------------
diff --git a/be/src/exec/hash-join-node.cc b/be/src/exec/hash-join-node.cc
index 7f8f410..fda90d7 100644
--- a/be/src/exec/hash-join-node.cc
+++ b/be/src/exec/hash-join-node.cc
@@ -24,6 +24,7 @@
#include "runtime/row-batch.h"
#include "runtime/runtime-state.h"
#include "util/debug-util.h"
+#include "util/bloom-filter.h"
#include "util/runtime-profile.h"
#include "gen-cpp/PlanNodes_types.h"
@@ -241,6 +242,11 @@ Status HashJoinNode::ConstructBuildSide(RuntimeState* state) {
AddRuntimeExecOption("Build-Side Runtime-Filter Disabled (FP Rate Too High)");
VLOG(2) << "Disabling runtime filter build because build table is too large: "
<< hash_tbl_->size();
+ // Send dummy filters to unblock any waiting scans.
+ BOOST_FOREACH(RuntimeFilter* filter, filters_) {
+ state->filter_bank()->UpdateFilterFromLocal(filter->filter_desc().filter_id,
+ BloomFilter::ALWAYS_TRUE_FILTER);
+ }
}
}
return Status::OK();