Skip to content

fix(core): cap retries for unprocessed requests in addRequestsBatched#3765

Merged
B4nan merged 1 commit into
masterfrom
fix/3764-unprocessed-requests-infinite-retry
Jun 22, 2026
Merged

fix(core): cap retries for unprocessed requests in addRequestsBatched#3765
B4nan merged 1 commit into
masterfrom
fix/3764-unprocessed-requests-infinite-retry

Conversation

@B4nan

@B4nan B4nan commented Jun 19, 2026

Copy link
Copy Markdown
Member

What & why

RequestProvider.addRequestsBatched retried unprocessedRequests via a recursive helper with no retry limit. When the request queue permanently rejects a request — e.g. a 400 from the platform batch-add API for a malformed userData shape — the same request kept coming back as unprocessed, so the recursion never terminated and the crawler hung forever with no actionable error.

Fix

Bound the recursion to a small number of consecutive no-progress attempts (MAX_UNPROCESSED_REQUESTS_RETRIES = 3). Once exhausted, the remaining unprocessed requests are skipped and a warning is logged pointing at the likely cause. Any progress (some requests accepted) resets the counter, so transient backpressure is still retried as before.

Closes #3764

When the request queue permanently rejects a request (e.g. a 400 from the
platform batch-add API for a malformed `userData` shape), the recursive
helper kept resubmitting the unprocessed requests forever, hanging the
crawler with no actionable error.

Bound the recursion to a small number of consecutive no-progress attempts;
once exhausted, the remaining unprocessed requests are skipped with a
warning. Any progress resets the counter so transient backpressure is still
retried.

Closes #3764
@github-actions github-actions Bot added this to the 143rd sprint - Tooling team milestone Jun 19, 2026
@github-actions github-actions Bot added t-tooling Issues with this label are in the ownership of the tooling team. tested Temporary label used only programatically for some analytics. labels Jun 19, 2026
@B4nan B4nan added the adhoc Ad-hoc unplanned task added during the sprint. label Jun 19, 2026
@B4nan B4nan requested a review from barjin June 22, 2026 10:27

@barjin barjin left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

lgtm, thank you @B4nan

@B4nan B4nan merged commit b3170a6 into master Jun 22, 2026
9 checks passed
@B4nan B4nan deleted the fix/3764-unprocessed-requests-infinite-retry branch June 22, 2026 12:09
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

adhoc Ad-hoc unplanned task added during the sprint. t-tooling Issues with this label are in the ownership of the tooling team. tested Temporary label used only programatically for some analytics.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Crawler hangs forever when given malformed request input (e.g. invalid userData shape)

3 participants