Commit e99aff0
authored
Stabilize CalciteStreamstatsCommandIT on the analytics-engine route (#5582)
Gate the streamstats ITs that diverge on the analytics-engine route
(parquet-backed composite store, DataFusion backend) so the route runs
green, while keeping every test active on the v2/Calcite path. Mechanism
follows the established capability-gating pattern (#5560): an in-test
@RequiresCapability(...) annotation plus a matching integTestRemote
excludeTestsMatching entry; both are no-ops on the v2 route.
Triaged single-shard and multi-shard (num_shards=3) analytics runs against
the v2 baseline. Three groups:
- DOC_MUTATION (4 tests): testStreamstatsGlobalWithNull,
testStreamstatsGlobalWithNullBucket, testStreamstatsResetWithNull,
testStreamstatsResetWithNullBucket seed state via PUT+DELETE. Doc-level
DELETE is unsupported on the parquet store, and same-_id PUT is
append-only, so the leaked doc inflated the row counts of every sibling
test that reads the shared index. Gated with the same DOC_MUTATION
capability the three existing mutation tests already carry.
- CHAINED_STREAMSTATS_BY (4 tests): chaining two streamstats where an
upstream stage partitions `by` a group emits a ROW_NUMBER() sequence
column from each stage; the Substrait converter names both physical
columns identically, so the stacked schema has a duplicate/ambiguous
field name (500) or, for chained window streamstats, non-deterministic
values. The Calcite logical plan is correct; the alias is lost in
Substrait conversion. Fails single- and multi-shard.
- STREAMSTATS_SORT_NOT_HONORED (1 test): testStreamstatsAndSort. The window
is computed over the backend scan order, ignoring a preceding `| sort`
(the OVER clause carries no explicit ORDER BY), so the per-row aggregates
diverge from the v2/Calcite path.
Pass rate on the single-shard analytics route, CalciteStreamstatsCommandIT:
| metric | before | after |
|-----------|--------|-------|
| tests run | 47 | 42 |
| failures | 12 | 0 |
| skipped | 3 | 7 |
(The before-failures count is inflated by the DOC_MUTATION leak described
above; the four leaking tests plus their downstream row-count victims all
clear once gated.)
v2 route (:integTest): 47 run, 0 failed, 0 skipped — gates are no-ops
off the analytics route.
Twelve further tests fail only on the multi-shard route (they pass
single-shard) due to cross-shard fragment-order non-determinism in the
streamstats window gather; that is an engine-side gap and is left
unchanged here rather than gated, to avoid skipping passing tests on the
single-shard route.
Signed-off-by: Kai Huang <ahkcs@amazon.com>1 parent 0b96cfc commit e99aff0
3 files changed
Lines changed: 56 additions & 1 deletion
File tree
- integ-test
- src/test/java/org/opensearch/sql
- calcite/remote
- util
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1328 | 1328 | | |
1329 | 1329 | | |
1330 | 1330 | | |
| 1331 | + | |
| 1332 | + | |
| 1333 | + | |
| 1334 | + | |
| 1335 | + | |
| 1336 | + | |
| 1337 | + | |
| 1338 | + | |
| 1339 | + | |
| 1340 | + | |
| 1341 | + | |
| 1342 | + | |
| 1343 | + | |
| 1344 | + | |
1331 | 1345 | | |
1332 | 1346 | | |
1333 | 1347 | | |
| |||
Lines changed: 11 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
6 | 6 | | |
7 | 7 | | |
8 | 8 | | |
| 9 | + | |
9 | 10 | | |
| 11 | + | |
10 | 12 | | |
11 | 13 | | |
12 | 14 | | |
| |||
558 | 560 | | |
559 | 561 | | |
560 | 562 | | |
| 563 | + | |
561 | 564 | | |
562 | 565 | | |
563 | 566 | | |
| |||
613 | 616 | | |
614 | 617 | | |
615 | 618 | | |
| 619 | + | |
616 | 620 | | |
617 | 621 | | |
618 | 622 | | |
| |||
718 | 722 | | |
719 | 723 | | |
720 | 724 | | |
| 725 | + | |
721 | 726 | | |
722 | 727 | | |
723 | 728 | | |
| |||
773 | 778 | | |
774 | 779 | | |
775 | 780 | | |
| 781 | + | |
776 | 782 | | |
777 | 783 | | |
778 | 784 | | |
| |||
845 | 851 | | |
846 | 852 | | |
847 | 853 | | |
| 854 | + | |
848 | 855 | | |
849 | 856 | | |
850 | 857 | | |
| |||
863 | 870 | | |
864 | 871 | | |
865 | 872 | | |
| 873 | + | |
866 | 874 | | |
867 | 875 | | |
868 | 876 | | |
| |||
899 | 907 | | |
900 | 908 | | |
901 | 909 | | |
| 910 | + | |
902 | 911 | | |
903 | 912 | | |
904 | 913 | | |
| |||
1008 | 1017 | | |
1009 | 1018 | | |
1010 | 1019 | | |
| 1020 | + | |
1011 | 1021 | | |
1012 | 1022 | | |
1013 | 1023 | | |
| |||
1074 | 1084 | | |
1075 | 1085 | | |
1076 | 1086 | | |
| 1087 | + | |
1077 | 1088 | | |
1078 | 1089 | | |
1079 | 1090 | | |
| |||
Lines changed: 31 additions & 1 deletion
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
469 | 469 | | |
470 | 470 | | |
471 | 471 | | |
472 | | - | |
| 472 | + | |
| 473 | + | |
| 474 | + | |
| 475 | + | |
| 476 | + | |
| 477 | + | |
| 478 | + | |
| 479 | + | |
| 480 | + | |
| 481 | + | |
| 482 | + | |
| 483 | + | |
| 484 | + | |
| 485 | + | |
| 486 | + | |
| 487 | + | |
| 488 | + | |
| 489 | + | |
| 490 | + | |
| 491 | + | |
| 492 | + | |
| 493 | + | |
| 494 | + | |
| 495 | + | |
| 496 | + | |
| 497 | + | |
| 498 | + | |
| 499 | + | |
| 500 | + | |
| 501 | + | |
| 502 | + | |
473 | 503 | | |
474 | 504 | | |
475 | 505 | | |
| |||
0 commit comments