From 8ccbc3e735788bf1db686d04a08102b4add8b0de Mon Sep 17 00:00:00 2001 From: ryan-crabbe-berri Date: Thu, 30 Jul 2026 18:20:04 -0700 Subject: [PATCH] test(e2e): skip the batch rate-limiter spend-row test pending LIT-5027 (#35301) The batch rate limiter counts input tokens by awaiting litellm.afile_content with no timeout, so a slow Files API holds POST /v1/batches open past any client deadline; stage saw 63.6s against the harness's 60s read timeout. The test times out before reaching the unattributed-spend-row assertion it exists to guard, so it reports an infrastructure hang rather than the contract. Skipping keeps the signal honest until the fetch is bounded. --- tests/e2e/batches/test_batches_e2e.py | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/tests/e2e/batches/test_batches_e2e.py b/tests/e2e/batches/test_batches_e2e.py index 5c25b7f2a93..1376bdbed38 100644 --- a/tests/e2e/batches/test_batches_e2e.py +++ b/tests/e2e/batches/test_batches_e2e.py @@ -397,6 +397,16 @@ def unattributed_rows(rows: list[SpendLogRow]) -> list[SpendLogRow]: return [row for row in rows if not row.api_key] +@pytest.mark.skip( + reason=( + "LIT-5027: the path under test hangs. The batch rate limiter reads the input file " + "to count tokens by awaiting litellm.afile_content with no timeout, so a slow Files " + "API holds POST /v1/batches open past any client deadline (63.6s observed on stage " + "against a 60s read timeout). The unattributed-spend-row contract below is never " + "reached, so the test reports a timeout rather than the behavior it guards. Unskip " + "once the fetch is bounded." + ) +) def test_rate_limited_batch_create_leaves_no_unattributed_spend_row( client: BatchClient, resources: ResourceManager, batch_deployments: None ) -> None: