[Impala-ASF-CR] IMPALA-5597: Check predicate children types when building runtime filter plan

2017-09-12 Thread Tianyi Wang (Code Review)
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 Wang 
Gerrit-Reviewer: Alex Behm 
Gerrit-Reviewer: Tianyi Wang 


[Impala-ASF-CR] IMPALA-5597: Check predicate children types when building runtime filter plan

2017-09-11 Thread Tianyi Wang (Code Review)
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 Wang 
Gerrit-Reviewer: Alex Behm 
Gerrit-Reviewer: Tianyi Wang 


[Impala-ASF-CR] IMPALA-5597: Check predicate children types when building runtime filter plan

2017-09-11 Thread Tianyi Wang (Code Review)
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 Wang 
Gerrit-Reviewer: Alex Behm 
Gerrit-Reviewer: Tianyi Wang 


[Impala-ASF-CR] IMPALA-5597: Check predicate children types when building runtime filter plan

2017-09-06 Thread Tianyi Wang (Code Review)
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 Wang 
Gerrit-Reviewer: Alex Behm 
Gerrit-Reviewer: Tianyi Wang 


[Impala-ASF-CR] IMPALA-5597: Check predicate children types when building runtime filter plan

2017-09-05 Thread Alex Behm (Code Review)
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 Wang 
Gerrit-Reviewer: Alex Behm 
Gerrit-Reviewer: Tianyi Wang 
Gerrit-HasComments: Yes


[Impala-ASF-CR] IMPALA-5597: Check predicate children types when building runtime filter plan

2017-09-05 Thread Tianyi Wang (Code Review)
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 Wang 
Gerrit-Reviewer: Alex Behm 
Gerrit-Reviewer: Tianyi Wang 
Gerrit-HasComments: Yes


[Impala-ASF-CR] IMPALA-5597: Check predicate children types when building runtime filter plan

2017-09-05 Thread Alex Behm (Code Review)
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 Wang 
Gerrit-Reviewer: Alex Behm 
Gerrit-HasComments: Yes


[Impala-ASF-CR] IMPALA-5597: Check predicate children types when building runtime filter plan

2017-09-01 Thread Tianyi Wang (Code Review)
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