[Impala-ASF-CR] IMPALA-5597: Check predicate children types when building runtime filter plan
Tianyi Wang has restored this change. Change subject: IMPALA-5597: Check predicate children types when building runtime filter plan .. Restored A new fix is implemented. -- To view, visit http://gerrit.cloudera.org:8080/7949 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-MessageType: restore Gerrit-Change-Id: I0d66673e280ce13cd3a514236c0c2ecbc50475a6 Gerrit-PatchSet: 1 Gerrit-Project: Impala-ASF Gerrit-Branch: master Gerrit-Owner: Tianyi WangGerrit-Reviewer: Alex Behm Gerrit-Reviewer: Tianyi Wang
[Impala-ASF-CR] IMPALA-5597: Check predicate children types when building runtime filter plan
Tianyi Wang has abandoned this change. Change subject: IMPALA-5597: Check predicate children types when building runtime filter plan .. Abandoned Sorry. Not ready. -- To view, visit http://gerrit.cloudera.org:8080/7949 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-MessageType: abandon Gerrit-Change-Id: I0d66673e280ce13cd3a514236c0c2ecbc50475a6 Gerrit-PatchSet: 1 Gerrit-Project: Impala-ASF Gerrit-Branch: master Gerrit-Owner: Tianyi WangGerrit-Reviewer: Alex Behm Gerrit-Reviewer: Tianyi Wang
[Impala-ASF-CR] IMPALA-5597: Check predicate children types when building runtime filter plan
Tianyi Wang has restored this change. Change subject: IMPALA-5597: Check predicate children types when building runtime filter plan .. Restored Reopen since a new fix is implemented. -- To view, visit http://gerrit.cloudera.org:8080/7949 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-MessageType: restore Gerrit-Change-Id: I0d66673e280ce13cd3a514236c0c2ecbc50475a6 Gerrit-PatchSet: 1 Gerrit-Project: Impala-ASF Gerrit-Branch: master Gerrit-Owner: Tianyi WangGerrit-Reviewer: Alex Behm Gerrit-Reviewer: Tianyi Wang
[Impala-ASF-CR] IMPALA-5597: Check predicate children types when building runtime filter plan
Tianyi Wang has abandoned this change. Change subject: IMPALA-5597: Check predicate children types when building runtime filter plan .. Abandoned Need to rewrite this patch completely. -- To view, visit http://gerrit.cloudera.org:8080/7949 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-MessageType: abandon Gerrit-Change-Id: I0d66673e280ce13cd3a514236c0c2ecbc50475a6 Gerrit-PatchSet: 1 Gerrit-Project: Impala-ASF Gerrit-Branch: master Gerrit-Owner: Tianyi WangGerrit-Reviewer: Alex Behm Gerrit-Reviewer: Tianyi Wang
[Impala-ASF-CR] IMPALA-5597: Check predicate children types when building runtime filter plan
Alex Behm has posted comments on this change. Change subject: IMPALA-5597: Check predicate children types when building runtime filter plan .. Patch Set 1: (2 comments) http://gerrit.cloudera.org:8080/#/c/7949/1/fe/src/main/java/org/apache/impala/planner/RuntimeFilterGenerator.java File fe/src/main/java/org/apache/impala/planner/RuntimeFilterGenerator.java: Line 240: if (!targetExpr.getType().matchesType(srcExpr.getType())) return null; We can still fix this case, see my comments below. Line 585: targetExpr = targetExpr.substitute(smap, analyzer, true); Looks like the existing code is trying to do the right thing, but it's not quite correct. Since our runtime filters are hash based (bloom) the source and target exprs must have *identical* types, otherwise the same values may hash differently. Proposed changes: 1. Pass 'false' to this substitute() to not preserve the type. 2. Try to cast the resulting targetExpr to filter.getSrcExpr().getType(). If that fails, we have to bail like in the existing catch block here. 3. The Preconditions check in L597 is too weak. We require the types to be identical (use equals()). -- To view, visit http://gerrit.cloudera.org:8080/7949 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-MessageType: comment Gerrit-Change-Id: I0d66673e280ce13cd3a514236c0c2ecbc50475a6 Gerrit-PatchSet: 1 Gerrit-Project: Impala-ASF Gerrit-Branch: master Gerrit-Owner: Tianyi WangGerrit-Reviewer: Alex Behm Gerrit-Reviewer: Tianyi Wang Gerrit-HasComments: Yes
[Impala-ASF-CR] IMPALA-5597: Check predicate children types when building runtime filter plan
Tianyi Wang has posted comments on this change. Change subject: IMPALA-5597: Check predicate children types when building runtime filter plan .. Patch Set 1: (1 comment) http://gerrit.cloudera.org:8080/#/c/7949/1//COMMIT_MSG Commit Message: Line 14: With this patch such runtime filters are abandoned. > Do they have to be abandoned? We we make them work instead? I have some options posted on JIRA and I need some input to do this. -- To view, visit http://gerrit.cloudera.org:8080/7949 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-MessageType: comment Gerrit-Change-Id: I0d66673e280ce13cd3a514236c0c2ecbc50475a6 Gerrit-PatchSet: 1 Gerrit-Project: Impala-ASF Gerrit-Branch: master Gerrit-Owner: Tianyi WangGerrit-Reviewer: Alex Behm Gerrit-Reviewer: Tianyi Wang Gerrit-HasComments: Yes
[Impala-ASF-CR] IMPALA-5597: Check predicate children types when building runtime filter plan
Alex Behm has posted comments on this change. Change subject: IMPALA-5597: Check predicate children types when building runtime filter plan .. Patch Set 1: (1 comment) http://gerrit.cloudera.org:8080/#/c/7949/1//COMMIT_MSG Commit Message: Line 14: With this patch such runtime filters are abandoned. Do they have to be abandoned? We we make them work instead? -- To view, visit http://gerrit.cloudera.org:8080/7949 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-MessageType: comment Gerrit-Change-Id: I0d66673e280ce13cd3a514236c0c2ecbc50475a6 Gerrit-PatchSet: 1 Gerrit-Project: Impala-ASF Gerrit-Branch: master Gerrit-Owner: Tianyi WangGerrit-Reviewer: Alex Behm Gerrit-HasComments: Yes
[Impala-ASF-CR] IMPALA-5597: Check predicate children types when building runtime filter plan
Tianyi Wang has uploaded a new change for review. http://gerrit.cloudera.org:8080/7949 Change subject: IMPALA-5597: Check predicate children types when building runtime filter plan .. IMPALA-5597: Check predicate children types when building runtime filter plan This patch fixes a bug that fails a precondition check when generating runtime filter plans. The lhs and rhs of predicate to be joined on may have different types when the eq predicate function accepts wildcard-typed parameters. Then in existing code the types of source and target expr will be found mismatch and an exception will be thrown. With this patch such runtime filters are abandoned. A testcase is added to joins.test Change-Id: I0d66673e280ce13cd3a514236c0c2ecbc50475a6 --- M fe/src/main/java/org/apache/impala/planner/RuntimeFilterGenerator.java M testdata/workloads/functional-query/queries/QueryTest/joins.test 2 files changed, 9 insertions(+), 0 deletions(-) git pull ssh://gerrit.cloudera.org:29418/Impala-ASF refs/changes/49/7949/1 -- To view, visit http://gerrit.cloudera.org:8080/7949 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-MessageType: newchange Gerrit-Change-Id: I0d66673e280ce13cd3a514236c0c2ecbc50475a6 Gerrit-PatchSet: 1 Gerrit-Project: Impala-ASF Gerrit-Branch: master Gerrit-Owner: Tianyi Wang