Skip to content

[client][rust] Retry bootstrap initialization on retriable errors#3758

Merged
fresh-borzoni merged 1 commit into
apache:mainfrom
slfan1989:fluss-3744
Jul 24, 2026
Merged

[client][rust] Retry bootstrap initialization on retriable errors#3758
fresh-borzoni merged 1 commit into
apache:mainfrom
slfan1989:fluss-3744

Conversation

@slfan1989

Copy link
Copy Markdown
Contributor

Purpose

Linked issue: close #3744

The Rust client currently fails immediately when initialization against a single bootstrap server encounters a temporary retriable error.

This change aligns the Rust client with the Java client by retrying bootstrap initialization when the configured bootstrap server is temporarily unavailable or recovering.

Brief change log

  • Retry initialization for a single bootstrap server on retriable errors.
  • Perform up to three retries with exponential backoff of 100 ms, 200 ms, and 400 ms.
  • Evict the cached RPC connection before each retry so that the next attempt establishes a fresh connection.
  • Return non-retriable errors immediately without retrying.

Tests

Added unit tests.

API and Format

This change does not affect the public API or storage format.

Documentation

No documentation changes are required.

@fresh-borzoni fresh-borzoni 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.

@slfan1989 Thank you for the PR, LGTM 👍

@fresh-borzoni
fresh-borzoni merged commit ea37c95 into apache:main Jul 24, 2026
13 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Rust client should retry bootstrap initialization on retriable errors

2 participants