Skip to content

[client] Allow bootstrap endpoint with unknown server type#622

Open
fxbing wants to merge 1 commit into
apache:mainfrom
fxbing:feature/20260615-unknown-bootstrap-server-type
Open

[client] Allow bootstrap endpoint with unknown server type#622
fxbing wants to merge 1 commit into
apache:mainfrom
fxbing:feature/20260615-unknown-bootstrap-server-type

Conversation

@fxbing

@fxbing fxbing commented Jun 15, 2026

Copy link
Copy Markdown

Purpose

Linked issue: close #621

Allow the Rust client to bootstrap from either coordinator or tablet server endpoints after server type validation is enabled.

Brief change log

  • Add ServerType::Unknown for bootstrap seed nodes.
  • Use ServerType::Unknown when creating the initial bootstrap ServerNode.
  • Skip server type validation only when the expected type is Unknown.
  • Add unit coverage for unknown expected server type.
  • Update Elixir binding server type mapping for the new variant.

Tests

  • cargo fmt --all -- --check
  • PROTOC=/opt/homebrew/bin/protoc cargo test -p fluss-rs --lib server_type_validation
  • PROTOC=/opt/homebrew/bin/protoc cargo test -p fluss-rs --lib
  • PROTOC=/opt/homebrew/bin/protoc cargo clippy --all-targets --workspace -- -D warnings

API and Format

This adds a public ServerType::Unknown enum variant. It does not change the wire protocol or storage format.

Documentation

No user-facing documentation change.

@leekeiabstraction leekeiabstraction left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Thank you for your first contribution and improving the client! Left a question.

)
.is_ok()
);
assert!(

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Should a simple integration test case be made in existing IT testing with unknown type/bootstrapping against tablet server?

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.

[client] Bootstrap should not require a coordinator server endpoint

2 participants