[Impala-ASF-CR] IMPALA-6286: Remove invalid runtime filter targets.
Alex Behm has uploaded this change for review. ( http://gerrit.cloudera.org:8080/8783 Change subject: IMPALA-6286: Remove invalid runtime filter targets. .. IMPALA-6286: Remove invalid runtime filter targets. If the target expression of a runtime filter evaluates to a non-NULL value for outer-join non-matches, then assigning the filter below the nullable side of an outer join may incorrectly alter the query results. See IMPALA-6286 for an example and explanation. Such runtime-filter targets are removed. Testing: - added planner tests which passed locally Change-Id: I88153eea9f4b5117df60366fad2bd91776b95298 --- M fe/src/main/java/org/apache/impala/planner/RuntimeFilterGenerator.java M testdata/workloads/functional-planner/queries/PlannerTest/runtime-filter-propagation.test 2 files changed, 80 insertions(+), 0 deletions(-) git pull ssh://gerrit.cloudera.org:29418/Impala-ASF refs/changes/83/8783/1 -- To view, visit http://gerrit.cloudera.org:8080/8783 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-Project: Impala-ASF Gerrit-Branch: master Gerrit-MessageType: newchange Gerrit-Change-Id: I88153eea9f4b5117df60366fad2bd91776b95298 Gerrit-Change-Number: 8783 Gerrit-PatchSet: 1 Gerrit-Owner: Alex Behm
[Impala-ASF-CR] IMPALA-6286: Remove invalid runtime filter targets.
Vuk Ercegovac has posted comments on this change. ( http://gerrit.cloudera.org:8080/8783 ) Change subject: IMPALA-6286: Remove invalid runtime filter targets. .. Patch Set 1: (6 comments) still getting the hang of target/source, outer, nullable in the context of runtime filters, but here are some comments. http://gerrit.cloudera.org:8080/#/c/8783/1/fe/src/main/java/org/apache/impala/planner/RuntimeFilterGenerator.java File fe/src/main/java/org/apache/impala/planner/RuntimeFilterGenerator.java: http://gerrit.cloudera.org:8080/#/c/8783/1/fe/src/main/java/org/apache/impala/planner/RuntimeFilterGenerator.java@278 PS1, Line 278: if (LOG.isTraceEnabled()) { : LOG.trace("Generating runtime filter from predicate " + joinPredicate); : } move this to L297 when you know that the filter will be generated. http://gerrit.cloudera.org:8080/#/c/8783/1/fe/src/main/java/org/apache/impala/planner/RuntimeFilterGenerator.java@284 PS1, Line 284: incorrectly alter the query results produce incorrect results. [more direct] http://gerrit.cloudera.org:8080/#/c/8783/1/fe/src/main/java/org/apache/impala/planner/RuntimeFilterGenerator.java@285 PS1, Line 285: the expr the target expression http://gerrit.cloudera.org:8080/#/c/8783/1/fe/src/main/java/org/apache/impala/planner/RuntimeFilterGenerator.java@285 PS1, Line 285: should nit: must http://gerrit.cloudera.org:8080/#/c/8783/1/fe/src/main/java/org/apache/impala/planner/RuntimeFilterGenerator.java@287 PS1, Line 287: Literal not following what is the Literal part of this predicate. http://gerrit.cloudera.org:8080/#/c/8783/1/testdata/workloads/functional-planner/queries/PlannerTest/runtime-filter-propagation.test File testdata/workloads/functional-planner/queries/PlannerTest/runtime-filter-propagation.test: http://gerrit.cloudera.org:8080/#/c/8783/1/testdata/workloads/functional-planner/queries/PlannerTest/runtime-filter-propagation.test@1483 PS1, Line 1483: s nit: produced -- To view, visit http://gerrit.cloudera.org:8080/8783 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-Project: Impala-ASF Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I88153eea9f4b5117df60366fad2bd91776b95298 Gerrit-Change-Number: 8783 Gerrit-PatchSet: 1 Gerrit-Owner: Alex Behm Gerrit-Reviewer: Dimitris Tsirogiannis Gerrit-Reviewer: Vuk Ercegovac Gerrit-Comment-Date: Thu, 07 Dec 2017 00:42:24 + Gerrit-HasComments: Yes
[Impala-ASF-CR] IMPALA-6286: Remove invalid runtime filter targets.
Hello Dimitris Tsirogiannis, Vuk Ercegovac, I'd like you to reexamine a change. Please visit http://gerrit.cloudera.org:8080/8783 to look at the new patch set (#2). Change subject: IMPALA-6286: Remove invalid runtime filter targets. .. IMPALA-6286: Remove invalid runtime filter targets. If the target expression of a runtime filter evaluates to a non-NULL value for outer-join non-matches, then assigning the filter below the nullable side of an outer join may incorrectly alter the query results. See IMPALA-6286 for an example and explanation. Such runtime-filter targets are removed. Testing: - added planner tests which passed locally Change-Id: I88153eea9f4b5117df60366fad2bd91776b95298 --- M fe/src/main/java/org/apache/impala/planner/RuntimeFilterGenerator.java M testdata/workloads/functional-planner/queries/PlannerTest/runtime-filter-propagation.test 2 files changed, 80 insertions(+), 0 deletions(-) git pull ssh://gerrit.cloudera.org:29418/Impala-ASF refs/changes/83/8783/2 -- To view, visit http://gerrit.cloudera.org:8080/8783 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-Project: Impala-ASF Gerrit-Branch: master Gerrit-MessageType: newpatchset Gerrit-Change-Id: I88153eea9f4b5117df60366fad2bd91776b95298 Gerrit-Change-Number: 8783 Gerrit-PatchSet: 2 Gerrit-Owner: Alex Behm Gerrit-Reviewer: Alex Behm Gerrit-Reviewer: Dimitris Tsirogiannis Gerrit-Reviewer: Vuk Ercegovac
[Impala-ASF-CR] IMPALA-6286: Remove invalid runtime filter targets.
Alex Behm has posted comments on this change. ( http://gerrit.cloudera.org:8080/8783 ) Change subject: IMPALA-6286: Remove invalid runtime filter targets. .. Patch Set 1: (6 comments) Thanks for the quick review! http://gerrit.cloudera.org:8080/#/c/8783/1/fe/src/main/java/org/apache/impala/planner/RuntimeFilterGenerator.java File fe/src/main/java/org/apache/impala/planner/RuntimeFilterGenerator.java: http://gerrit.cloudera.org:8080/#/c/8783/1/fe/src/main/java/org/apache/impala/planner/RuntimeFilterGenerator.java@278 PS1, Line 278: if (LOG.isTraceEnabled()) { : LOG.trace("Generating runtime filter from predicate " + joinPredicate); : } > move this to L297 when you know that the filter will be generated. Good catch. Done http://gerrit.cloudera.org:8080/#/c/8783/1/fe/src/main/java/org/apache/impala/planner/RuntimeFilterGenerator.java@284 PS1, Line 284: incorrectly alter the query results > produce incorrect results. [more direct] Done http://gerrit.cloudera.org:8080/#/c/8783/1/fe/src/main/java/org/apache/impala/planner/RuntimeFilterGenerator.java@285 PS1, Line 285: should > nit: must Done http://gerrit.cloudera.org:8080/#/c/8783/1/fe/src/main/java/org/apache/impala/planner/RuntimeFilterGenerator.java@285 PS1, Line 285: the expr > the target expression Done http://gerrit.cloudera.org:8080/#/c/8783/1/fe/src/main/java/org/apache/impala/planner/RuntimeFilterGenerator.java@287 PS1, Line 287: Literal > not following what is the Literal part of this predicate. You are right, not literal at this point. Done. http://gerrit.cloudera.org:8080/#/c/8783/1/testdata/workloads/functional-planner/queries/PlannerTest/runtime-filter-propagation.test File testdata/workloads/functional-planner/queries/PlannerTest/runtime-filter-propagation.test: http://gerrit.cloudera.org:8080/#/c/8783/1/testdata/workloads/functional-planner/queries/PlannerTest/runtime-filter-propagation.test@1483 PS1, Line 1483: s > nit: produced Done -- To view, visit http://gerrit.cloudera.org:8080/8783 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-Project: Impala-ASF Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I88153eea9f4b5117df60366fad2bd91776b95298 Gerrit-Change-Number: 8783 Gerrit-PatchSet: 1 Gerrit-Owner: Alex Behm Gerrit-Reviewer: Alex Behm Gerrit-Reviewer: Dimitris Tsirogiannis Gerrit-Reviewer: Vuk Ercegovac Gerrit-Comment-Date: Thu, 07 Dec 2017 00:50:26 + Gerrit-HasComments: Yes
[Impala-ASF-CR] IMPALA-6286: Remove invalid runtime filter targets.
Alex Behm has abandoned this change. ( http://gerrit.cloudera.org:8080/8783 ) Change subject: IMPALA-6286: Remove invalid runtime filter targets. .. Abandoned I just realized the fix is incomplete because inline views are not handled. I'll reopen when it's fixed properly. -- To view, visit http://gerrit.cloudera.org:8080/8783 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-Project: Impala-ASF Gerrit-Branch: master Gerrit-MessageType: abandon Gerrit-Change-Id: I88153eea9f4b5117df60366fad2bd91776b95298 Gerrit-Change-Number: 8783 Gerrit-PatchSet: 2 Gerrit-Owner: Alex Behm Gerrit-Reviewer: Alex Behm Gerrit-Reviewer: Dimitris Tsirogiannis Gerrit-Reviewer: Vuk Ercegovac
[Impala-ASF-CR] IMPALA-6286: Remove invalid runtime filter targets.
Alex Behm has restored this change. ( http://gerrit.cloudera.org:8080/8783 ) Change subject: IMPALA-6286: Remove invalid runtime filter targets. .. Restored New patch now also handles inline views. -- To view, visit http://gerrit.cloudera.org:8080/8783 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-Project: Impala-ASF Gerrit-Branch: master Gerrit-MessageType: restore Gerrit-Change-Id: I88153eea9f4b5117df60366fad2bd91776b95298 Gerrit-Change-Number: 8783 Gerrit-PatchSet: 2 Gerrit-Owner: Alex Behm Gerrit-Reviewer: Alex Behm Gerrit-Reviewer: Dimitris Tsirogiannis Gerrit-Reviewer: Vuk Ercegovac
[Impala-ASF-CR] IMPALA-6286: Remove invalid runtime filter targets.
Hello Dimitris Tsirogiannis, Vuk Ercegovac, I'd like you to reexamine a change. Please visit http://gerrit.cloudera.org:8080/8783 to look at the new patch set (#3). Change subject: IMPALA-6286: Remove invalid runtime filter targets. .. IMPALA-6286: Remove invalid runtime filter targets. If the target expression of a runtime filter evaluates to a non-NULL value for outer-join non-matches, then assigning the filter below the nullable side of an outer join may lead to incorrect query results. See IMPALA-6286 for an example and explanation. This patch adds a conservative check that prevents the creation of runtime filters that could potentially have such incorrect targets. Some safe opportunities are deliberately missed to keep the code simple. See RuntimeFilterGenerator#getTargetSlots(). Testing: - added planner tests which passed locally Change-Id: I88153eea9f4b5117df60366fad2bd91776b95298 --- M fe/src/main/java/org/apache/impala/analysis/Analyzer.java M fe/src/main/java/org/apache/impala/planner/RuntimeFilterGenerator.java M testdata/workloads/functional-planner/queries/PlannerTest/runtime-filter-propagation.test 3 files changed, 128 insertions(+), 25 deletions(-) git pull ssh://gerrit.cloudera.org:29418/Impala-ASF refs/changes/83/8783/3 -- To view, visit http://gerrit.cloudera.org:8080/8783 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-Project: Impala-ASF Gerrit-Branch: master Gerrit-MessageType: newpatchset Gerrit-Change-Id: I88153eea9f4b5117df60366fad2bd91776b95298 Gerrit-Change-Number: 8783 Gerrit-PatchSet: 3 Gerrit-Owner: Alex Behm Gerrit-Reviewer: Alex Behm Gerrit-Reviewer: Dimitris Tsirogiannis Gerrit-Reviewer: Vuk Ercegovac
[Impala-ASF-CR] IMPALA-6286: Remove invalid runtime filter targets.
Vuk Ercegovac has posted comments on this change. ( http://gerrit.cloudera.org:8080/8783 ) Change subject: IMPALA-6286: Remove invalid runtime filter targets. .. Patch Set 3: Code-Review+1 (2 comments) http://gerrit.cloudera.org:8080/#/c/8783/3/fe/src/main/java/org/apache/impala/analysis/Analyzer.java File fe/src/main/java/org/apache/impala/analysis/Analyzer.java: http://gerrit.cloudera.org:8080/#/c/8783/3/fe/src/main/java/org/apache/impala/analysis/Analyzer.java@1631 PS3, Line 1631: nit: remove the space http://gerrit.cloudera.org:8080/#/c/8783/3/fe/src/main/java/org/apache/impala/planner/RuntimeFilterGenerator.java File fe/src/main/java/org/apache/impala/planner/RuntimeFilterGenerator.java: http://gerrit.cloudera.org:8080/#/c/8783/3/fe/src/main/java/org/apache/impala/planner/RuntimeFilterGenerator.java@265 PS3, Line 265: targer nit: target -- To view, visit http://gerrit.cloudera.org:8080/8783 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-Project: Impala-ASF Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I88153eea9f4b5117df60366fad2bd91776b95298 Gerrit-Change-Number: 8783 Gerrit-PatchSet: 3 Gerrit-Owner: Alex Behm Gerrit-Reviewer: Alex Behm Gerrit-Reviewer: Dimitris Tsirogiannis Gerrit-Reviewer: Vuk Ercegovac Gerrit-Comment-Date: Thu, 07 Dec 2017 06:44:44 + Gerrit-HasComments: Yes
[Impala-ASF-CR] IMPALA-6286: Remove invalid runtime filter targets.
Hello Dimitris Tsirogiannis, Vuk Ercegovac, I'd like you to reexamine a change. Please visit http://gerrit.cloudera.org:8080/8783 to look at the new patch set (#4). Change subject: IMPALA-6286: Remove invalid runtime filter targets. .. IMPALA-6286: Remove invalid runtime filter targets. If the target expression of a runtime filter evaluates to a non-NULL value for outer-join non-matches, then assigning the filter below the nullable side of an outer join may lead to incorrect query results. See IMPALA-6286 for an example and explanation. This patch adds a conservative check that prevents the creation of runtime filters that could potentially have such incorrect targets. Some safe opportunities are deliberately missed to keep the code simple. See RuntimeFilterGenerator#getTargetSlots(). Testing: - added planner tests which passed locally Change-Id: I88153eea9f4b5117df60366fad2bd91776b95298 --- M fe/src/main/java/org/apache/impala/analysis/Analyzer.java M fe/src/main/java/org/apache/impala/planner/RuntimeFilterGenerator.java M testdata/workloads/functional-planner/queries/PlannerTest/runtime-filter-propagation.test 3 files changed, 128 insertions(+), 25 deletions(-) git pull ssh://gerrit.cloudera.org:29418/Impala-ASF refs/changes/83/8783/4 -- To view, visit http://gerrit.cloudera.org:8080/8783 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-Project: Impala-ASF Gerrit-Branch: master Gerrit-MessageType: newpatchset Gerrit-Change-Id: I88153eea9f4b5117df60366fad2bd91776b95298 Gerrit-Change-Number: 8783 Gerrit-PatchSet: 4 Gerrit-Owner: Alex Behm Gerrit-Reviewer: Alex Behm Gerrit-Reviewer: Dimitris Tsirogiannis Gerrit-Reviewer: Vuk Ercegovac
[Impala-ASF-CR] IMPALA-6286: Remove invalid runtime filter targets.
Alex Behm has posted comments on this change. ( http://gerrit.cloudera.org:8080/8783 ) Change subject: IMPALA-6286: Remove invalid runtime filter targets. .. Patch Set 4: Code-Review+1 -- To view, visit http://gerrit.cloudera.org:8080/8783 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-Project: Impala-ASF Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I88153eea9f4b5117df60366fad2bd91776b95298 Gerrit-Change-Number: 8783 Gerrit-PatchSet: 4 Gerrit-Owner: Alex Behm Gerrit-Reviewer: Alex Behm Gerrit-Reviewer: Dimitris Tsirogiannis Gerrit-Reviewer: Vuk Ercegovac Gerrit-Comment-Date: Thu, 07 Dec 2017 06:54:29 + Gerrit-HasComments: No
[Impala-ASF-CR] IMPALA-6286: Remove invalid runtime filter targets.
Alex Behm has posted comments on this change. ( http://gerrit.cloudera.org:8080/8783 ) Change subject: IMPALA-6286: Remove invalid runtime filter targets. .. Patch Set 3: (2 comments) http://gerrit.cloudera.org:8080/#/c/8783/3/fe/src/main/java/org/apache/impala/analysis/Analyzer.java File fe/src/main/java/org/apache/impala/analysis/Analyzer.java: http://gerrit.cloudera.org:8080/#/c/8783/3/fe/src/main/java/org/apache/impala/analysis/Analyzer.java@1631 PS3, Line 1631: > nit: remove the space Done http://gerrit.cloudera.org:8080/#/c/8783/3/fe/src/main/java/org/apache/impala/planner/RuntimeFilterGenerator.java File fe/src/main/java/org/apache/impala/planner/RuntimeFilterGenerator.java: http://gerrit.cloudera.org:8080/#/c/8783/3/fe/src/main/java/org/apache/impala/planner/RuntimeFilterGenerator.java@265 PS3, Line 265: targer > nit: target Done -- To view, visit http://gerrit.cloudera.org:8080/8783 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-Project: Impala-ASF Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I88153eea9f4b5117df60366fad2bd91776b95298 Gerrit-Change-Number: 8783 Gerrit-PatchSet: 3 Gerrit-Owner: Alex Behm Gerrit-Reviewer: Alex Behm Gerrit-Reviewer: Dimitris Tsirogiannis Gerrit-Reviewer: Vuk Ercegovac Gerrit-Comment-Date: Thu, 07 Dec 2017 06:54:15 + Gerrit-HasComments: Yes
[Impala-ASF-CR] IMPALA-6286: Remove invalid runtime filter targets.
Alex Behm has posted comments on this change. ( http://gerrit.cloudera.org:8080/8783 ) Change subject: IMPALA-6286: Remove invalid runtime filter targets. .. Patch Set 4: Code-Review+2 -- To view, visit http://gerrit.cloudera.org:8080/8783 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-Project: Impala-ASF Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I88153eea9f4b5117df60366fad2bd91776b95298 Gerrit-Change-Number: 8783 Gerrit-PatchSet: 4 Gerrit-Owner: Alex Behm Gerrit-Reviewer: Alex Behm Gerrit-Reviewer: Dimitris Tsirogiannis Gerrit-Reviewer: Vuk Ercegovac Gerrit-Comment-Date: Thu, 07 Dec 2017 22:05:15 + Gerrit-HasComments: No
[Impala-ASF-CR] IMPALA-6286: Remove invalid runtime filter targets.
Impala Public Jenkins has posted comments on this change. ( http://gerrit.cloudera.org:8080/8783 ) Change subject: IMPALA-6286: Remove invalid runtime filter targets. .. Patch Set 4: Build started: https://jenkins.impala.io/job/gerrit-verify-dryrun/1591/ -- To view, visit http://gerrit.cloudera.org:8080/8783 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-Project: Impala-ASF Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I88153eea9f4b5117df60366fad2bd91776b95298 Gerrit-Change-Number: 8783 Gerrit-PatchSet: 4 Gerrit-Owner: Alex Behm Gerrit-Reviewer: Alex Behm Gerrit-Reviewer: Dimitris Tsirogiannis Gerrit-Reviewer: Impala Public Jenkins Gerrit-Reviewer: Vuk Ercegovac Gerrit-Comment-Date: Thu, 07 Dec 2017 22:06:01 + Gerrit-HasComments: No
[Impala-ASF-CR] IMPALA-6286: Remove invalid runtime filter targets.
Impala Public Jenkins has posted comments on this change. ( http://gerrit.cloudera.org:8080/8783 ) Change subject: IMPALA-6286: Remove invalid runtime filter targets. .. Patch Set 4: Verified-1 Build failed: https://jenkins.impala.io/job/gerrit-verify-dryrun/1591/ -- To view, visit http://gerrit.cloudera.org:8080/8783 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-Project: Impala-ASF Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I88153eea9f4b5117df60366fad2bd91776b95298 Gerrit-Change-Number: 8783 Gerrit-PatchSet: 4 Gerrit-Owner: Alex Behm Gerrit-Reviewer: Alex Behm Gerrit-Reviewer: Dimitris Tsirogiannis Gerrit-Reviewer: Impala Public Jenkins Gerrit-Reviewer: Vuk Ercegovac Gerrit-Comment-Date: Fri, 08 Dec 2017 01:44:34 + Gerrit-HasComments: No
[Impala-ASF-CR] IMPALA-6286: Remove invalid runtime filter targets.
Hello Dimitris Tsirogiannis, Vuk Ercegovac, Impala Public Jenkins, I'd like you to reexamine a change. Please visit http://gerrit.cloudera.org:8080/8783 to look at the new patch set (#5). Change subject: IMPALA-6286: Remove invalid runtime filter targets. .. IMPALA-6286: Remove invalid runtime filter targets. If the target expression of a runtime filter evaluates to a non-NULL value for outer-join non-matches, then assigning the filter below the nullable side of an outer join may lead to incorrect query results. See IMPALA-6286 for an example and explanation. This patch adds a conservative check that prevents the creation of runtime filters that could potentially have such incorrect targets. Some safe opportunities are deliberately missed to keep the code simple. See RuntimeFilterGenerator#getTargetSlots(). Testing: - added planner tests which passed locally Change-Id: I88153eea9f4b5117df60366fad2bd91776b95298 --- M fe/src/main/java/org/apache/impala/analysis/Analyzer.java M fe/src/main/java/org/apache/impala/planner/HdfsScanNode.java M fe/src/main/java/org/apache/impala/planner/RuntimeFilterGenerator.java M testdata/workloads/functional-planner/queries/PlannerTest/runtime-filter-propagation.test 4 files changed, 153 insertions(+), 38 deletions(-) git pull ssh://gerrit.cloudera.org:29418/Impala-ASF refs/changes/83/8783/5 -- To view, visit http://gerrit.cloudera.org:8080/8783 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-Project: Impala-ASF Gerrit-Branch: master Gerrit-MessageType: newpatchset Gerrit-Change-Id: I88153eea9f4b5117df60366fad2bd91776b95298 Gerrit-Change-Number: 8783 Gerrit-PatchSet: 5 Gerrit-Owner: Alex Behm Gerrit-Reviewer: Alex Behm Gerrit-Reviewer: Dimitris Tsirogiannis Gerrit-Reviewer: Impala Public Jenkins Gerrit-Reviewer: Vuk Ercegovac
[Impala-ASF-CR] IMPALA-6286: Remove invalid runtime filter targets.
Alex Behm has posted comments on this change. ( http://gerrit.cloudera.org:8080/8783 ) Change subject: IMPALA-6286: Remove invalid runtime filter targets. .. Patch Set 5: A test failed because the backend expression evaluation failed due to an artificially low memory limit. Patch needed a few more changes to handle failures during expression evaluations in the backend. Vuk, can you please take another look since the changes were non-trivial? Thanks! -- To view, visit http://gerrit.cloudera.org:8080/8783 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-Project: Impala-ASF Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I88153eea9f4b5117df60366fad2bd91776b95298 Gerrit-Change-Number: 8783 Gerrit-PatchSet: 5 Gerrit-Owner: Alex Behm Gerrit-Reviewer: Alex Behm Gerrit-Reviewer: Dimitris Tsirogiannis Gerrit-Reviewer: Impala Public Jenkins Gerrit-Reviewer: Vuk Ercegovac Gerrit-Comment-Date: Fri, 08 Dec 2017 06:23:54 + Gerrit-HasComments: No
[Impala-ASF-CR] IMPALA-6286: Remove invalid runtime filter targets.
Hello Dimitris Tsirogiannis, Vuk Ercegovac, Impala Public Jenkins, I'd like you to reexamine a change. Please visit http://gerrit.cloudera.org:8080/8783 to look at the new patch set (#6). Change subject: IMPALA-6286: Remove invalid runtime filter targets. .. IMPALA-6286: Remove invalid runtime filter targets. If the target expression of a runtime filter evaluates to a non-NULL value for outer-join non-matches, then assigning the filter below the nullable side of an outer join may lead to incorrect query results. See IMPALA-6286 for an example and explanation. This patch adds a conservative check that prevents the creation of runtime filters that could potentially have such incorrect targets. Some safe opportunities are deliberately missed to keep the code simple. See RuntimeFilterGenerator#getTargetSlots(). Testing: - added planner tests which passed locally Change-Id: I88153eea9f4b5117df60366fad2bd91776b95298 --- M fe/src/main/java/org/apache/impala/analysis/Analyzer.java M fe/src/main/java/org/apache/impala/planner/HdfsScanNode.java M fe/src/main/java/org/apache/impala/planner/RuntimeFilterGenerator.java M testdata/workloads/functional-planner/queries/PlannerTest/runtime-filter-propagation.test 4 files changed, 154 insertions(+), 38 deletions(-) git pull ssh://gerrit.cloudera.org:29418/Impala-ASF refs/changes/83/8783/6 -- To view, visit http://gerrit.cloudera.org:8080/8783 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-Project: Impala-ASF Gerrit-Branch: master Gerrit-MessageType: newpatchset Gerrit-Change-Id: I88153eea9f4b5117df60366fad2bd91776b95298 Gerrit-Change-Number: 8783 Gerrit-PatchSet: 6 Gerrit-Owner: Alex Behm Gerrit-Reviewer: Alex Behm Gerrit-Reviewer: Dimitris Tsirogiannis Gerrit-Reviewer: Impala Public Jenkins Gerrit-Reviewer: Vuk Ercegovac
[Impala-ASF-CR] IMPALA-6286: Remove invalid runtime filter targets.
Vuk Ercegovac has posted comments on this change. ( http://gerrit.cloudera.org:8080/8783 ) Change subject: IMPALA-6286: Remove invalid runtime filter targets. .. Patch Set 6: (4 comments) I have some questions on the different handling of that exception and a suggestion to make the callsites more explicit. http://gerrit.cloudera.org:8080/#/c/8783/6/fe/src/main/java/org/apache/impala/analysis/Analyzer.java File fe/src/main/java/org/apache/impala/analysis/Analyzer.java: http://gerrit.cloudera.org:8080/#/c/8783/6/fe/src/main/java/org/apache/impala/analysis/Analyzer.java@1533 PS6, Line 1533: isTrueWithNullSlots prior, this would have tripped an assertion on backend error. why is it ok to ignore now? http://gerrit.cloudera.org:8080/#/c/8783/6/fe/src/main/java/org/apache/impala/analysis/Analyzer.java@1909 PS6, Line 1909: boolean might be clearer to have an enum here: true, false, unknown. instead, you are eating the error-- which presumably is rare and we may want to know about it-- and folding the unknown case into every call-site's catch. http://gerrit.cloudera.org:8080/#/c/8783/6/fe/src/main/java/org/apache/impala/analysis/Analyzer.java@1923 PS6, Line 1923: return FeSupport.EvalPredicate(nullTuplePred, getQueryCtx()); just noting that prior, we explicitly asserted the exception case should not happen whereas now that case is silently eaten (L1535). is this what was tripped by the test's too low limit? if so, shouldn't the tests be modified? that test includes an is null predicate for the nested collection-- unclear if that's needed for the test. http://gerrit.cloudera.org:8080/#/c/8783/6/fe/src/main/java/org/apache/impala/planner/HdfsScanNode.java File fe/src/main/java/org/apache/impala/planner/HdfsScanNode.java: http://gerrit.cloudera.org:8080/#/c/8783/6/fe/src/main/java/org/apache/impala/planner/HdfsScanNode.java@640 PS6, Line 640: continue would it be useful to know that pruning could not be done due to a backend error? -- To view, visit http://gerrit.cloudera.org:8080/8783 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-Project: Impala-ASF Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I88153eea9f4b5117df60366fad2bd91776b95298 Gerrit-Change-Number: 8783 Gerrit-PatchSet: 6 Gerrit-Owner: Alex Behm Gerrit-Reviewer: Alex Behm Gerrit-Reviewer: Dimitris Tsirogiannis Gerrit-Reviewer: Impala Public Jenkins Gerrit-Reviewer: Vuk Ercegovac Gerrit-Comment-Date: Fri, 08 Dec 2017 07:27:40 + Gerrit-HasComments: Yes
[Impala-ASF-CR] IMPALA-6286: Remove invalid runtime filter targets.
Alex Behm has posted comments on this change. ( http://gerrit.cloudera.org:8080/8783 ) Change subject: IMPALA-6286: Remove invalid runtime filter targets. .. Patch Set 6: (4 comments) http://gerrit.cloudera.org:8080/#/c/8783/6/fe/src/main/java/org/apache/impala/analysis/Analyzer.java File fe/src/main/java/org/apache/impala/analysis/Analyzer.java: http://gerrit.cloudera.org:8080/#/c/8783/6/fe/src/main/java/org/apache/impala/analysis/Analyzer.java@1533 PS6, Line 1533: isTrueWithNullSlots > prior, this would have tripped an assertion on backend error. why is it ok The predicates generated in this function are for optimization purposes and not required for query correctness. We should be able to tolerate the failure of such non-essential expr evaluations. http://gerrit.cloudera.org:8080/#/c/8783/6/fe/src/main/java/org/apache/impala/analysis/Analyzer.java@1909 PS6, Line 1909: boolean > might be clearer to have an enum here: true, false, unknown. If we switch to an enum then the exception cause it truly swallowed. I prefer to throw to preserve the root cause. The caller is free to not eat the exception or log. Some callers of this function do not swallow the exception http://gerrit.cloudera.org:8080/#/c/8783/6/fe/src/main/java/org/apache/impala/analysis/Analyzer.java@1923 PS6, Line 1923: return FeSupport.EvalPredicate(nullTuplePred, getQueryCtx()); > just noting that prior, we explicitly asserted the exception case should no Correct. * The previous Preconditions check was triggered due to a low mem limit. * Most callers of this function are trying to perform an optimization that is not required for query correctness. In those cases we might still be able to run the query if we ignore the exception and the optimization. I don't think the mem-limit test should be changed because we should be able to tolerate failures of such non-essential expr evaluations without failing the query. * One notable caller is TupleIsNullPredicate.requiresNullWrapping() which requires the evaluation to succeed for query correctness. That caller forwards the exception and will fail the query. * I added LOG.warn() at the non-essential call sites. http://gerrit.cloudera.org:8080/#/c/8783/6/fe/src/main/java/org/apache/impala/planner/HdfsScanNode.java File fe/src/main/java/org/apache/impala/planner/HdfsScanNode.java: http://gerrit.cloudera.org:8080/#/c/8783/6/fe/src/main/java/org/apache/impala/planner/HdfsScanNode.java@640 PS6, Line 640: continue > would it be useful to know that pruning could not be done due to a backend Added LOG.warn() here and in other non-essential callers. -- To view, visit http://gerrit.cloudera.org:8080/8783 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-Project: Impala-ASF Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I88153eea9f4b5117df60366fad2bd91776b95298 Gerrit-Change-Number: 8783 Gerrit-PatchSet: 6 Gerrit-Owner: Alex Behm Gerrit-Reviewer: Alex Behm Gerrit-Reviewer: Dimitris Tsirogiannis Gerrit-Reviewer: Impala Public Jenkins Gerrit-Reviewer: Vuk Ercegovac Gerrit-Comment-Date: Fri, 08 Dec 2017 17:03:40 + Gerrit-HasComments: Yes
[Impala-ASF-CR] IMPALA-6286: Remove invalid runtime filter targets.
Hello Dimitris Tsirogiannis, Vuk Ercegovac, Impala Public Jenkins, I'd like you to reexamine a change. Please visit http://gerrit.cloudera.org:8080/8783 to look at the new patch set (#7). Change subject: IMPALA-6286: Remove invalid runtime filter targets. .. IMPALA-6286: Remove invalid runtime filter targets. If the target expression of a runtime filter evaluates to a non-NULL value for outer-join non-matches, then assigning the filter below the nullable side of an outer join may lead to incorrect query results. See IMPALA-6286 for an example and explanation. This patch adds a conservative check that prevents the creation of runtime filters that could potentially have such incorrect targets. Some safe opportunities are deliberately missed to keep the code simple. See RuntimeFilterGenerator#getTargetSlots(). Testing: - added planner tests which passed locally Change-Id: I88153eea9f4b5117df60366fad2bd91776b95298 --- M fe/src/main/java/org/apache/impala/analysis/Analyzer.java M fe/src/main/java/org/apache/impala/planner/HdfsScanNode.java M fe/src/main/java/org/apache/impala/planner/RuntimeFilterGenerator.java M testdata/workloads/functional-planner/queries/PlannerTest/runtime-filter-propagation.test 4 files changed, 160 insertions(+), 38 deletions(-) git pull ssh://gerrit.cloudera.org:29418/Impala-ASF refs/changes/83/8783/7 -- To view, visit http://gerrit.cloudera.org:8080/8783 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-Project: Impala-ASF Gerrit-Branch: master Gerrit-MessageType: newpatchset Gerrit-Change-Id: I88153eea9f4b5117df60366fad2bd91776b95298 Gerrit-Change-Number: 8783 Gerrit-PatchSet: 7 Gerrit-Owner: Alex Behm Gerrit-Reviewer: Alex Behm Gerrit-Reviewer: Dimitris Tsirogiannis Gerrit-Reviewer: Impala Public Jenkins Gerrit-Reviewer: Vuk Ercegovac
[Impala-ASF-CR] IMPALA-6286: Remove invalid runtime filter targets.
Alex Behm has posted comments on this change. ( http://gerrit.cloudera.org:8080/8783 ) Change subject: IMPALA-6286: Remove invalid runtime filter targets. .. Patch Set 6: (1 comment) http://gerrit.cloudera.org:8080/#/c/8783/6/fe/src/main/java/org/apache/impala/analysis/Analyzer.java File fe/src/main/java/org/apache/impala/analysis/Analyzer.java: http://gerrit.cloudera.org:8080/#/c/8783/6/fe/src/main/java/org/apache/impala/analysis/Analyzer.java@1923 PS6, Line 1923: return FeSupport.EvalPredicate(nullTuplePred, getQueryCtx()); > Correct. Btw, I plan to add new targeted tests for these expr evaluation failure cases (essential vs. non-essential). I'd prefer to not include them in this patch because some PlannerTest infra changes are needed and I'd like to limit the scope of this correctness bug fix. -- To view, visit http://gerrit.cloudera.org:8080/8783 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-Project: Impala-ASF Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I88153eea9f4b5117df60366fad2bd91776b95298 Gerrit-Change-Number: 8783 Gerrit-PatchSet: 6 Gerrit-Owner: Alex Behm Gerrit-Reviewer: Alex Behm Gerrit-Reviewer: Dimitris Tsirogiannis Gerrit-Reviewer: Impala Public Jenkins Gerrit-Reviewer: Vuk Ercegovac Gerrit-Comment-Date: Fri, 08 Dec 2017 17:11:45 + Gerrit-HasComments: Yes
[Impala-ASF-CR] IMPALA-6286: Remove invalid runtime filter targets.
Vuk Ercegovac has posted comments on this change. ( http://gerrit.cloudera.org:8080/8783 ) Change subject: IMPALA-6286: Remove invalid runtime filter targets. .. Patch Set 7: Code-Review+1 (3 comments) thanks for the explanation... looks fine to me. http://gerrit.cloudera.org:8080/#/c/8783/6/fe/src/main/java/org/apache/impala/analysis/Analyzer.java File fe/src/main/java/org/apache/impala/analysis/Analyzer.java: http://gerrit.cloudera.org:8080/#/c/8783/6/fe/src/main/java/org/apache/impala/analysis/Analyzer.java@1491 PS6, Line 1491: d nit: predicates http://gerrit.cloudera.org:8080/#/c/8783/6/fe/src/main/java/org/apache/impala/analysis/Analyzer.java@1533 PS6, Line 1533: isTrueWithNullSlots > The predicates generated in this function are for optimization purposes and ok, that's what I was looking for. for runtime filter and dictionary pruning, they're clearly for optimization purposes so skipping is easy to reason about. its unclear for this method (getBoundPredicates)-- that a caller can expect some predicates to not be bound due to env/runtime issues. In particular, the previous behavior would have aborted this query, right? In which case, I'd expect additional queries to run with this change. http://gerrit.cloudera.org:8080/#/c/8783/6/fe/src/main/java/org/apache/impala/analysis/Analyzer.java@1923 PS6, Line 1923: } > Btw, I plan to add new targeted tests for these expr evaluation failure cas makes sense-- we should then see the BE failure for TupleIsNullPredicate instead of the assertion failure... didn't see the TupleIsNullPredicate example, since this change did not require changes at that callsite. for, getBoundPredicate-- we'd expect to run some queries that previously would fail the assertion. -- To view, visit http://gerrit.cloudera.org:8080/8783 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-Project: Impala-ASF Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I88153eea9f4b5117df60366fad2bd91776b95298 Gerrit-Change-Number: 8783 Gerrit-PatchSet: 7 Gerrit-Owner: Alex Behm Gerrit-Reviewer: Alex Behm Gerrit-Reviewer: Dimitris Tsirogiannis Gerrit-Reviewer: Impala Public Jenkins Gerrit-Reviewer: Vuk Ercegovac Gerrit-Comment-Date: Fri, 08 Dec 2017 17:56:02 + Gerrit-HasComments: Yes
[Impala-ASF-CR] IMPALA-6286: Remove invalid runtime filter targets.
Alex Behm has posted comments on this change. ( http://gerrit.cloudera.org:8080/8783 ) Change subject: IMPALA-6286: Remove invalid runtime filter targets. .. Patch Set 6: (3 comments) http://gerrit.cloudera.org:8080/#/c/8783/6/fe/src/main/java/org/apache/impala/analysis/Analyzer.java File fe/src/main/java/org/apache/impala/analysis/Analyzer.java: http://gerrit.cloudera.org:8080/#/c/8783/6/fe/src/main/java/org/apache/impala/analysis/Analyzer.java@1491 PS6, Line 1491: d > nit: predicates Done http://gerrit.cloudera.org:8080/#/c/8783/6/fe/src/main/java/org/apache/impala/analysis/Analyzer.java@1533 PS6, Line 1533: isTrueWithNullSlots > ok, that's what I was looking for. for runtime filter and dictionary prunin I adjusted the function comment to make these point explicit. http://gerrit.cloudera.org:8080/#/c/8783/6/fe/src/main/java/org/apache/impala/analysis/Analyzer.java@1923 PS6, Line 1923: return FeSupport.EvalPredicate(nullTuplePred, getQueryCtx()); > makes sense-- we should then see the BE failure for TupleIsNullPredicate in exactly -- To view, visit http://gerrit.cloudera.org:8080/8783 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-Project: Impala-ASF Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I88153eea9f4b5117df60366fad2bd91776b95298 Gerrit-Change-Number: 8783 Gerrit-PatchSet: 6 Gerrit-Owner: Alex Behm Gerrit-Reviewer: Alex Behm Gerrit-Reviewer: Dimitris Tsirogiannis Gerrit-Reviewer: Impala Public Jenkins Gerrit-Reviewer: Vuk Ercegovac Gerrit-Comment-Date: Fri, 08 Dec 2017 19:33:42 + Gerrit-HasComments: Yes
[Impala-ASF-CR] IMPALA-6286: Remove invalid runtime filter targets.
Hello Dimitris Tsirogiannis, Vuk Ercegovac, Impala Public Jenkins, I'd like you to reexamine a change. Please visit http://gerrit.cloudera.org:8080/8783 to look at the new patch set (#8). Change subject: IMPALA-6286: Remove invalid runtime filter targets. .. IMPALA-6286: Remove invalid runtime filter targets. If the target expression of a runtime filter evaluates to a non-NULL value for outer-join non-matches, then assigning the filter below the nullable side of an outer join may lead to incorrect query results. See IMPALA-6286 for an example and explanation. This patch adds a conservative check that prevents the creation of runtime filters that could potentially have such incorrect targets. Some safe opportunities are deliberately missed to keep the code simple. See RuntimeFilterGenerator#getTargetSlots(). Testing: - added planner tests which passed locally Change-Id: I88153eea9f4b5117df60366fad2bd91776b95298 --- M fe/src/main/java/org/apache/impala/analysis/Analyzer.java M fe/src/main/java/org/apache/impala/planner/HdfsScanNode.java M fe/src/main/java/org/apache/impala/planner/RuntimeFilterGenerator.java M testdata/workloads/functional-planner/queries/PlannerTest/runtime-filter-propagation.test 4 files changed, 168 insertions(+), 43 deletions(-) git pull ssh://gerrit.cloudera.org:29418/Impala-ASF refs/changes/83/8783/8 -- To view, visit http://gerrit.cloudera.org:8080/8783 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-Project: Impala-ASF Gerrit-Branch: master Gerrit-MessageType: newpatchset Gerrit-Change-Id: I88153eea9f4b5117df60366fad2bd91776b95298 Gerrit-Change-Number: 8783 Gerrit-PatchSet: 8 Gerrit-Owner: Alex Behm Gerrit-Reviewer: Alex Behm Gerrit-Reviewer: Dimitris Tsirogiannis Gerrit-Reviewer: Impala Public Jenkins Gerrit-Reviewer: Vuk Ercegovac
[Impala-ASF-CR] IMPALA-6286: Remove invalid runtime filter targets.
Alex Behm has posted comments on this change. ( http://gerrit.cloudera.org:8080/8783 ) Change subject: IMPALA-6286: Remove invalid runtime filter targets. .. Patch Set 8: Code-Review+2 -- To view, visit http://gerrit.cloudera.org:8080/8783 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-Project: Impala-ASF Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I88153eea9f4b5117df60366fad2bd91776b95298 Gerrit-Change-Number: 8783 Gerrit-PatchSet: 8 Gerrit-Owner: Alex Behm Gerrit-Reviewer: Alex Behm Gerrit-Reviewer: Dimitris Tsirogiannis Gerrit-Reviewer: Impala Public Jenkins Gerrit-Reviewer: Vuk Ercegovac Gerrit-Comment-Date: Fri, 08 Dec 2017 19:34:10 + Gerrit-HasComments: No
[Impala-ASF-CR] IMPALA-6286: Remove invalid runtime filter targets.
Impala Public Jenkins has posted comments on this change. ( http://gerrit.cloudera.org:8080/8783 ) Change subject: IMPALA-6286: Remove invalid runtime filter targets. .. Patch Set 8: Build started: https://jenkins.impala.io/job/gerrit-verify-dryrun/1598/ -- To view, visit http://gerrit.cloudera.org:8080/8783 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-Project: Impala-ASF Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I88153eea9f4b5117df60366fad2bd91776b95298 Gerrit-Change-Number: 8783 Gerrit-PatchSet: 8 Gerrit-Owner: Alex Behm Gerrit-Reviewer: Alex Behm Gerrit-Reviewer: Dimitris Tsirogiannis Gerrit-Reviewer: Impala Public Jenkins Gerrit-Reviewer: Vuk Ercegovac Gerrit-Comment-Date: Fri, 08 Dec 2017 19:35:04 + Gerrit-HasComments: No
[Impala-ASF-CR] IMPALA-6286: Remove invalid runtime filter targets.
Impala Public Jenkins has submitted this change and it was merged. ( http://gerrit.cloudera.org:8080/8783 ) Change subject: IMPALA-6286: Remove invalid runtime filter targets. .. IMPALA-6286: Remove invalid runtime filter targets. If the target expression of a runtime filter evaluates to a non-NULL value for outer-join non-matches, then assigning the filter below the nullable side of an outer join may lead to incorrect query results. See IMPALA-6286 for an example and explanation. This patch adds a conservative check that prevents the creation of runtime filters that could potentially have such incorrect targets. Some safe opportunities are deliberately missed to keep the code simple. See RuntimeFilterGenerator#getTargetSlots(). Testing: - added planner tests which passed locally Change-Id: I88153eea9f4b5117df60366fad2bd91776b95298 Reviewed-on: http://gerrit.cloudera.org:8080/8783 Reviewed-by: Alex Behm Tested-by: Impala Public Jenkins --- M fe/src/main/java/org/apache/impala/analysis/Analyzer.java M fe/src/main/java/org/apache/impala/planner/HdfsScanNode.java M fe/src/main/java/org/apache/impala/planner/RuntimeFilterGenerator.java M testdata/workloads/functional-planner/queries/PlannerTest/runtime-filter-propagation.test 4 files changed, 168 insertions(+), 43 deletions(-) Approvals: Alex Behm: Looks good to me, approved Impala Public Jenkins: Verified -- To view, visit http://gerrit.cloudera.org:8080/8783 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-Project: Impala-ASF Gerrit-Branch: master Gerrit-MessageType: merged Gerrit-Change-Id: I88153eea9f4b5117df60366fad2bd91776b95298 Gerrit-Change-Number: 8783 Gerrit-PatchSet: 9 Gerrit-Owner: Alex Behm Gerrit-Reviewer: Alex Behm Gerrit-Reviewer: Dimitris Tsirogiannis Gerrit-Reviewer: Impala Public Jenkins Gerrit-Reviewer: Vuk Ercegovac
[Impala-ASF-CR] IMPALA-6286: Remove invalid runtime filter targets.
Impala Public Jenkins has posted comments on this change. ( http://gerrit.cloudera.org:8080/8783 ) Change subject: IMPALA-6286: Remove invalid runtime filter targets. .. Patch Set 8: Verified+1 -- To view, visit http://gerrit.cloudera.org:8080/8783 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-Project: Impala-ASF Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I88153eea9f4b5117df60366fad2bd91776b95298 Gerrit-Change-Number: 8783 Gerrit-PatchSet: 8 Gerrit-Owner: Alex Behm Gerrit-Reviewer: Alex Behm Gerrit-Reviewer: Dimitris Tsirogiannis Gerrit-Reviewer: Impala Public Jenkins Gerrit-Reviewer: Vuk Ercegovac Gerrit-Comment-Date: Fri, 08 Dec 2017 23:11:35 + Gerrit-HasComments: No