Repository navigation
Conversation
Back off historical writes rejected by the request queue using the existing per-bucket throttle. Clear stale partition ID mappings when a metadata refresh reports a missing partition, allowing queued writes to reroute or fail instead of repeatedly targeting an expired partition. Co-Authored-By: Codex <noreply@openai.com> AI-Model: gpt-6 AI-Contributed/Feature: 9/9 AI-Contributed/UT: 75/75
Contributor
There was a problem hiding this comment.
🟢 Approval recommended
The changes correctly address both retry-loop causes with focused regression coverage.
0 open findings
What changed in this PR
Adds retry backoff and stale metadata invalidation for historical partition writes.
Changes:
- Applies per-bucket throttling to historical write rejections.
- Clears cached partition metadata before confirming deletion.
- Adds regression coverage for throttling and rerouting.
| File | Description |
|---|---|
Sender.java |
Handles historical throttling and stale partition IDs. |
SenderTest.java |
Tests backoff timing and metadata invalidation. |
🧠 Review effort: Balanced
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
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
Historical writes can retry rapidly when the historical request queue is full. When an original partition expires during a write, a cached partition ID can also prevent the writer from confirming that the partition is gone, causing repeated requests for the stale target.
Brief change log
HISTORICAL_PARTITION_THROTTLEDresponses.__historical__, while unsafe in-flight writes fail as before.Tests
./mvnw test -pl fluss-client -am -Dtest=SenderTest -Dsurefire.failIfNoSpecifiedTests=false(43 tests passed; reactor Checkstyle and Spotless passed)../mvnw spotless:check -pl fluss-clientpassed.git diff --checkpassed.API and Format
No API or storage format changes. The backoff uses the existing
client.writer.kv-backpressure.max-throttlesetting.Documentation
No new user-facing option or feature.