-
Type:
Task
-
Resolution: Fixed
-
Priority:
Major - P3
-
Affects Version/s: None
-
Component/s: None
-
None
-
Query Integration
-
Fully Compatible
-
0
-
None
-
None
-
None
-
None
-
None
-
None
-
None
-
- Ticket
Add `assumes_stable_collection_uuid` tag to `near_memory_limit.js`
-
- What this PR does
Adds the `assumes_stable_collection_uuid` tag to `jstests/core/query/geo/near_memory_limit.js`, causing it to be excluded from the `sharding_jscore_passthrough_with_balancer` suite (and any other suite that performs background `moveCollection` operations).
-
- Why
`near_memory_limit.js` runs a `$geoNear` aggregate over 10,000 documents, requiring multiple `getMore` calls to exhaust the cursor. In `sharding_jscore_passthrough_with_balancer`, the suite uses `random_migrations: true` which calls `moveCollection` in the background. When `moveCollection` commits, it drops and recreates the collection with a new UUID; any in-flight query using the auto-yielding policy then receives `QueryPlanKilled` (code 175) on the next yield-restore cycle.
The passthrough's retry logic does retry `QueryPlanKilled`, but the large result set means the query takes long enough that migrations keep killing it on every attempt, ultimately timing out the `assert.soon` in the override after 600 seconds. This is the same root cause tracked in SERVER-88275.
The identical fix was applied to `geo_circle_spilling.js` in SERVER-113548, and to an earlier batch of tests in SERVER-88882.
-
- Reviewer reading guide
The entire diff is one line: adding `assumes_stable_collection_uuid` to the `@tags` block in `near_memory_limit.js`. No logic changes.
-
- Followups
SERVER-88275 tracks the underlying issue (making `moveCollection` not kill in-flight queries). Until that is fixed, tests with long-running cursors that are sensitive to UUID changes need this tag.
- is related to
-
SERVER-88275 moveCollection may make a query fail with QueryPlanKilled error
-
- Backlog
-
-
SERVER-88882 Blacklist tests failing with QueryPlanKilled error
-
- Closed
-
-
SERVER-113548 Add assumes_stable_collection_uuid tag to geo_circle_spilling.js
-
- Closed
-