Build large test payloads lazily#670
Conversation
Signed-off-by: Daniel Frankcom <frankcom@amazon.com>
Signed-off-by: Daniel Frankcom <frankcom@amazon.com>
|
Based on the logs for this CI run and an earlier run in #645, this change seems to significantly improve the situation:
|
|
🤖 Auto-triaged by documentdb-triage-tool. Applied: Reasoningcomponent from path globs (test-coverage, test-framework, ci); effort from diff stats (498+218 LOC, 49 files); LLM: Fixes a CI memory exhaustion issue (~2.8 GiB per worker pushing jobs into swap) by lazily building large test payloads, which is an active blocker for reliable CI execution. If a label is wrong, remove it manually and ping |
Signed-off-by: Daniel Frankcom <frankcom@amazon.com> Signed-off-by: Sarthak Dalmia <sadalmia@microsoft.com>
This change builds large test payloads lazily to avoid GitHub runner resource limits.
Size limit and large collection tests embedded multi-megabyte strings, byte buffers, and document lists directly in their parametrized data. pytest keeps every parameter for the whole session and each xdist worker holds its own copy, so this pinned ~2.8 GiB per worker and pushed the replica-set CI job into swap space.
lazy(build), which defers construction and is typed as the built value so field types are unchanged.