Skip to content

fix(builder): catch transient failures on getStateBuilders - #9868

Merged
nflaig merged 3 commits into
ChainSafe:unstablefrom
markolazic01:fix/catch-fetch-builder-req-timeout
Aug 20, 2026
Merged

nflaig merged 3 commits into
ChainSafe:unstablefrom
markolazic01:fix/catch-fetch-builder-req-timeout

Conversation

@markolazic01

Copy link
Copy Markdown
Contributor

Motivation

@nflaig noticed and reported builder throwing on getStateBuilders request timeout.
Goal of this PR is to catch transient failures, like request timeouts, on getStateBuilders calls.

Description

Handles timeout error and certain kinds of a fetch error as transient failures, letting the fetching process continue.
Contains tests proving that new handling works.

AI Assistance Disclosure

Used Claude to discuss potential solutions, partially help with tests and audit changes.

logger.warn("Failed to fetch builder", {message: e.message});
return null;
}
throw e;

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.

what kind of errors do we wanna throw here?

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.

so it's just if pubkey and index mismatch, I suppose

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

ErrorAborted, builderRes.value() Api errors and FetchError with type "input"

@nflaig nflaig 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, thanks for the fast fix

@wemeetagain

Copy link
Copy Markdown
Member

馃帀 This PR is included in v1.47.0 馃帀

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Archived in project

Development

Successfully merging this pull request may close these issues.

3 participants