You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@asterixdb.apache.org by AsterixDB Code Review <do...@asterix-gerrit.ics.uci.edu> on 2026/09/30 01:55:02 UTC

[XL] Change in asterixdb[master]: [ASTERIXDB-3577][COMP] Fix 0.0 doc-size for single-table projections

From Ali Alsuliman <al...@gmail.com>:

Attention is currently required from: Ali Alsuliman, Ali Alsuliman, Murtadha Hubail, Rithwik Koul.

Ali Alsuliman has uploaded a new patch set (#9) to the change originally created by Rithwik Koul. ( https://asterix-gerrit.ics.uci.edu/c/asterixdb/+/21881?usp=email )

The following approvals got outdated and were removed:
Code-Review+1 by Rithwik Koul, Code-Review+2 by Ali Alsuliman, Contrib-2 by Anon. E. Moose #1000171, Verified+1 by Jenkins

The change is no longer submittable: Code-Review and Verified are unsatisfied now.


Change subject: [ASTERIXDB-3577][COMP] Fix 0.0 doc-size for single-table projections
......................................................................

[ASTERIXDB-3577][COMP] Fix 0.0 doc-size for single-table projections

- user model changes: no
- storage format changes: no
- interface changes: no

Details:
For single-table queries the CBO leaf input stopped at the first
SELECT, UNNEST or DATASOURCESCAN, leaving the ASSIGNs that compute the
projected columns outside it. Their sizes were never sampled, so the
doc-size flowing out of the scan was reported as 0.0.

The leaf input now extends over a run of plain field or item access
ASSIGNs whose outputs are used above it, capped at 20 produced
variables so the sampling query stays small. The new test steps
ANALYZE their collections with a fixed seed, so the plain suite
compares the plans, doc-size included, and fails without the fix.

Co-Authored-By: Preetham Poluparthi <pr...@couchbase.com>
Ext-ref: MB-65762
Generated-by: Claude Fable 5.1 <no...@anthropic.com>
Change-Id: Iae5935bff5f11b09f8df2a95aebeb9fc4b8d7a2d
---
M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/cbo/EnumerateJoinsRule.java
M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/cbo/JoinNode.java
M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/cbo/OperatorUtils.java
M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/cbo/Stats.java
A asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/cardinality-estimation/single-collection-queries/single-collection-queries.10.query.sqlpp
A asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/cardinality-estimation/single-collection-queries/single-collection-queries.11.query.sqlpp
A asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/cardinality-estimation/single-collection-queries/single-collection-queries.12.query.sqlpp
A asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/cardinality-estimation/single-collection-queries/single-collection-queries.13.query.sqlpp
A asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/cardinality-estimation/single-collection-queries/single-collection-queries.14.query.sqlpp
A asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/cardinality-estimation/single-collection-queries/single-collection-queries.15.query.sqlpp
A asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/cardinality-estimation/single-collection-queries/single-collection-queries.16.ddl.sqlpp
A asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/cardinality-estimation/single-collection-queries/single-collection-queries.17.query.sqlpp
A asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/cardinality-estimation/single-collection-queries/single-collection-queries.8.ddl.sqlpp
A asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/cardinality-estimation/single-collection-queries/single-collection-queries.9.query.sqlpp
A asterixdb/asterix-app/src/test/resources/runtimets/results/cardinality-estimation/single-collection-queries/single-collection-queries.10.plan
A asterixdb/asterix-app/src/test/resources/runtimets/results/cardinality-estimation/single-collection-queries/single-collection-queries.11.plan
A asterixdb/asterix-app/src/test/resources/runtimets/results/cardinality-estimation/single-collection-queries/single-collection-queries.12.plan
A asterixdb/asterix-app/src/test/resources/runtimets/results/cardinality-estimation/single-collection-queries/single-collection-queries.13.plan
A asterixdb/asterix-app/src/test/resources/runtimets/results/cardinality-estimation/single-collection-queries/single-collection-queries.14.plan
A asterixdb/asterix-app/src/test/resources/runtimets/results/cardinality-estimation/single-collection-queries/single-collection-queries.15.plan
A asterixdb/asterix-app/src/test/resources/runtimets/results/cardinality-estimation/single-collection-queries/single-collection-queries.17.plan
A asterixdb/asterix-app/src/test/resources/runtimets/results/cardinality-estimation/single-collection-queries/single-collection-queries.9.plan
A asterixdb/asterix-app/src/test/resources/runtimets/results_cbo/cardinality-estimation/single-collection-queries/single-collection-queries.10.plan
A asterixdb/asterix-app/src/test/resources/runtimets/results_cbo/cardinality-estimation/single-collection-queries/single-collection-queries.11.plan
A asterixdb/asterix-app/src/test/resources/runtimets/results_cbo/cardinality-estimation/single-collection-queries/single-collection-queries.12.plan
A asterixdb/asterix-app/src/test/resources/runtimets/results_cbo/cardinality-estimation/single-collection-queries/single-collection-queries.13.plan
A asterixdb/asterix-app/src/test/resources/runtimets/results_cbo/cardinality-estimation/single-collection-queries/single-collection-queries.14.plan
A asterixdb/asterix-app/src/test/resources/runtimets/results_cbo/cardinality-estimation/single-collection-queries/single-collection-queries.15.plan
A asterixdb/asterix-app/src/test/resources/runtimets/results_cbo/cardinality-estimation/single-collection-queries/single-collection-queries.17.plan
A asterixdb/asterix-app/src/test/resources/runtimets/results_cbo/cardinality-estimation/single-collection-queries/single-collection-queries.9.plan
M asterixdb/asterix-app/src/test/resources/runtimets/results_cbo/column/pushdown/array-access-pushdown/array-access-pushdown.004.plan
M asterixdb/asterix-app/src/test/resources/runtimets/results_cbo/column/pushdown/other-pushdowns/other-pushdowns.019.plan
M asterixdb/asterix-app/src/test/resources/runtimets/results_cbo/column/pushdown/other-pushdowns/other-pushdowns.024.plan
M asterixdb/asterix-app/src/test/resources/runtimets/results_cbo/column/pushdown/other-pushdowns/other-pushdowns.025.plan
M asterixdb/asterix-app/src/test/resources/runtimets/results_cbo/column/pushdown/other-pushdowns/other-pushdowns.026.plan
M asterixdb/asterix-app/src/test/resources/runtimets/results_cbo/column/pushdown/other-pushdowns/other-pushdowns.027.plan
M asterixdb/asterix-app/src/test/resources/runtimets/results_cbo/misc/query-ASTERIXDB-3562/query-ASTERIXDB-3562.4.plan
M asterixdb/asterix-app/src/test/resources/runtimets/results_cbo/subquery/query-ASTERIXDB-3538/query-ASTERIXDB-3538.5.plan
A asterixdb/asterix-app/src/test/resources/runtimets/results_full_parallelism/cardinality-estimation/single-collection-queries/single-collection-queries.10.plan
A asterixdb/asterix-app/src/test/resources/runtimets/results_full_parallelism/cardinality-estimation/single-collection-queries/single-collection-queries.11.plan
A asterixdb/asterix-app/src/test/resources/runtimets/results_full_parallelism/cardinality-estimation/single-collection-queries/single-collection-queries.12.plan
A asterixdb/asterix-app/src/test/resources/runtimets/results_full_parallelism/cardinality-estimation/single-collection-queries/single-collection-queries.13.plan
A asterixdb/asterix-app/src/test/resources/runtimets/results_full_parallelism/cardinality-estimation/single-collection-queries/single-collection-queries.14.plan
A asterixdb/asterix-app/src/test/resources/runtimets/results_full_parallelism/cardinality-estimation/single-collection-queries/single-collection-queries.15.plan
A asterixdb/asterix-app/src/test/resources/runtimets/results_full_parallelism/cardinality-estimation/single-collection-queries/single-collection-queries.17.plan
A asterixdb/asterix-app/src/test/resources/runtimets/results_full_parallelism/cardinality-estimation/single-collection-queries/single-collection-queries.9.plan
A asterixdb/asterix-app/src/test/resources/runtimets/results_less_parallelism/cardinality-estimation/single-collection-queries/single-collection-queries.10.plan
A asterixdb/asterix-app/src/test/resources/runtimets/results_less_parallelism/cardinality-estimation/single-collection-queries/single-collection-queries.11.plan
A asterixdb/asterix-app/src/test/resources/runtimets/results_less_parallelism/cardinality-estimation/single-collection-queries/single-collection-queries.12.plan
A asterixdb/asterix-app/src/test/resources/runtimets/results_less_parallelism/cardinality-estimation/single-collection-queries/single-collection-queries.13.plan
A asterixdb/asterix-app/src/test/resources/runtimets/results_less_parallelism/cardinality-estimation/single-collection-queries/single-collection-queries.14.plan
A asterixdb/asterix-app/src/test/resources/runtimets/results_less_parallelism/cardinality-estimation/single-collection-queries/single-collection-queries.15.plan
A asterixdb/asterix-app/src/test/resources/runtimets/results_less_parallelism/cardinality-estimation/single-collection-queries/single-collection-queries.17.plan
A asterixdb/asterix-app/src/test/resources/runtimets/results_less_parallelism/cardinality-estimation/single-collection-queries/single-collection-queries.9.plan
54 files changed, 1,077 insertions(+), 108 deletions(-)


  git pull ssh://asterix-gerrit.ics.uci.edu:29418/asterixdb refs/changes/81/21881/9
-- 
To view, visit https://asterix-gerrit.ics.uci.edu/c/asterixdb/+/21881?usp=email
To unsubscribe, or for help writing mail filters, visit https://asterix-gerrit.ics.uci.edu/settings?usp=email

Gerrit-MessageType: newpatchset
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Change-Id: Iae5935bff5f11b09f8df2a95aebeb9fc4b8d7a2d
Gerrit-Change-Number: 21881
Gerrit-PatchSet: 9
Gerrit-Owner: Rithwik Koul <ri...@couchbase.com>
Gerrit-Reviewer: Ali Alsuliman <al...@gmail.com>
Gerrit-Reviewer: Ali Alsuliman <al...@couchbase.com>
Gerrit-Reviewer: Anon. E. Moose #1000171
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-Reviewer: Murtadha Hubail <mh...@apache.org>
Gerrit-Reviewer: Rithwik Koul <ri...@couchbase.com>
Gerrit-Attention: Murtadha Hubail <mh...@apache.org>
Gerrit-Attention: Rithwik Koul <ri...@couchbase.com>
Gerrit-Attention: Ali Alsuliman <al...@gmail.com>
Gerrit-Attention: Ali Alsuliman <al...@couchbase.com>