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 2018/08/10 23:35:02 UTC

[3/5] impala git commit: IMPALA-7231: group plan nodes into pipelines

http://git-wip-us.apache.org/repos/asf/impala/blob/b7d509d7/testdata/workloads/functional-planner/queries/PlannerTest/mt-dop-validation.test
----------------------------------------------------------------------
diff --git a/testdata/workloads/functional-planner/queries/PlannerTest/mt-dop-validation.test b/testdata/workloads/functional-planner/queries/PlannerTest/mt-dop-validation.test
index 53fb5c4..864fc61 100644
--- a/testdata/workloads/functional-planner/queries/PlannerTest/mt-dop-validation.test
+++ b/testdata/workloads/functional-planner/queries/PlannerTest/mt-dop-validation.test
@@ -48,15 +48,17 @@ PLAN-ROOT SINK
 |  order by: count(int_col) ASC, bigint_col ASC
 |  mem-estimate=160B mem-reservation=0B thread-reservation=0
 |  tuple-ids=2 row-size=16B cardinality=10
+|  in pipelines: 02(GETNEXT), 01(OPEN)
 |
 01:AGGREGATE [FINALIZE]
 |  output: count(int_col)
 |  group by: bigint_col
 |  mem-estimate=128.00MB mem-reservation=34.00MB spill-buffer=2.00MB thread-reservation=0
 |  tuple-ids=1 row-size=16B cardinality=unavailable
+|  in pipelines: 01(GETNEXT), 00(OPEN)
 |
 00:SCAN HDFS [functional_parquet.alltypes]
-   partitions=24/24 files=24 size=188.29KB
+   partitions=24/24 files=24 size=188.92KB
    predicates: id < 10
    stored statistics:
      table: rows=unavailable size=unavailable
@@ -67,6 +69,7 @@ PLAN-ROOT SINK
    parquet dictionary predicates: id < 10
    mem-estimate=16.00MB mem-reservation=24.00KB thread-reservation=0
    tuple-ids=0 row-size=16B cardinality=unavailable
+   in pipelines: 00(GETNEXT)
 ---- PARALLELPLANS
 F02:PLAN FRAGMENT [UNPARTITIONED] hosts=1 instances=1
 |  Per-Host Resources: mem-estimate=0B mem-reservation=0B thread-reservation=1
@@ -78,6 +81,7 @@ PLAN-ROOT SINK
 |  limit: 10
 |  mem-estimate=0B mem-reservation=0B thread-reservation=0
 |  tuple-ids=2 row-size=16B cardinality=10
+|  in pipelines: 02(GETNEXT)
 |
 F01:PLAN FRAGMENT [HASH(bigint_col)] hosts=3 instances=9
 Per-Host Resources: mem-estimate=384.00MB mem-reservation=102.00MB thread-reservation=3
@@ -85,16 +89,19 @@ Per-Host Resources: mem-estimate=384.00MB mem-reservation=102.00MB thread-reserv
 |  order by: count(int_col) ASC, bigint_col ASC
 |  mem-estimate=160B mem-reservation=0B thread-reservation=0
 |  tuple-ids=2 row-size=16B cardinality=10
+|  in pipelines: 02(GETNEXT), 04(OPEN)
 |
 04:AGGREGATE [FINALIZE]
 |  output: count:merge(int_col)
 |  group by: bigint_col
 |  mem-estimate=128.00MB mem-reservation=34.00MB spill-buffer=2.00MB thread-reservation=0
 |  tuple-ids=1 row-size=16B cardinality=unavailable
+|  in pipelines: 04(GETNEXT), 00(OPEN)
 |
 03:EXCHANGE [HASH(bigint_col)]
 |  mem-estimate=0B mem-reservation=0B thread-reservation=0
 |  tuple-ids=1 row-size=16B cardinality=unavailable
+|  in pipelines: 00(GETNEXT)
 |
 F00:PLAN FRAGMENT [RANDOM] hosts=3 instances=9
 Per-Host Resources: mem-estimate=432.00MB mem-reservation=102.07MB thread-reservation=3
@@ -103,9 +110,10 @@ Per-Host Resources: mem-estimate=432.00MB mem-reservation=102.07MB thread-reserv
 |  group by: bigint_col
 |  mem-estimate=128.00MB mem-reservation=34.00MB spill-buffer=2.00MB thread-reservation=0
 |  tuple-ids=1 row-size=16B cardinality=unavailable
+|  in pipelines: 00(GETNEXT)
 |
 00:SCAN HDFS [functional_parquet.alltypes, RANDOM]
-   partitions=24/24 files=24 size=188.29KB
+   partitions=24/24 files=24 size=188.92KB
    predicates: id < 10
    stored statistics:
      table: rows=unavailable size=unavailable
@@ -116,6 +124,7 @@ Per-Host Resources: mem-estimate=432.00MB mem-reservation=102.07MB thread-reserv
    parquet dictionary predicates: id < 10
    mem-estimate=16.00MB mem-reservation=24.00KB thread-reservation=0
    tuple-ids=0 row-size=16B cardinality=unavailable
+   in pipelines: 00(GETNEXT)
 ====
 # Single-table scan/filter/analytic should work.
 select row_number() over(partition by int_col order by id)
@@ -134,14 +143,16 @@ PLAN-ROOT SINK
 |  window: ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW
 |  mem-estimate=4.00MB mem-reservation=4.00MB spill-buffer=2.00MB thread-reservation=0
 |  tuple-ids=4,3 row-size=16B cardinality=unavailable
+|  in pipelines: 01(GETNEXT)
 |
 01:SORT
 |  order by: int_col ASC NULLS FIRST, id ASC
 |  mem-estimate=6.00MB mem-reservation=6.00MB spill-buffer=2.00MB thread-reservation=0
 |  tuple-ids=4 row-size=8B cardinality=unavailable
+|  in pipelines: 01(GETNEXT), 00(OPEN)
 |
 00:SCAN HDFS [functional_parquet.alltypes]
-   partitions=24/24 files=24 size=188.29KB
+   partitions=24/24 files=24 size=188.92KB
    predicates: id < 10
    stored statistics:
      table: rows=unavailable size=unavailable
@@ -152,6 +163,7 @@ PLAN-ROOT SINK
    parquet dictionary predicates: id < 10
    mem-estimate=16.00MB mem-reservation=16.00KB thread-reservation=0
    tuple-ids=0 row-size=8B cardinality=unavailable
+   in pipelines: 00(GETNEXT)
 ---- PARALLELPLANS
 F02:PLAN FRAGMENT [UNPARTITIONED] hosts=1 instances=1
 |  Per-Host Resources: mem-estimate=0B mem-reservation=0B thread-reservation=1
@@ -161,6 +173,7 @@ PLAN-ROOT SINK
 04:EXCHANGE [UNPARTITIONED]
 |  mem-estimate=0B mem-reservation=0B thread-reservation=0
 |  tuple-ids=4,3 row-size=16B cardinality=unavailable
+|  in pipelines: 01(GETNEXT)
 |
 F01:PLAN FRAGMENT [HASH(int_col)] hosts=3 instances=9
 Per-Host Resources: mem-estimate=30.00MB mem-reservation=30.00MB thread-reservation=3
@@ -171,20 +184,23 @@ Per-Host Resources: mem-estimate=30.00MB mem-reservation=30.00MB thread-reservat
 |  window: ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW
 |  mem-estimate=4.00MB mem-reservation=4.00MB spill-buffer=2.00MB thread-reservation=0
 |  tuple-ids=4,3 row-size=16B cardinality=unavailable
+|  in pipelines: 01(GETNEXT)
 |
 01:SORT
 |  order by: int_col ASC NULLS FIRST, id ASC
 |  mem-estimate=6.00MB mem-reservation=6.00MB spill-buffer=2.00MB thread-reservation=0
 |  tuple-ids=4 row-size=8B cardinality=unavailable
+|  in pipelines: 01(GETNEXT), 00(OPEN)
 |
 03:EXCHANGE [HASH(int_col)]
 |  mem-estimate=0B mem-reservation=0B thread-reservation=0
 |  tuple-ids=0 row-size=8B cardinality=unavailable
+|  in pipelines: 00(GETNEXT)
 |
 F00:PLAN FRAGMENT [RANDOM] hosts=3 instances=9
 Per-Host Resources: mem-estimate=48.00MB mem-reservation=48.00KB thread-reservation=3
 00:SCAN HDFS [functional_parquet.alltypes, RANDOM]
-   partitions=24/24 files=24 size=188.29KB
+   partitions=24/24 files=24 size=188.92KB
    predicates: id < 10
    stored statistics:
      table: rows=unavailable size=unavailable
@@ -195,6 +211,7 @@ Per-Host Resources: mem-estimate=48.00MB mem-reservation=48.00KB thread-reservat
    parquet dictionary predicates: id < 10
    mem-estimate=16.00MB mem-reservation=16.00KB thread-reservation=0
    tuple-ids=0 row-size=8B cardinality=unavailable
+   in pipelines: 00(GETNEXT)
 ====
 # Nested-loop join in a subplan should work.
 select *
@@ -209,38 +226,46 @@ PLAN-ROOT SINK
 01:SUBPLAN
 |  mem-estimate=0B mem-reservation=0B thread-reservation=0
 |  tuple-ids=2,1,0 row-size=562B cardinality=1500000
+|  in pipelines: 00(GETNEXT)
 |
 |--08:NESTED LOOP JOIN [CROSS JOIN]
 |  |  mem-estimate=254B mem-reservation=0B thread-reservation=0
 |  |  tuple-ids=2,1,0 row-size=562B cardinality=100
+|  |  in pipelines: 00(GETNEXT)
 |  |
 |  |--02:SINGULAR ROW SRC
 |  |     parent-subplan=01
 |  |     mem-estimate=0B mem-reservation=0B thread-reservation=0
 |  |     tuple-ids=0 row-size=254B cardinality=1
+|  |     in pipelines: 00(GETNEXT)
 |  |
 |  04:SUBPLAN
 |  |  mem-estimate=0B mem-reservation=0B thread-reservation=0
 |  |  tuple-ids=2,1 row-size=308B cardinality=100
+|  |  in pipelines: 00(GETNEXT)
 |  |
 |  |--07:NESTED LOOP JOIN [CROSS JOIN]
 |  |  |  mem-estimate=124B mem-reservation=0B thread-reservation=0
 |  |  |  tuple-ids=2,1 row-size=308B cardinality=10
+|  |  |  in pipelines: 00(GETNEXT)
 |  |  |
 |  |  |--05:SINGULAR ROW SRC
 |  |  |     parent-subplan=04
 |  |  |     mem-estimate=0B mem-reservation=0B thread-reservation=0
 |  |  |     tuple-ids=1 row-size=124B cardinality=1
+|  |  |     in pipelines: 00(GETNEXT)
 |  |  |
 |  |  06:UNNEST [o.o_lineitems]
 |  |     parent-subplan=04
 |  |     mem-estimate=0B mem-reservation=0B thread-reservation=0
 |  |     tuple-ids=2 row-size=0B cardinality=10
+|  |     in pipelines: 00(GETNEXT)
 |  |
 |  03:UNNEST [c.c_orders o]
 |     parent-subplan=01
 |     mem-estimate=0B mem-reservation=0B thread-reservation=0
 |     tuple-ids=1 row-size=0B cardinality=10
+|     in pipelines: 00(GETNEXT)
 |
 00:SCAN HDFS [tpch_nested_parquet.customer c]
    partitions=1/1 files=4 size=288.98MB
@@ -259,6 +284,7 @@ PLAN-ROOT SINK
    parquet dictionary predicates on o_lineitems: l_linenumber < 3
    mem-estimate=88.00MB mem-reservation=88.00MB thread-reservation=0
    tuple-ids=0 row-size=254B cardinality=15000
+   in pipelines: 00(GETNEXT)
 ---- PARALLELPLANS
 F01:PLAN FRAGMENT [UNPARTITIONED] hosts=1 instances=1
 |  Per-Host Resources: mem-estimate=0B mem-reservation=0B thread-reservation=1
@@ -268,44 +294,53 @@ PLAN-ROOT SINK
 09:EXCHANGE [UNPARTITIONED]
 |  mem-estimate=0B mem-reservation=0B thread-reservation=0
 |  tuple-ids=2,1,0 row-size=562B cardinality=1500000
+|  in pipelines: 00(GETNEXT)
 |
 F00:PLAN FRAGMENT [RANDOM] hosts=3 instances=9
 Per-Host Resources: mem-estimate=264.00MB mem-reservation=264.00MB thread-reservation=3
 01:SUBPLAN
 |  mem-estimate=0B mem-reservation=0B thread-reservation=0
 |  tuple-ids=2,1,0 row-size=562B cardinality=1500000
+|  in pipelines: 00(GETNEXT)
 |
 |--08:NESTED LOOP JOIN [CROSS JOIN]
 |  |  mem-estimate=254B mem-reservation=0B thread-reservation=0
 |  |  tuple-ids=2,1,0 row-size=562B cardinality=100
+|  |  in pipelines: 00(GETNEXT)
 |  |
 |  |--02:SINGULAR ROW SRC
 |  |     parent-subplan=01
 |  |     mem-estimate=0B mem-reservation=0B thread-reservation=0
 |  |     tuple-ids=0 row-size=254B cardinality=1
+|  |     in pipelines: 00(GETNEXT)
 |  |
 |  04:SUBPLAN
 |  |  mem-estimate=0B mem-reservation=0B thread-reservation=0
 |  |  tuple-ids=2,1 row-size=308B cardinality=100
+|  |  in pipelines: 00(GETNEXT)
 |  |
 |  |--07:NESTED LOOP JOIN [CROSS JOIN]
 |  |  |  mem-estimate=124B mem-reservation=0B thread-reservation=0
 |  |  |  tuple-ids=2,1 row-size=308B cardinality=10
+|  |  |  in pipelines: 00(GETNEXT)
 |  |  |
 |  |  |--05:SINGULAR ROW SRC
 |  |  |     parent-subplan=04
 |  |  |     mem-estimate=0B mem-reservation=0B thread-reservation=0
 |  |  |     tuple-ids=1 row-size=124B cardinality=1
+|  |  |     in pipelines: 00(GETNEXT)
 |  |  |
 |  |  06:UNNEST [o.o_lineitems]
 |  |     parent-subplan=04
 |  |     mem-estimate=0B mem-reservation=0B thread-reservation=0
 |  |     tuple-ids=2 row-size=0B cardinality=10
+|  |     in pipelines: 00(GETNEXT)
 |  |
 |  03:UNNEST [c.c_orders o]
 |     parent-subplan=01
 |     mem-estimate=0B mem-reservation=0B thread-reservation=0
 |     tuple-ids=1 row-size=0B cardinality=10
+|     in pipelines: 00(GETNEXT)
 |
 00:SCAN HDFS [tpch_nested_parquet.customer c, RANDOM]
    partitions=1/1 files=4 size=288.98MB
@@ -324,6 +359,7 @@ Per-Host Resources: mem-estimate=264.00MB mem-reservation=264.00MB thread-reserv
    parquet dictionary predicates on o_lineitems: l_linenumber < 3
    mem-estimate=88.00MB mem-reservation=88.00MB thread-reservation=0
    tuple-ids=0 row-size=254B cardinality=15000
+   in pipelines: 00(GETNEXT)
 ====
 # Hash-join in a subplan should work.
 select c.*
@@ -338,31 +374,37 @@ PLAN-ROOT SINK
 01:SUBPLAN
 |  mem-estimate=0B mem-reservation=0B thread-reservation=0
 |  tuple-ids=1,0,2 row-size=286B cardinality=1500000
+|  in pipelines: 00(GETNEXT)
 |
 |--06:HASH JOIN [INNER JOIN]
 |  |  hash predicates: o1.o_orderkey = o2.o_orderkey + 2
 |  |  fk/pk conjuncts: assumed fk/pk
 |  |  mem-estimate=1.94MB mem-reservation=1.94MB spill-buffer=64.00KB thread-reservation=0
 |  |  tuple-ids=1,0,2 row-size=286B cardinality=10
+|  |  in pipelines: 00(GETNEXT)
 |  |
 |  |--04:UNNEST [c.c_orders o2]
 |  |     parent-subplan=01
 |  |     mem-estimate=0B mem-reservation=0B thread-reservation=0
 |  |     tuple-ids=2 row-size=0B cardinality=10
+|  |     in pipelines: 00(GETNEXT)
 |  |
 |  05:NESTED LOOP JOIN [CROSS JOIN]
 |  |  mem-estimate=270B mem-reservation=0B thread-reservation=0
 |  |  tuple-ids=1,0 row-size=278B cardinality=10
+|  |  in pipelines: 00(GETNEXT)
 |  |
 |  |--02:SINGULAR ROW SRC
 |  |     parent-subplan=01
 |  |     mem-estimate=0B mem-reservation=0B thread-reservation=0
 |  |     tuple-ids=0 row-size=270B cardinality=1
+|  |     in pipelines: 00(GETNEXT)
 |  |
 |  03:UNNEST [c.c_orders o1]
 |     parent-subplan=01
 |     mem-estimate=0B mem-reservation=0B thread-reservation=0
 |     tuple-ids=1 row-size=0B cardinality=10
+|     in pipelines: 00(GETNEXT)
 |
 00:SCAN HDFS [tpch_nested_parquet.customer c]
    partitions=1/1 files=4 size=288.98MB
@@ -376,6 +418,7 @@ PLAN-ROOT SINK
    parquet dictionary predicates on o1: o1.o_orderkey < 5
    mem-estimate=88.00MB mem-reservation=16.00MB thread-reservation=0
    tuple-ids=0 row-size=270B cardinality=150000
+   in pipelines: 00(GETNEXT)
 ---- PARALLELPLANS
 F01:PLAN FRAGMENT [UNPARTITIONED] hosts=1 instances=1
 |  Per-Host Resources: mem-estimate=0B mem-reservation=0B thread-reservation=1
@@ -385,37 +428,44 @@ PLAN-ROOT SINK
 07:EXCHANGE [UNPARTITIONED]
 |  mem-estimate=0B mem-reservation=0B thread-reservation=0
 |  tuple-ids=1,0,2 row-size=286B cardinality=1500000
+|  in pipelines: 00(GETNEXT)
 |
 F00:PLAN FRAGMENT [RANDOM] hosts=3 instances=9
 Per-Host Resources: mem-estimate=269.81MB mem-reservation=53.81MB thread-reservation=3
 01:SUBPLAN
 |  mem-estimate=0B mem-reservation=0B thread-reservation=0
 |  tuple-ids=1,0,2 row-size=286B cardinality=1500000
+|  in pipelines: 00(GETNEXT)
 |
 |--06:HASH JOIN [INNER JOIN]
 |  |  hash predicates: o1.o_orderkey = o2.o_orderkey + 2
 |  |  fk/pk conjuncts: assumed fk/pk
 |  |  mem-estimate=1.94MB mem-reservation=1.94MB spill-buffer=64.00KB thread-reservation=0
 |  |  tuple-ids=1,0,2 row-size=286B cardinality=10
+|  |  in pipelines: 00(GETNEXT)
 |  |
 |  |--04:UNNEST [c.c_orders o2]
 |  |     parent-subplan=01
 |  |     mem-estimate=0B mem-reservation=0B thread-reservation=0
 |  |     tuple-ids=2 row-size=0B cardinality=10
+|  |     in pipelines: 00(GETNEXT)
 |  |
 |  05:NESTED LOOP JOIN [CROSS JOIN]
 |  |  mem-estimate=270B mem-reservation=0B thread-reservation=0
 |  |  tuple-ids=1,0 row-size=278B cardinality=10
+|  |  in pipelines: 00(GETNEXT)
 |  |
 |  |--02:SINGULAR ROW SRC
 |  |     parent-subplan=01
 |  |     mem-estimate=0B mem-reservation=0B thread-reservation=0
 |  |     tuple-ids=0 row-size=270B cardinality=1
+|  |     in pipelines: 00(GETNEXT)
 |  |
 |  03:UNNEST [c.c_orders o1]
 |     parent-subplan=01
 |     mem-estimate=0B mem-reservation=0B thread-reservation=0
 |     tuple-ids=1 row-size=0B cardinality=10
+|     in pipelines: 00(GETNEXT)
 |
 00:SCAN HDFS [tpch_nested_parquet.customer c, RANDOM]
    partitions=1/1 files=4 size=288.98MB
@@ -429,4 +479,5 @@ Per-Host Resources: mem-estimate=269.81MB mem-reservation=53.81MB thread-reserva
    parquet dictionary predicates on o1: o1.o_orderkey < 5
    mem-estimate=88.00MB mem-reservation=16.00MB thread-reservation=0
    tuple-ids=0 row-size=270B cardinality=150000
+   in pipelines: 00(GETNEXT)
 ====

http://git-wip-us.apache.org/repos/asf/impala/blob/b7d509d7/testdata/workloads/functional-planner/queries/PlannerTest/parquet-filtering-disabled.test
----------------------------------------------------------------------
diff --git a/testdata/workloads/functional-planner/queries/PlannerTest/parquet-filtering-disabled.test b/testdata/workloads/functional-planner/queries/PlannerTest/parquet-filtering-disabled.test
index afdb8f2..0e7f58c 100644
--- a/testdata/workloads/functional-planner/queries/PlannerTest/parquet-filtering-disabled.test
+++ b/testdata/workloads/functional-planner/queries/PlannerTest/parquet-filtering-disabled.test
@@ -17,6 +17,7 @@ PLAN-ROOT SINK
 |  output: count(*)
 |  mem-estimate=10.00MB mem-reservation=0B spill-buffer=2.00MB thread-reservation=0
 |  tuple-ids=1 row-size=8B cardinality=1
+|  in pipelines: 01(GETNEXT), 00(OPEN)
 |
 00:SCAN HDFS [functional_parquet.alltypes]
    partitions=24/24 files=24 size=188.29KB
@@ -28,6 +29,7 @@ PLAN-ROOT SINK
    extrapolated-rows=disabled max-scan-range-rows=unavailable
    mem-estimate=32.00MB mem-reservation=16.00KB thread-reservation=1
    tuple-ids=0 row-size=5B cardinality=unavailable
+   in pipelines: 00(GETNEXT)
 ====
 # Parquet predicates to be skipped:
 # parquet statistics predicate on bigint_col, double_col, float_col, id, tinyint_col,
@@ -52,6 +54,7 @@ PLAN-ROOT SINK
 |  output: count(*)
 |  mem-estimate=10.00MB mem-reservation=0B spill-buffer=2.00MB thread-reservation=0
 |  tuple-ids=1 row-size=8B cardinality=1
+|  in pipelines: 01(GETNEXT), 00(OPEN)
 |
 00:SCAN HDFS [functional_parquet.alltypes]
    partitions=22/24 files=22 size=172.28KB
@@ -63,6 +66,7 @@ PLAN-ROOT SINK
    extrapolated-rows=disabled max-scan-range-rows=unavailable
    mem-estimate=128.00MB mem-reservation=88.00KB thread-reservation=1
    tuple-ids=0 row-size=80B cardinality=unavailable
+   in pipelines: 00(GETNEXT)
 ====
 # Parquet predicates to be skipped:
 # parquet dictionary predicates on id, string_col & int_col
@@ -80,6 +84,7 @@ PLAN-ROOT SINK
 |  output: count(*)
 |  mem-estimate=10.00MB mem-reservation=0B spill-buffer=2.00MB thread-reservation=0
 |  tuple-ids=1 row-size=8B cardinality=1
+|  in pipelines: 01(GETNEXT), 00(OPEN)
 |
 00:SCAN HDFS [functional_parquet.alltypes]
    partitions=24/24 files=24 size=188.29KB
@@ -91,6 +96,7 @@ PLAN-ROOT SINK
    extrapolated-rows=disabled max-scan-range-rows=unavailable
    mem-estimate=48.00MB mem-reservation=24.00KB thread-reservation=1
    tuple-ids=0 row-size=24B cardinality=unavailable
+   in pipelines: 00(GETNEXT)
 ====
 # Nested parquet predicates to be skipped:
 # parquet statistics predicates on a.item.e
@@ -106,38 +112,46 @@ PLAN-ROOT SINK
 01:SUBPLAN
 |  mem-estimate=0B mem-reservation=0B thread-reservation=0
 |  tuple-ids=2,1,0 row-size=44B cardinality=unavailable
+|  in pipelines: 00(GETNEXT)
 |
 |--08:NESTED LOOP JOIN [CROSS JOIN]
 |  |  mem-estimate=24B mem-reservation=0B thread-reservation=0
 |  |  tuple-ids=2,1,0 row-size=44B cardinality=100
+|  |  in pipelines: 00(GETNEXT)
 |  |
 |  |--02:SINGULAR ROW SRC
 |  |     parent-subplan=01
 |  |     mem-estimate=0B mem-reservation=0B thread-reservation=0
 |  |     tuple-ids=0 row-size=24B cardinality=1
+|  |     in pipelines: 00(GETNEXT)
 |  |
 |  04:SUBPLAN
 |  |  mem-estimate=0B mem-reservation=0B thread-reservation=0
 |  |  tuple-ids=2,1 row-size=20B cardinality=100
+|  |  in pipelines: 00(GETNEXT)
 |  |
 |  |--07:NESTED LOOP JOIN [CROSS JOIN]
 |  |  |  mem-estimate=16B mem-reservation=0B thread-reservation=0
 |  |  |  tuple-ids=2,1 row-size=20B cardinality=10
+|  |  |  in pipelines: 00(GETNEXT)
 |  |  |
 |  |  |--05:SINGULAR ROW SRC
 |  |  |     parent-subplan=04
 |  |  |     mem-estimate=0B mem-reservation=0B thread-reservation=0
 |  |  |     tuple-ids=1 row-size=16B cardinality=1
+|  |  |     in pipelines: 00(GETNEXT)
 |  |  |
 |  |  06:UNNEST [cn.item a]
 |  |     parent-subplan=04
 |  |     mem-estimate=0B mem-reservation=0B thread-reservation=0
 |  |     tuple-ids=2 row-size=0B cardinality=10
+|  |     in pipelines: 00(GETNEXT)
 |  |
 |  03:UNNEST [c.nested_struct.c.d cn]
 |     parent-subplan=01
 |     mem-estimate=0B mem-reservation=0B thread-reservation=0
 |     tuple-ids=1 row-size=0B cardinality=10
+|     in pipelines: 00(GETNEXT)
 |
 00:SCAN HDFS [functional_parquet.complextypestbl c]
    partitions=1/1 files=2 size=6.92KB
@@ -150,6 +164,7 @@ PLAN-ROOT SINK
    extrapolated-rows=disabled max-scan-range-rows=unavailable
    mem-estimate=48.00MB mem-reservation=24.00KB thread-reservation=1
    tuple-ids=0 row-size=24B cardinality=unavailable
+   in pipelines: 00(GETNEXT)
 ====
 # Parquet predicates to be skipped at each level:
 # parquet statistics predicates on c_custkey, o.o_orderkey & l.l_partkey
@@ -165,38 +180,46 @@ PLAN-ROOT SINK
 01:SUBPLAN
 |  mem-estimate=0B mem-reservation=0B thread-reservation=0
 |  tuple-ids=2,1,0 row-size=56B cardinality=1500000
+|  in pipelines: 00(GETNEXT)
 |
 |--08:NESTED LOOP JOIN [CROSS JOIN]
 |  |  mem-estimate=24B mem-reservation=0B thread-reservation=0
 |  |  tuple-ids=2,1,0 row-size=56B cardinality=100
+|  |  in pipelines: 00(GETNEXT)
 |  |
 |  |--02:SINGULAR ROW SRC
 |  |     parent-subplan=01
 |  |     mem-estimate=0B mem-reservation=0B thread-reservation=0
 |  |     tuple-ids=0 row-size=24B cardinality=1
+|  |     in pipelines: 00(GETNEXT)
 |  |
 |  04:SUBPLAN
 |  |  mem-estimate=0B mem-reservation=0B thread-reservation=0
 |  |  tuple-ids=2,1 row-size=32B cardinality=100
+|  |  in pipelines: 00(GETNEXT)
 |  |
 |  |--07:NESTED LOOP JOIN [CROSS JOIN]
 |  |  |  mem-estimate=24B mem-reservation=0B thread-reservation=0
 |  |  |  tuple-ids=2,1 row-size=32B cardinality=10
+|  |  |  in pipelines: 00(GETNEXT)
 |  |  |
 |  |  |--05:SINGULAR ROW SRC
 |  |  |     parent-subplan=04
 |  |  |     mem-estimate=0B mem-reservation=0B thread-reservation=0
 |  |  |     tuple-ids=1 row-size=24B cardinality=1
+|  |  |     in pipelines: 00(GETNEXT)
 |  |  |
 |  |  06:UNNEST [o.o_lineitems l]
 |  |     parent-subplan=04
 |  |     mem-estimate=0B mem-reservation=0B thread-reservation=0
 |  |     tuple-ids=2 row-size=0B cardinality=10
+|  |     in pipelines: 00(GETNEXT)
 |  |
 |  03:UNNEST [c.c_orders o]
 |     parent-subplan=01
 |     mem-estimate=0B mem-reservation=0B thread-reservation=0
 |     tuple-ids=1 row-size=0B cardinality=10
+|     in pipelines: 00(GETNEXT)
 |
 00:SCAN HDFS [tpch_nested_parquet.customer c]
    partitions=1/1 files=4 size=288.98MB
@@ -209,6 +232,7 @@ PLAN-ROOT SINK
    extrapolated-rows=disabled max-scan-range-rows=44229
    mem-estimate=264.00MB mem-reservation=16.00MB thread-reservation=1
    tuple-ids=0 row-size=24B cardinality=15000
+   in pipelines: 00(GETNEXT)
 ====
 # Parquet filtering to be skipped on multiple collections at the same nested level:
 # parquet statistics filtering on l.l_shipdate, l.l_receiptdate, l.l_shipmode
@@ -229,38 +253,46 @@ PLAN-ROOT SINK
 01:SUBPLAN
 |  mem-estimate=0B mem-reservation=0B thread-reservation=0
 |  tuple-ids=2,1,0 row-size=162B cardinality=15000000
+|  in pipelines: 00(GETNEXT)
 |
 |--08:NESTED LOOP JOIN [CROSS JOIN]
 |  |  mem-estimate=50B mem-reservation=0B thread-reservation=0
 |  |  tuple-ids=2,1,0 row-size=162B cardinality=100
+|  |  in pipelines: 00(GETNEXT)
 |  |
 |  |--02:SINGULAR ROW SRC
 |  |     parent-subplan=01
 |  |     mem-estimate=0B mem-reservation=0B thread-reservation=0
 |  |     tuple-ids=0 row-size=50B cardinality=1
+|  |     in pipelines: 00(GETNEXT)
 |  |
 |  04:SUBPLAN
 |  |  mem-estimate=0B mem-reservation=0B thread-reservation=0
 |  |  tuple-ids=2,1 row-size=112B cardinality=100
+|  |  in pipelines: 00(GETNEXT)
 |  |
 |  |--07:NESTED LOOP JOIN [CROSS JOIN]
 |  |  |  mem-estimate=32B mem-reservation=0B thread-reservation=0
 |  |  |  tuple-ids=2,1 row-size=112B cardinality=10
+|  |  |  in pipelines: 00(GETNEXT)
 |  |  |
 |  |  |--05:SINGULAR ROW SRC
 |  |  |     parent-subplan=04
 |  |  |     mem-estimate=0B mem-reservation=0B thread-reservation=0
 |  |  |     tuple-ids=1 row-size=32B cardinality=1
+|  |  |     in pipelines: 00(GETNEXT)
 |  |  |
 |  |  06:UNNEST [o.o_lineitems l]
 |  |     parent-subplan=04
 |  |     mem-estimate=0B mem-reservation=0B thread-reservation=0
 |  |     tuple-ids=2 row-size=0B cardinality=10
+|  |     in pipelines: 00(GETNEXT)
 |  |
 |  03:UNNEST [c.c_orders o]
 |     parent-subplan=01
 |     mem-estimate=0B mem-reservation=0B thread-reservation=0
 |     tuple-ids=1 row-size=0B cardinality=10
+|     in pipelines: 00(GETNEXT)
 |
 00:SCAN HDFS [tpch_nested_parquet.customer c]
    partitions=1/1 files=4 size=288.98MB
@@ -273,6 +305,7 @@ PLAN-ROOT SINK
    extrapolated-rows=disabled max-scan-range-rows=44229
    mem-estimate=616.00MB mem-reservation=32.00MB thread-reservation=1
    tuple-ids=0 row-size=50B cardinality=150000
+   in pipelines: 00(GETNEXT)
 ====
 # Parquet filtering to be skipped on a mixed file format table:
 # parquet statistics predicates on bigint_col, double_col, float_col, id, tinyint_col,
@@ -297,6 +330,7 @@ PLAN-ROOT SINK
 |  output: count(*)
 |  mem-estimate=10.00MB mem-reservation=0B spill-buffer=2.00MB thread-reservation=0
 |  tuple-ids=1 row-size=8B cardinality=1
+|  in pipelines: 01(GETNEXT), 00(OPEN)
 |
 00:SCAN HDFS [functional.alltypesmixedformat]
    partitions=4/4 files=4 size=66.61KB
@@ -308,4 +342,5 @@ PLAN-ROOT SINK
    extrapolated-rows=disabled max-scan-range-rows=unavailable
    mem-estimate=128.00MB mem-reservation=88.00KB thread-reservation=1
    tuple-ids=0 row-size=80B cardinality=unavailable
+   in pipelines: 00(GETNEXT)
 ====

http://git-wip-us.apache.org/repos/asf/impala/blob/b7d509d7/testdata/workloads/functional-planner/queries/PlannerTest/parquet-filtering.test
----------------------------------------------------------------------
diff --git a/testdata/workloads/functional-planner/queries/PlannerTest/parquet-filtering.test b/testdata/workloads/functional-planner/queries/PlannerTest/parquet-filtering.test
index 64bf5f2..d5f07f5 100644
--- a/testdata/workloads/functional-planner/queries/PlannerTest/parquet-filtering.test
+++ b/testdata/workloads/functional-planner/queries/PlannerTest/parquet-filtering.test
@@ -16,9 +16,10 @@ PLAN-ROOT SINK
 |  output: count(*)
 |  mem-estimate=10.00MB mem-reservation=0B spill-buffer=2.00MB thread-reservation=0
 |  tuple-ids=1 row-size=8B cardinality=1
+|  in pipelines: 01(GETNEXT), 00(OPEN)
 |
 00:SCAN HDFS [functional_parquet.alltypes]
-   partitions=24/24 files=24 size=188.29KB
+   partitions=24/24 files=24 size=188.92KB
    predicates: int_col IS NULL, int_col > 1, int_col > tinyint_col, int_col * rand() > 50
    stored statistics:
      table: rows=unavailable size=unavailable
@@ -29,6 +30,7 @@ PLAN-ROOT SINK
    parquet dictionary predicates: int_col > 1
    mem-estimate=32.00MB mem-reservation=16.00KB thread-reservation=1
    tuple-ids=0 row-size=5B cardinality=unavailable
+   in pipelines: 00(GETNEXT)
 ====
 # Test non-parquet types to ensure that parquet predicates are skipped
 select count(*) from functional.alltypes
@@ -44,6 +46,7 @@ PLAN-ROOT SINK
 |  output: count(*)
 |  mem-estimate=10.00MB mem-reservation=0B spill-buffer=2.00MB thread-reservation=0
 |  tuple-ids=1 row-size=8B cardinality=1
+|  in pipelines: 01(GETNEXT), 00(OPEN)
 |
 00:SCAN HDFS [functional.alltypes]
    partitions=24/24 files=24 size=478.45KB
@@ -55,6 +58,7 @@ PLAN-ROOT SINK
    extrapolated-rows=disabled max-scan-range-rows=310
    mem-estimate=128.00MB mem-reservation=32.00KB thread-reservation=1
    tuple-ids=0 row-size=5B cardinality=730
+   in pipelines: 00(GETNEXT)
 ====
 # Test a variety of types
 select count(*) from functional_parquet.alltypes
@@ -74,9 +78,10 @@ PLAN-ROOT SINK
 |  output: count(*)
 |  mem-estimate=10.00MB mem-reservation=0B spill-buffer=2.00MB thread-reservation=0
 |  tuple-ids=1 row-size=8B cardinality=1
+|  in pipelines: 01(GETNEXT), 00(OPEN)
 |
 00:SCAN HDFS [functional_parquet.alltypes]
-   partitions=22/24 files=22 size=172.28KB
+   partitions=22/24 files=22 size=172.93KB
    predicates: bool_col, bigint_col < 5000, double_col > 100.00, float_col > 50.00, id = 1, tinyint_col < 50, string_col IN ('aaaa', 'bbbb', 'cccc'), smallint_col IN (1, 2, 3, 4, 5), mod(int_col, 2) = 1, timestamp_cmp(timestamp_col, TIMESTAMP '2016-11-20 00:00:00') = 1, date_string_col > '1993-10-01'
    stored statistics:
      table: rows=unavailable size=unavailable
@@ -87,6 +92,7 @@ PLAN-ROOT SINK
    parquet dictionary predicates: bool_col, bigint_col < 5000, double_col > 100.00, float_col > 50.00, id = 1, tinyint_col < 50, string_col IN ('aaaa', 'bbbb', 'cccc'), smallint_col IN (1, 2, 3, 4, 5), mod(int_col, 2) = 1, timestamp_cmp(timestamp_col, TIMESTAMP '2016-11-20 00:00:00') = 1, date_string_col > '1993-10-01'
    mem-estimate=128.00MB mem-reservation=88.00KB thread-reservation=1
    tuple-ids=0 row-size=80B cardinality=unavailable
+   in pipelines: 00(GETNEXT)
 ====
 # Test non-parquet files for a variety of predicates
 select count(*) from functional.alltypes
@@ -106,6 +112,7 @@ PLAN-ROOT SINK
 |  output: count(*)
 |  mem-estimate=10.00MB mem-reservation=0B spill-buffer=2.00MB thread-reservation=0
 |  tuple-ids=1 row-size=8B cardinality=1
+|  in pipelines: 01(GETNEXT), 00(OPEN)
 |
 00:SCAN HDFS [functional.alltypes]
    partitions=22/24 files=22 size=437.72KB
@@ -117,6 +124,7 @@ PLAN-ROOT SINK
    extrapolated-rows=disabled max-scan-range-rows=339
    mem-estimate=128.00MB mem-reservation=32.00KB thread-reservation=1
    tuple-ids=0 row-size=89B cardinality=1
+   in pipelines: 00(GETNEXT)
 ====
 # Test negative cases for IN predicate min/max filtering
 #  - NOT IN
@@ -137,9 +145,10 @@ PLAN-ROOT SINK
 |  output: count(*)
 |  mem-estimate=10.00MB mem-reservation=0B spill-buffer=2.00MB thread-reservation=0
 |  tuple-ids=1 row-size=8B cardinality=1
+|  in pipelines: 01(GETNEXT), 00(OPEN)
 |
 00:SCAN HDFS [functional_parquet.alltypes]
-   partitions=24/24 files=24 size=188.29KB
+   partitions=24/24 files=24 size=188.92KB
    predicates: id IN (int_col), id NOT IN (0, 1, 2), string_col IN ('aaaa', 'bbbb', 'cccc', NULL), mod(int_col, 50) IN (0, 1)
    stored statistics:
      table: rows=unavailable size=unavailable
@@ -149,6 +158,7 @@ PLAN-ROOT SINK
    parquet dictionary predicates: id NOT IN (0, 1, 2), string_col IN ('aaaa', 'bbbb', 'cccc', NULL), mod(int_col, 50) IN (0, 1)
    mem-estimate=48.00MB mem-reservation=24.00KB thread-reservation=1
    tuple-ids=0 row-size=24B cardinality=unavailable
+   in pipelines: 00(GETNEXT)
 ====
 # Test collection types where all collections on the path are required (inner
 # join descent). Expect the scan node to include !empty checks for both collections and
@@ -164,38 +174,46 @@ PLAN-ROOT SINK
 01:SUBPLAN
 |  mem-estimate=0B mem-reservation=0B thread-reservation=0
 |  tuple-ids=2,1,0 row-size=44B cardinality=unavailable
+|  in pipelines: 00(GETNEXT)
 |
 |--08:NESTED LOOP JOIN [CROSS JOIN]
 |  |  mem-estimate=24B mem-reservation=0B thread-reservation=0
 |  |  tuple-ids=2,1,0 row-size=44B cardinality=100
+|  |  in pipelines: 00(GETNEXT)
 |  |
 |  |--02:SINGULAR ROW SRC
 |  |     parent-subplan=01
 |  |     mem-estimate=0B mem-reservation=0B thread-reservation=0
 |  |     tuple-ids=0 row-size=24B cardinality=1
+|  |     in pipelines: 00(GETNEXT)
 |  |
 |  04:SUBPLAN
 |  |  mem-estimate=0B mem-reservation=0B thread-reservation=0
 |  |  tuple-ids=2,1 row-size=20B cardinality=100
+|  |  in pipelines: 00(GETNEXT)
 |  |
 |  |--07:NESTED LOOP JOIN [CROSS JOIN]
 |  |  |  mem-estimate=16B mem-reservation=0B thread-reservation=0
 |  |  |  tuple-ids=2,1 row-size=20B cardinality=10
+|  |  |  in pipelines: 00(GETNEXT)
 |  |  |
 |  |  |--05:SINGULAR ROW SRC
 |  |  |     parent-subplan=04
 |  |  |     mem-estimate=0B mem-reservation=0B thread-reservation=0
 |  |  |     tuple-ids=1 row-size=16B cardinality=1
+|  |  |     in pipelines: 00(GETNEXT)
 |  |  |
 |  |  06:UNNEST [cn.item a]
 |  |     parent-subplan=04
 |  |     mem-estimate=0B mem-reservation=0B thread-reservation=0
 |  |     tuple-ids=2 row-size=0B cardinality=10
+|  |     in pipelines: 00(GETNEXT)
 |  |
 |  03:UNNEST [c.nested_struct.c.d cn]
 |     parent-subplan=01
 |     mem-estimate=0B mem-reservation=0B thread-reservation=0
 |     tuple-ids=1 row-size=0B cardinality=10
+|     in pipelines: 00(GETNEXT)
 |
 00:SCAN HDFS [functional_parquet.complextypestbl c]
    partitions=1/1 files=2 size=6.92KB
@@ -210,6 +228,7 @@ PLAN-ROOT SINK
    parquet dictionary predicates on a: a.item.e < -10
    mem-estimate=48.00MB mem-reservation=24.00KB thread-reservation=1
    tuple-ids=0 row-size=24B cardinality=unavailable
+   in pipelines: 00(GETNEXT)
 ====
 # Test collection types where the lower collection in the path is optional
 # (outer join descent) and the upper is required (inner join descent).
@@ -227,39 +246,47 @@ PLAN-ROOT SINK
 01:SUBPLAN
 |  mem-estimate=0B mem-reservation=0B thread-reservation=0
 |  tuple-ids=2N,1,0 row-size=44B cardinality=unavailable
+|  in pipelines: 00(GETNEXT)
 |
 |--08:SUBPLAN
 |  |  mem-estimate=0B mem-reservation=0B thread-reservation=0
 |  |  tuple-ids=2N,1,0 row-size=44B cardinality=10
+|  |  in pipelines: 00(GETNEXT)
 |  |
 |  |--06:NESTED LOOP JOIN [RIGHT OUTER JOIN]
 |  |  |  predicates: a.item.e < -10
 |  |  |  mem-estimate=40B mem-reservation=0B thread-reservation=0
 |  |  |  tuple-ids=2N,1,0 row-size=44B cardinality=1
+|  |  |  in pipelines: 00(GETNEXT)
 |  |  |
 |  |  |--04:SINGULAR ROW SRC
 |  |  |     parent-subplan=08
 |  |  |     mem-estimate=0B mem-reservation=0B thread-reservation=0
 |  |  |     tuple-ids=1,0 row-size=40B cardinality=1
+|  |  |     in pipelines: 00(GETNEXT)
 |  |  |
 |  |  05:UNNEST [cn.item a]
 |  |     parent-subplan=08
 |  |     mem-estimate=0B mem-reservation=0B thread-reservation=0
 |  |     tuple-ids=2 row-size=0B cardinality=10
+|  |     in pipelines: 00(GETNEXT)
 |  |
 |  07:NESTED LOOP JOIN [CROSS JOIN]
 |  |  mem-estimate=24B mem-reservation=0B thread-reservation=0
 |  |  tuple-ids=1,0 row-size=40B cardinality=10
+|  |  in pipelines: 00(GETNEXT)
 |  |
 |  |--02:SINGULAR ROW SRC
 |  |     parent-subplan=01
 |  |     mem-estimate=0B mem-reservation=0B thread-reservation=0
 |  |     tuple-ids=0 row-size=24B cardinality=1
+|  |     in pipelines: 00(GETNEXT)
 |  |
 |  03:UNNEST [c.nested_struct.c.d cn]
 |     parent-subplan=01
 |     mem-estimate=0B mem-reservation=0B thread-reservation=0
 |     tuple-ids=1 row-size=0B cardinality=10
+|     in pipelines: 00(GETNEXT)
 |
 00:SCAN HDFS [functional_parquet.complextypestbl c]
    partitions=1/1 files=2 size=6.92KB
@@ -271,6 +298,7 @@ PLAN-ROOT SINK
    extrapolated-rows=disabled max-scan-range-rows=unavailable
    mem-estimate=48.00MB mem-reservation=24.00KB thread-reservation=1
    tuple-ids=0 row-size=24B cardinality=unavailable
+   in pipelines: 00(GETNEXT)
 ====
 # Tests collection types where the outer is optional (outer join descent)
 # and the inner is required (inner join descent). In this case, !empty is
@@ -286,38 +314,46 @@ PLAN-ROOT SINK
 01:SUBPLAN
 |  mem-estimate=0B mem-reservation=0B thread-reservation=0
 |  tuple-ids=2,1N,0 row-size=44B cardinality=unavailable
+|  in pipelines: 00(GETNEXT)
 |
 |--08:SUBPLAN
 |  |  mem-estimate=0B mem-reservation=0B thread-reservation=0
 |  |  tuple-ids=2,1N,0 row-size=44B cardinality=10
+|  |  in pipelines: 00(GETNEXT)
 |  |
 |  |--06:NESTED LOOP JOIN [CROSS JOIN]
 |  |  |  mem-estimate=40B mem-reservation=0B thread-reservation=0
 |  |  |  tuple-ids=2,1N,0 row-size=44B cardinality=10
+|  |  |  in pipelines: 00(GETNEXT)
 |  |  |
 |  |  |--04:SINGULAR ROW SRC
 |  |  |     parent-subplan=08
 |  |  |     mem-estimate=0B mem-reservation=0B thread-reservation=0
 |  |  |     tuple-ids=1N,0 row-size=40B cardinality=1
+|  |  |     in pipelines: 00(GETNEXT)
 |  |  |
 |  |  05:UNNEST [cn.item a]
 |  |     parent-subplan=08
 |  |     mem-estimate=0B mem-reservation=0B thread-reservation=0
 |  |     tuple-ids=2 row-size=0B cardinality=10
+|  |     in pipelines: 00(GETNEXT)
 |  |
 |  07:NESTED LOOP JOIN [RIGHT OUTER JOIN]
 |  |  mem-estimate=24B mem-reservation=0B thread-reservation=0
 |  |  tuple-ids=1N,0 row-size=40B cardinality=1
+|  |  in pipelines: 00(GETNEXT)
 |  |
 |  |--02:SINGULAR ROW SRC
 |  |     parent-subplan=01
 |  |     mem-estimate=0B mem-reservation=0B thread-reservation=0
 |  |     tuple-ids=0 row-size=24B cardinality=1
+|  |     in pipelines: 00(GETNEXT)
 |  |
 |  03:UNNEST [c.nested_struct.c.d cn]
 |     parent-subplan=01
 |     mem-estimate=0B mem-reservation=0B thread-reservation=0
 |     tuple-ids=1 row-size=0B cardinality=10
+|     in pipelines: 00(GETNEXT)
 |
 00:SCAN HDFS [functional_parquet.complextypestbl c]
    partitions=1/1 files=2 size=6.92KB
@@ -328,6 +364,7 @@ PLAN-ROOT SINK
    extrapolated-rows=disabled max-scan-range-rows=unavailable
    mem-estimate=48.00MB mem-reservation=24.00KB thread-reservation=1
    tuple-ids=0 row-size=24B cardinality=unavailable
+   in pipelines: 00(GETNEXT)
 ====
 # Test collections so that each level has a filter applied.
 select c_custkey from tpch_nested_parquet.customer c, c.c_orders o,
@@ -341,38 +378,46 @@ PLAN-ROOT SINK
 01:SUBPLAN
 |  mem-estimate=0B mem-reservation=0B thread-reservation=0
 |  tuple-ids=2,1,0 row-size=56B cardinality=1500000
+|  in pipelines: 00(GETNEXT)
 |
 |--08:NESTED LOOP JOIN [CROSS JOIN]
 |  |  mem-estimate=24B mem-reservation=0B thread-reservation=0
 |  |  tuple-ids=2,1,0 row-size=56B cardinality=100
+|  |  in pipelines: 00(GETNEXT)
 |  |
 |  |--02:SINGULAR ROW SRC
 |  |     parent-subplan=01
 |  |     mem-estimate=0B mem-reservation=0B thread-reservation=0
 |  |     tuple-ids=0 row-size=24B cardinality=1
+|  |     in pipelines: 00(GETNEXT)
 |  |
 |  04:SUBPLAN
 |  |  mem-estimate=0B mem-reservation=0B thread-reservation=0
 |  |  tuple-ids=2,1 row-size=32B cardinality=100
+|  |  in pipelines: 00(GETNEXT)
 |  |
 |  |--07:NESTED LOOP JOIN [CROSS JOIN]
 |  |  |  mem-estimate=24B mem-reservation=0B thread-reservation=0
 |  |  |  tuple-ids=2,1 row-size=32B cardinality=10
+|  |  |  in pipelines: 00(GETNEXT)
 |  |  |
 |  |  |--05:SINGULAR ROW SRC
 |  |  |     parent-subplan=04
 |  |  |     mem-estimate=0B mem-reservation=0B thread-reservation=0
 |  |  |     tuple-ids=1 row-size=24B cardinality=1
+|  |  |     in pipelines: 00(GETNEXT)
 |  |  |
 |  |  06:UNNEST [o.o_lineitems l]
 |  |     parent-subplan=04
 |  |     mem-estimate=0B mem-reservation=0B thread-reservation=0
 |  |     tuple-ids=2 row-size=0B cardinality=10
+|  |     in pipelines: 00(GETNEXT)
 |  |
 |  03:UNNEST [c.c_orders o]
 |     parent-subplan=01
 |     mem-estimate=0B mem-reservation=0B thread-reservation=0
 |     tuple-ids=1 row-size=0B cardinality=10
+|     in pipelines: 00(GETNEXT)
 |
 00:SCAN HDFS [tpch_nested_parquet.customer c]
    partitions=1/1 files=4 size=288.98MB
@@ -391,6 +436,7 @@ PLAN-ROOT SINK
    parquet dictionary predicates on l: l.l_partkey > 0
    mem-estimate=264.00MB mem-reservation=16.00MB thread-reservation=1
    tuple-ids=0 row-size=24B cardinality=15000
+   in pipelines: 00(GETNEXT)
 ====
 # Test collections in a way that would incorrectly apply a min-max
 # filter at the scan. Expect no min-max filter and no !empty tests.
@@ -406,24 +452,29 @@ PLAN-ROOT SINK
 |  output: count(*)
 |  mem-estimate=10.00MB mem-reservation=0B spill-buffer=2.00MB thread-reservation=0
 |  tuple-ids=3 row-size=8B cardinality=1
+|  in pipelines: 05(GETNEXT), 00(OPEN)
 |
 01:SUBPLAN
 |  mem-estimate=0B mem-reservation=0B thread-reservation=0
 |  tuple-ids=1N,0 row-size=20B cardinality=unavailable
+|  in pipelines: 00(GETNEXT)
 |
 |--04:NESTED LOOP JOIN [RIGHT OUTER JOIN]
 |  |  mem-estimate=16B mem-reservation=0B thread-reservation=0
 |  |  tuple-ids=1N,0 row-size=20B cardinality=1
+|  |  in pipelines: 00(GETNEXT)
 |  |
 |  |--02:SINGULAR ROW SRC
 |  |     parent-subplan=01
 |  |     mem-estimate=0B mem-reservation=0B thread-reservation=0
 |  |     tuple-ids=0 row-size=16B cardinality=1
+|  |     in pipelines: 00(GETNEXT)
 |  |
 |  03:UNNEST [c.int_array]
 |     parent-subplan=01
 |     mem-estimate=0B mem-reservation=0B thread-reservation=0
 |     tuple-ids=1 row-size=4B cardinality=10
+|     in pipelines: 00(GETNEXT)
 |
 00:SCAN HDFS [functional_parquet.complextypestbl c]
    partitions=1/1 files=2 size=6.92KB
@@ -434,6 +485,7 @@ PLAN-ROOT SINK
    extrapolated-rows=disabled max-scan-range-rows=unavailable
    mem-estimate=16.00MB mem-reservation=8.00KB thread-reservation=1
    tuple-ids=0 row-size=16B cardinality=unavailable
+   in pipelines: 00(GETNEXT)
 ====
 # Multiple nested collection values (at the same nesting level) where dictionary
 # pruning is applicable.
@@ -451,38 +503,46 @@ PLAN-ROOT SINK
 01:SUBPLAN
 |  mem-estimate=0B mem-reservation=0B thread-reservation=0
 |  tuple-ids=2,1,0 row-size=162B cardinality=15000000
+|  in pipelines: 00(GETNEXT)
 |
 |--08:NESTED LOOP JOIN [CROSS JOIN]
 |  |  mem-estimate=50B mem-reservation=0B thread-reservation=0
 |  |  tuple-ids=2,1,0 row-size=162B cardinality=100
+|  |  in pipelines: 00(GETNEXT)
 |  |
 |  |--02:SINGULAR ROW SRC
 |  |     parent-subplan=01
 |  |     mem-estimate=0B mem-reservation=0B thread-reservation=0
 |  |     tuple-ids=0 row-size=50B cardinality=1
+|  |     in pipelines: 00(GETNEXT)
 |  |
 |  04:SUBPLAN
 |  |  mem-estimate=0B mem-reservation=0B thread-reservation=0
 |  |  tuple-ids=2,1 row-size=112B cardinality=100
+|  |  in pipelines: 00(GETNEXT)
 |  |
 |  |--07:NESTED LOOP JOIN [CROSS JOIN]
 |  |  |  mem-estimate=32B mem-reservation=0B thread-reservation=0
 |  |  |  tuple-ids=2,1 row-size=112B cardinality=10
+|  |  |  in pipelines: 00(GETNEXT)
 |  |  |
 |  |  |--05:SINGULAR ROW SRC
 |  |  |     parent-subplan=04
 |  |  |     mem-estimate=0B mem-reservation=0B thread-reservation=0
 |  |  |     tuple-ids=1 row-size=32B cardinality=1
+|  |  |     in pipelines: 00(GETNEXT)
 |  |  |
 |  |  06:UNNEST [o.o_lineitems l]
 |  |     parent-subplan=04
 |  |     mem-estimate=0B mem-reservation=0B thread-reservation=0
 |  |     tuple-ids=2 row-size=0B cardinality=10
+|  |     in pipelines: 00(GETNEXT)
 |  |
 |  03:UNNEST [c.c_orders o]
 |     parent-subplan=01
 |     mem-estimate=0B mem-reservation=0B thread-reservation=0
 |     tuple-ids=1 row-size=0B cardinality=10
+|     in pipelines: 00(GETNEXT)
 |
 00:SCAN HDFS [tpch_nested_parquet.customer c]
    partitions=1/1 files=4 size=288.98MB
@@ -497,6 +557,7 @@ PLAN-ROOT SINK
    parquet dictionary predicates on l: l.l_shipdate = '1994-08-19', l.l_receiptdate = '1994-08-24', l.l_shipmode = 'RAIL', l.l_returnflag = 'R'
    mem-estimate=616.00MB mem-reservation=32.00MB thread-reservation=1
    tuple-ids=0 row-size=50B cardinality=150000
+   in pipelines: 00(GETNEXT)
 ====
 # Test a variety of predicates on a mixed format table.
 # Scan multiple partitions with atleast one Parquet partition.
@@ -517,6 +578,7 @@ PLAN-ROOT SINK
 |  output: count(*)
 |  mem-estimate=10.00MB mem-reservation=0B spill-buffer=2.00MB thread-reservation=0
 |  tuple-ids=1 row-size=8B cardinality=1
+|  in pipelines: 01(GETNEXT), 00(OPEN)
 |
 00:SCAN HDFS [functional.alltypesmixedformat]
    partitions=4/4 files=4 size=66.61KB
@@ -530,6 +592,7 @@ PLAN-ROOT SINK
    parquet dictionary predicates: bool_col, bigint_col < 5000, double_col > 100.00, float_col > 50.00, id = 1, tinyint_col < 50, string_col IN ('aaaa', 'bbbb', 'cccc'), smallint_col IN (1, 2, 3, 4, 5), mod(int_col, 2) = 1, timestamp_cmp(timestamp_col, TIMESTAMP '2016-11-20 00:00:00') = 1, date_string_col > '1993-10-01'
    mem-estimate=128.00MB mem-reservation=88.00KB thread-reservation=1
    tuple-ids=0 row-size=80B cardinality=unavailable
+   in pipelines: 00(GETNEXT)
 ====
 # Test a variety of predicates on a mixed format table.
 # Scan all partitions other than the parquet partition.
@@ -550,6 +613,7 @@ PLAN-ROOT SINK
 |  output: count(*)
 |  mem-estimate=10.00MB mem-reservation=0B spill-buffer=2.00MB thread-reservation=0
 |  tuple-ids=1 row-size=8B cardinality=0
+|  in pipelines: 01(GETNEXT), 00(OPEN)
 |
 00:SCAN HDFS [functional.alltypesmixedformat]
    partitions=0/4 files=0 size=0B
@@ -561,4 +625,5 @@ PLAN-ROOT SINK
    extrapolated-rows=disabled max-scan-range-rows=0
    mem-estimate=0B mem-reservation=0B thread-reservation=0
    tuple-ids=0 row-size=80B cardinality=0
+   in pipelines: 00(GETNEXT)
 ====

http://git-wip-us.apache.org/repos/asf/impala/blob/b7d509d7/testdata/workloads/functional-planner/queries/PlannerTest/partition-pruning.test
----------------------------------------------------------------------
diff --git a/testdata/workloads/functional-planner/queries/PlannerTest/partition-pruning.test b/testdata/workloads/functional-planner/queries/PlannerTest/partition-pruning.test
index c5109cf..fa16718 100644
--- a/testdata/workloads/functional-planner/queries/PlannerTest/partition-pruning.test
+++ b/testdata/workloads/functional-planner/queries/PlannerTest/partition-pruning.test
@@ -17,4 +17,5 @@ PLAN-ROOT SINK
    extrapolated-rows=disabled max-scan-range-rows=1
    mem-estimate=32.00MB mem-reservation=8.00KB thread-reservation=1
    tuple-ids=0 row-size=20B cardinality=1
+   in pipelines: 00(GETNEXT)
 ====