Repository navigation
Conversation
Route tiering table assignments by the configured table and service group. Keep group changes asynchronous, preserve default-group compatibility, and expose per-group tiering metrics.
litiliu
marked this pull request as ready for review
October 20, 2026 14:36
Contributor
Author
|
Hi @polyzos, CI is green and this PR is ready for review. Could you take a look when you have a chance? It adds group-aware tiering table assignment with Flink-to-Paimon end-to-end coverage. Thanks! |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Purpose
Linked issue: close #3789
Allow operators to assign tables to separate tiering services so workloads with different resource or freshness requirements can be scaled independently. Services in the same group continue to share work.
Brief change log
table.datalake.tiering-groupand service option--fluss.tiering.group, both defaulting todefault, with shared group-name validation.Tests
Passed 61 unique targeted test cases on the revised implementation:
TableConfigTest,TableDescriptorValidationTestServerConnectionTestLakeTableTieringManagerTest,LakeTieringHeartbeatITCaseTieringSourceEnumeratorSchedulingTest,FlussLakeTieringTestPaimonTieringITCase#testTieringWithGroupsand the existingtestTieringend-to-end caseThe affected modules passed Maven
verify, including Spotless, Checkstyle, and validation checks. The Paimon cases were built with their full dependency reactor on JDK 17, repeated six times per case including reversed method order, and use actual lake commits as synchronization barriers. Temporarily disabling group filtering in an isolated validation copy made the new isolation assertion fail as expected. The full repository test suite has not been run.Rust protobuf regeneration is deterministic with protoc 27.1, and
cargo check --package fluss-rs --lib --locked --offlinepassed.API and Format
Add the optional
tiering_groupfield to the internal lake-tiering heartbeat request and advertise heartbeat protocol version 1 while retaining version 0 support. An absent group meansdefault; non-default group requests are rejected before being sent to an older Coordinator. Storage formats are unchanged.Documentation
Update
website/docs/streaming-lakehouse/tiering-service.mdwith group configuration, dynamic reassignment, default behavior, legacy-table enablement, and upgrade/downgrade guidance.