Skip to content

test(index): share harness loads and read backticked raw indexes - #1135

Merged
catinspace-au merged 2 commits into
mainfrom
fix/engine-fulltier-index-tests
Nov 11, 2026
Merged

catinspace-au merged 2 commits into
mainfrom
fix/engine-fulltier-index-tests

Conversation

@catinspace-au

Copy link
Copy Markdown
Contributor

The full tier failed release run 42988646142 on two integration modules.

The landing DDL test looked for bare INDEX idx__raw. The dfe-schemas 0.2.29 renderer backticks the name, so the detector missed a correct index. The detector takes the name with or without backticks. It reads the whole nested text(...) type.

The index harness loaded its two 1.44M row tables in a module fixture. Under xdist worksteal, each worker running its tests loaded a copy. Four text-index loads ran at once on one ClickHouse.

The first hit the driver's 300 s read timeout. Its cleanup failed with SESSION_IS_LOCKED. Three more ran past the 900 s pytest-timeout. Their workers were killed.

The other 38 tests errored.

The first worker loads one database under a lock in the run's shared directory. The rest wait and reuse it. The last worker drops it. State is keyed on the server, so a tier with a server per worker loads once per server.

The loader client has no session. Its read timeout matches the module's. Data size and assertions are unchanged.

The xdist_group marker fails with pytest 9.2 and pytest-xdist 3.8.0. On pytest 9.2 a node id lives in _id. pytest-xdist 3.8.0 writes its group suffix to _nodeid, so loadgroup ignores the group (pytest-dev/pytest-xdist#1407).

The full tier failed release run 42988646142 on two integration modules.

The landing DDL test looked for bare `INDEX idx__raw`. The dfe-schemas 0.2.29 renderer backticks the name, so the detector missed a correct index. The detector takes the name with or without backticks. It reads the whole nested `text(...)` type.

The index harness loaded its two 1.44M row tables in a module fixture. Under xdist worksteal, each worker running its tests loaded a copy. Four text-index loads ran at once on one ClickHouse.

The first hit the driver's 300 s read timeout. Its cleanup failed with SESSION_IS_LOCKED. Three more ran past the 900 s pytest-timeout. Their workers were killed.

The other 38 tests errored.

The first worker loads one database under a lock in the run's shared directory. The rest wait and reuse it. The last worker drops it. State is keyed on the server, so a tier with a server per worker loads once per server.

The loader client has no session. Its read timeout matches the module's. Data size and assertions are unchanged.

The xdist_group marker fails with pytest 9.2 and pytest-xdist 3.8.0. On pytest 9.2 a node id lives in `_id`. pytest-xdist 3.8.0 writes its group suffix to `_nodeid`, so loadgroup ignores the group (pytest-dev/pytest-xdist#1407).
One dict held the database name and holder count, giving `+=` and the yield mixed types. ty rejected the shared-load helper. The name and count are separate typed values. The helper is annotated as a Generator.
@catinspace-au
catinspace-au marked this pull request as ready for review November 11, 2026 11:26
@catinspace-au
catinspace-au merged commit 0bc2916 into main Nov 11, 2026
19 checks passed
@catinspace-au
catinspace-au deleted the fix/engine-fulltier-index-tests branch November 11, 2026 11:26
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant