This is an automated email from the ASF dual-hosted git repository. mblow pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/asterixdb.git
commit 08d960ec27b96feac67380774c2e249192d6a2a1 Merge: 69b31add73 3f91981236 Author: Ian Maxon <[email protected]> AuthorDate: Tue Oct 28 15:39:54 2025 -0700 Merge branch trinity into phoenix * [ASTERIXDB-3658][RT]Remove operator descriptions from profile (MB-68975) Ext-ref: MB-68975 Change-Id: I716c7c40531261eb3b719118b967d45df312a90b .../src/test/resources/runtimets/profiled.xml | 19 +++++++++++++- .../long-description.1.query.sqlpp | 29 ++++++++++++++++++++++ .../long-description/long-description.1.adm | 0 .../results/profile/plansleep/sleep.3.regexjson | 12 ++++----- .../meta/AlgebricksMetaOperatorDescriptor.java | 12 ++++----- .../api/dataflow/ProfiledOperatorNodePushable.java | 5 ++-- 6 files changed, 62 insertions(+), 15 deletions(-) diff --cc asterixdb/asterix-app/src/test/resources/runtimets/profiled.xml index 2efc64f627,75fe49734b..15c52dc9d4 --- a/asterixdb/asterix-app/src/test/resources/runtimets/profiled.xml +++ b/asterixdb/asterix-app/src/test/resources/runtimets/profiled.xml @@@ -58,13 -50,22 +58,30 @@@ <output-dir compare="Text">non-unary-subplan</output-dir> </compilation-unit> </test-case> + <test-case FilePath="profile"> + <compilation-unit name="subplan"> + <parameter name="profile" value="timings" type="string"/> + <parameter name="optimized-logical-plan" value="true" type="string"/> + <parameter name="plan-format" value="json" type="string"/> + <output-dir compare="Text">subplan</output-dir> + </compilation-unit> + </test-case> + <test-case FilePath="profile"> + <compilation-unit name="long-description"> + <output-dir compare="Text">long-description</output-dir> + </compilation-unit> + </test-case> + <test-case FilePath="profile"> + <compilation-unit name="long-description"> + <parameter name="profile" value="counts" type="string"/> + <output-dir compare="Text">long-description</output-dir> + </compilation-unit> + </test-case> + <test-case FilePath="profile"> + <compilation-unit name="long-description"> + <parameter name="profile" value="timings" type="string"/> + <output-dir compare="Text">long-description</output-dir> + </compilation-unit> + </test-case> </test-group> --</test-suite> ++</test-suite> diff --cc asterixdb/asterix-app/src/test/resources/runtimets/results/profile/plansleep/sleep.3.regexjson index 28562e7110,0000000000..d6b31fa52f mode 100644,000000..100644 --- a/asterixdb/asterix-app/src/test/resources/runtimets/results/profile/plansleep/sleep.3.regexjson +++ b/asterixdb/asterix-app/src/test/resources/runtimets/results/profile/plansleep/sleep.3.regexjson @@@ -1,564 -1,0 +1,564 @@@ +{ + "optimizedLogicalPlan": { + "operator": "distribute-result", + "expressions": [ + "$$48" + ], + "operatorId": "1.1", + "runtime-id": "R{.+}", + "min-time": "R{[0-9.]+}", + "max-time": "R{[0-9.]+}", + "physical-operator": "DISTRIBUTE_RESULT", + "execution-mode": "PARTITIONED", + "optimizer-estimates": { + "cardinality": "R{[0-9.]+}", + "doc-size": "R{[0-9.]+}", + "op-cost": "R{[0-9.]+}", + "total-cost": "R{[0-9.]+}" + }, + "inputs": [ + { + "operator": "exchange", + "operatorId": "1.2", + "runtime-id": "R{.+}", + "physical-operator": "ONE_TO_ONE_EXCHANGE", + "execution-mode": "PARTITIONED", + "optimizer-estimates": { + "cardinality": "R{[0-9.]+}", + "doc-size": "R{[0-9.]+}", + "op-cost": "R{[0-9.]+}", + "total-cost": "R{[0-9.]+}" + }, + "inputs": [ + { + "operator": "project", + "variables": [ + "$$48" + ], + "operatorId": "1.3", + "runtime-id": "R{.+}", + "min-time": "R{[0-9.]+}", + "max-time": "R{[0-9.]+}", + "min-cardinality": 3, + "max-cardinality": 3, + "total-cardinality": 3, + "min-tuple-size": 39, + "max-tuple-size": 44, + "avg-tuple-size": 41.666666666666664, + "frame-count": 1, + "avg-tuples-per-frame": 3.0, + "tuple-bytes": "125 bytes", + "physical-operator": "STREAM_PROJECT", + "execution-mode": "PARTITIONED", + "optimizer-estimates": { + "cardinality": "R{[0-9.]+}", + "doc-size": "R{[0-9.]+}", + "op-cost": "R{[0-9.]+}", + "total-cost": "R{[0-9.]+}" + }, + "inputs": [ + { + "operator": "exchange", + "operatorId": "1.4", + "runtime-id": "R{.+}", + "min-time": "R{[0-9.]+}", + "max-time": "R{[0-9.]+}", + "min-cardinality": "R{[0-9.]+}", + "max-cardinality": "R{[0-9.]+}", + "total-cardinality": "R{[0-9.]+}", + "physical-operator": "SORT_MERGE_EXCHANGE [$$49(ASC) ]", + "execution-mode": "PARTITIONED", + "optimizer-estimates": { + "cardinality": "R{[0-9.]+}", + "doc-size": "R{[0-9.]+}", + "op-cost": "R{[0-9.]+}", + "total-cost": "R{[0-9.]+}" + }, + "inputs": [ + { + "operator": "order", + "order-by-list": [ + { + "order": "ASC", + "expression": "$$49" + } + ], + "operatorId": "1.5", + "runtime-id": "R{.+}", + "activity-stats": [ + { - "name": "Sort (Run Generation)", ++ "name": "R{.+}", + "id": "ANID:0", + "min-time": "R{[0-9.]+}", + "max-time": "R{[0-9.]+}" + }, + { - "name": "Sort (Run Merge)", ++ "name": "R{.+}", + "id": "ANID:1", + "min-time": "R{[0-9.]+}", + "max-time": "R{[0-9.]+}", + "min-cardinality": 3, + "max-cardinality": 3, + "total-cardinality": 3, + "min-tuple-size": 53, + "max-tuple-size": 63, + "avg-tuple-size": 58.333333333333336, + "frame-count": 1, + "avg-tuples-per-frame": 3.0, + "tuple-bytes": "175 bytes" + } + ], + "physical-operator": "STABLE_SORT [$$49(ASC)]", + "execution-mode": "PARTITIONED", + "optimizer-estimates": { + "cardinality": "R{[0-9.]+}", + "doc-size": "R{[0-9.]+}", + "op-cost": "R{[0-9.]+}", + "total-cost": "R{[0-9.]+}" + }, + "inputs": [ + { + "operator": "exchange", + "operatorId": "1.6", + "runtime-id": "R{.+}", + "physical-operator": "ONE_TO_ONE_EXCHANGE", + "execution-mode": "PARTITIONED", + "optimizer-estimates": { + "cardinality": "R{[0-9.]+}", + "doc-size": "R{[0-9.]+}", + "op-cost": "R{[0-9.]+}", + "total-cost": "R{[0-9.]+}" + }, + "inputs": [ + { + "operator": "assign", + "variables": [ + "$$49" + ], + "expressions": [ + "sleep($$city, 1700)" + ], + "project-variables": [ + "$$48", + "$$49" + ], + "operatorId": "1.7", + "runtime-id": "R{.+}", + "min-time": "R{[0-9.]+}", + "max-time": "R{[0-9.]+}", + "min-cardinality": 3, + "max-cardinality": 3, + "total-cardinality": 3, + "min-tuple-size": 53, + "max-tuple-size": 63, + "avg-tuple-size": 58.333333333333336, + "frame-count": 1, + "avg-tuples-per-frame": 3.0, + "tuple-bytes": "175 bytes", + "physical-operator": "ASSIGN", + "execution-mode": "PARTITIONED", + "optimizer-estimates": { + "cardinality": "R{[0-9.]+}", + "doc-size": "R{[0-9.]+}", + "op-cost": "R{[0-9.]+}", + "total-cost": "R{[0-9.]+}" + }, + "inputs": [ + { + "operator": "assign", + "variables": [ + "$$48" + ], + "expressions": [ + "{\"customers\": $$52, \"city\": $$city}" + ], + "project-variables": [ + "$$city", + "$$48" + ], + "operatorId": "1.8", + "runtime-id": "R{.+}", + "min-time": "R{[0-9.]+}", + "max-time": "R{[0-9.]+}", + "min-cardinality": 3, + "max-cardinality": 3, + "total-cardinality": 3, + "min-tuple-size": 53, + "max-tuple-size": 63, + "avg-tuple-size": 58.333333333333336, + "frame-count": 1, + "avg-tuples-per-frame": 3.0, + "tuple-bytes": "175 bytes", + "physical-operator": "ASSIGN", + "execution-mode": "PARTITIONED", + "optimizer-estimates": { + "cardinality": "R{[0-9.]+}", + "doc-size": "R{[0-9.]+}", + "op-cost": "R{[0-9.]+}", + "total-cost": "R{[0-9.]+}" + }, + "inputs": [ + { + "operator": "exchange", + "operatorId": "1.9", + "runtime-id": "R{.+}", + "physical-operator": "ONE_TO_ONE_EXCHANGE", + "execution-mode": "PARTITIONED", + "optimizer-estimates": { + "cardinality": "R{[0-9.]+}", + "doc-size": "R{[0-9.]+}", + "op-cost": "R{[0-9.]+}", + "total-cost": "R{[0-9.]+}" + }, + "inputs": [ + { + "operator": "group-by", + "group-by-list": [ + { + "variable": "$$city", + "expression": "$$56" + } + ], + "subplan": [ + { + "operator": "aggregate", + "variables": [ + "$$52" + ], + "expressions": [ + "agg-sql-sum($$55)" + ], + "operatorId": "1.9.1", + "physical-operator": "AGGREGATE", + "execution-mode": "LOCAL", + "inputs": [ + { + "operator": "nested-tuple-source", + "operatorId": "1.9.2", + "physical-operator": "NESTED_TUPLE_SOURCE", + "execution-mode": "LOCAL" + } + ] + } + ], + "operatorId": "1.10", + "runtime-id": "R{.+}", + "activity-stats": [ + { - "name": "Sort (Run Generation)", ++ "name": "R{.+}", + "id": "ANID:0", + "min-time": "R{[0-9.]+}", + "max-time": "R{[0-9.]+}" + }, + { - "name": "Sort (Run Merge)", ++ "name": "R{.+}", + "id": "ANID:1", + "min-time": "R{[0-9.]+}", + "max-time": "R{[0-9.]+}", + "min-cardinality": 3, + "max-cardinality": 3, + "total-cardinality": 3, + "min-tuple-size": 27, + "max-tuple-size": 32, + "avg-tuple-size": 29.666666666666668, + "frame-count": 1, + "avg-tuples-per-frame": 3.0, + "tuple-bytes": "89 bytes" + } + ], + "physical-operator": "SORT_GROUP_BY[$$56]", + "execution-mode": "PARTITIONED", + "optimizer-estimates": { + "cardinality": "R{[0-9.]+}", + "doc-size": "R{[0-9.]+}", + "op-cost": "R{[0-9.]+}", + "total-cost": "R{[0-9.]+}" + }, + "inputs": [ + { + "operator": "exchange", + "operatorId": "1.11", + "runtime-id": "R{.+}", + "min-time": "R{[0-9.]+}", + "max-time": "R{[0-9.]+}", + "min-cardinality": 3, + "max-cardinality": 3, + "total-cardinality": 3, + "physical-operator": "HASH_PARTITION_EXCHANGE [$$56]", + "execution-mode": "PARTITIONED", + "optimizer-estimates": { + "cardinality": "R{[0-9.]+}", + "doc-size": "R{[0-9.]+}", + "op-cost": "R{[0-9.]+}", + "total-cost": "R{[0-9.]+}" + }, + "inputs": [ + { + "operator": "group-by", + "group-by-list": [ + { + "variable": "$$56", + "expression": "$$50" + } + ], + "subplan": [ + { + "operator": "aggregate", + "variables": [ + "$$55" + ], + "expressions": [ + "agg-sql-count(1)" + ], + "operatorId": "1.11.1", + "physical-operator": "AGGREGATE", + "execution-mode": "LOCAL", + "inputs": [ + { + "operator": "nested-tuple-source", + "operatorId": "1.11.2", + "physical-operator": "NESTED_TUPLE_SOURCE", + "execution-mode": "LOCAL" + } + ] + } + ], + "operatorId": "1.12", + "runtime-id": "R{.+}", + "activity-stats": [ + { - "name": "Sort (Run Generation)", ++ "name": "R{.+}", + "id": "ANID:0", + "min-time": "R{[0-9.]+}", + "max-time": "R{[0-9.]+}" + }, + { - "name": "Sort (Run Merge)", ++ "name": "R{.+}", + "id": "ANID:1", + "min-time": "R{[0-9.]+}", + "max-time": "R{[0-9.]+}", + "min-cardinality": 3, + "max-cardinality": 3, + "total-cardinality": 3, + "min-tuple-size": 27, + "max-tuple-size": 32, + "avg-tuple-size": 29.666666666666668, + "frame-count": 1, + "avg-tuples-per-frame": 3.0, + "tuple-bytes": "89 bytes" + } + ], + "physical-operator": "SORT_GROUP_BY[$$50]", + "execution-mode": "PARTITIONED", + "optimizer-estimates": { + "cardinality": "R{[0-9.]+}", + "doc-size": "R{[0-9.]+}", + "op-cost": "R{[0-9.]+}", + "total-cost": "R{[0-9.]+}" + }, + "inputs": [ + { + "operator": "exchange", + "operatorId": "1.13", + "runtime-id": "R{.+}", + "physical-operator": "ONE_TO_ONE_EXCHANGE", + "execution-mode": "PARTITIONED", + "optimizer-estimates": { + "cardinality": "R{[0-9.]+}", + "doc-size": "R{[0-9.]+}", + "op-cost": "R{[0-9.]+}", + "total-cost": "R{[0-9.]+}" + }, + "inputs": [ + { + "operator": "assign", + "variables": [ + "$$50" + ], + "expressions": [ + "$$c.getField(3).getField(2)" + ], + "project-variables": [ + "$$50" + ], + "operatorId": "1.14", + "runtime-id": "R{.+}", + "min-time": "R{[0-9.]+}", + "max-time": "R{[0-9.]+}", + "min-cardinality": "R{[0-9.]+}", + "max-cardinality": "R{[0-9.]+}", + "total-cardinality": "R{[0-9.]+}", + "min-tuple-size": "R{[0-9.]+}", + "max-tuple-size": "R{[0-9.]+}", + "avg-tuple-size": "R{[0-9.]+}", + "frame-count": "R{[0-9.]+}", + "avg-tuples-per-frame": "R{[0-9.]+}", + "tuple-bytes": "R{.+}", + "physical-operator": "ASSIGN", + "execution-mode": "PARTITIONED", + "optimizer-estimates": { + "cardinality": "R{[0-9.]+}", + "doc-size": "R{[0-9.]+}", + "op-cost": "R{[0-9.]+}", + "total-cost": "R{[0-9.]+}" + }, + "inputs": [ + { + "operator": "select", + "condition": "lt($$c.getField(2), 65)", + "operatorId": "1.15", + "runtime-id": "R{.+}", + "min-time": "R{[0-9.]+}", + "max-time": "R{[0-9.]+}", + "min-cardinality": 5, + "max-cardinality": 5, + "total-cardinality": 5, + "min-tuple-size": 142, + "max-tuple-size": 151, + "avg-tuple-size": 145.6, + "frame-count": 1, + "avg-tuples-per-frame": 5.0, + "tuple-bytes": "728 bytes", + "physical-operator": "STREAM_SELECT", + "execution-mode": "PARTITIONED", + "optimizer-estimates": { + "cardinality": "R{[0-9.]+}", + "doc-size": "R{[0-9.]+}", + "op-cost": "R{[0-9.]+}", + "total-cost": "R{[0-9.]+}" + }, + "inputs": [ + { + "operator": "project", + "variables": [ + "$$c" + ], + "operatorId": "1.16", + "runtime-id": "R{.+}", + "min-time": "R{[0-9.]+}", + "max-time": "R{[0-9.]+}", + "min-cardinality": 10, + "max-cardinality": 10, + "total-cardinality": 10, + "min-tuple-size": 137, + "max-tuple-size": 151, + "avg-tuple-size": 143.1, + "frame-count": 1, + "avg-tuples-per-frame": 10.0, + "tuple-bytes": "1 KB", + "physical-operator": "STREAM_PROJECT", + "execution-mode": "PARTITIONED", + "optimizer-estimates": { + "cardinality": "R{[0-9.]+}", + "doc-size": "R{[0-9.]+}", + "op-cost": "R{[0-9.]+}", + "total-cost": "R{[0-9.]+}" + }, + "inputs": [ + { + "operator": "exchange", + "operatorId": "1.17", + "runtime-id": "R{.+}", + "physical-operator": "ONE_TO_ONE_EXCHANGE", + "execution-mode": "PARTITIONED", + "optimizer-estimates": { + "cardinality": "R{[0-9.]+}", + "doc-size": "R{[0-9.]+}", + "op-cost": "R{[0-9.]+}", + "total-cost": "R{[0-9.]+}" + }, + "inputs": [ + { + "operator": "data-scan", + "variables": [ + "$$51", + "$$c" + ], + "data-source": "test.Customers", + "operatorId": "1.18", + "runtime-id": "R{.+}", + "min-time": "R{[0-9.]+}", + "max-time": "R{[0-9.]+}", + "min-cardinality": 10, + "max-cardinality": 10, + "total-cardinality": 10, + "min-tuple-size": 150, + "max-tuple-size": 164, + "avg-tuple-size": 156.1, + "frame-count": 1, + "avg-tuples-per-frame": 10.0, + "tuple-bytes": "1 KB", + "physical-operator": "DATASOURCE_SCAN", + "execution-mode": "PARTITIONED", + "optimizer-estimates": { + "cardinality": "R{[0-9.]+}", + "doc-size": "R{[0-9.]+}", + "op-cost": "R{[0-9.]+}", + "total-cost": "R{[0-9.]+}" + }, + "inputs": [ + { + "operator": "exchange", + "operatorId": "1.19", + "runtime-id": "R{.+}", + "physical-operator": "ONE_TO_ONE_EXCHANGE", + "execution-mode": "PARTITIONED", + "optimizer-estimates": { + "cardinality": "R{[0-9.]+}", + "doc-size": "R{[0-9.]+}", + "op-cost": "R{[0-9.]+}", + "total-cost": "R{[0-9.]+}" + }, + "inputs": [ + { + "operator": "empty-tuple-source", + "operatorId": "1.20", + "runtime-id": "R{.+}", + "physical-operator": "EMPTY_TUPLE_SOURCE", + "execution-mode": "PARTITIONED", + "optimizer-estimates": { + "cardinality": "R{[0-9.]+}", + "doc-size": "R{[0-9.]+}", + "op-cost": "R{[0-9.]+}", + "total-cost": "R{[0-9.]+}" + } + } + ] + } + ] + } + ] + } + ] + } + ] + } + ] + } + ] + } + ] + } + ] + } + ] + } + ] + } + ] + } + ] + } + ] + } + ] + } + ] + } + ] + } + ] + } + ] + } +} diff --cc hyracks-fullstack/algebricks/algebricks-runtime/src/main/java/org/apache/hyracks/algebricks/runtime/operators/meta/AlgebricksMetaOperatorDescriptor.java index 232121b262,9958e8ba3f..1951f353a3 --- a/hyracks-fullstack/algebricks/algebricks-runtime/src/main/java/org/apache/hyracks/algebricks/runtime/operators/meta/AlgebricksMetaOperatorDescriptor.java +++ b/hyracks-fullstack/algebricks/algebricks-runtime/src/main/java/org/apache/hyracks/algebricks/runtime/operators/meta/AlgebricksMetaOperatorDescriptor.java @@@ -25,9 -24,9 +25,10 @@@ import java.util.Collections import java.util.HashMap; import java.util.List; import java.util.Map; + import java.util.UUID; import org.apache.hyracks.algebricks.runtime.base.AlgebricksPipeline; +import org.apache.hyracks.algebricks.runtime.base.IProfiledPushRuntime; import org.apache.hyracks.algebricks.runtime.base.IPushRuntimeFactory; import org.apache.hyracks.api.comm.IFrameWriter; import org.apache.hyracks.api.context.IHyracksTaskContext;
