Conversation
|
Warning Review limit reachedNext included review available in 46 minutes. View limit detailsLimit details: You’ve used all 2 included reviews currently available. You've used all free OSS reviews for now. Wait for the free limit to reset to keep reviewing this public repository. Review configuration: ⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Advanced Run ID: 📒 Files selected for processing (4)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
Codex Review SummaryThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: ba8e49a87c
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
| } else { | ||
| getLogger().severe("Pending vote admission is full; vote was rejected instead of expanding durable recovery for " | ||
| + MinecraftUsernameValidator.sanitizeForLog(player)); | ||
| } | ||
| return; |
There was a problem hiding this comment.
Retain overflow votes instead of discarding them
When 4,096 votes remain pending—for example, while scheduler callbacks are being rejected—VoteEventBungee.onVote has already received the next Votifier event, but this branch returns without processing or persisting it and cannot signal backpressure to the sender. The vote and its rewards are therefore permanently lost; the identical Velocity branch has the same regression. Keep overflow within a bounded ownership mechanism that durably retains admitted events rather than merely logging and discarding them.
AGENTS.md reference: AGENTS.md:L183-L189
Useful? React with 👍 / 👎.
|
Closing because rejecting at this callback cannot provide sender backpressure: Votifier has already accepted the event, so queue saturation would silently lose the vote. A future fix needs bounded durable ownership with stable vote IDs, and any true refusal/retry guarantee requires an acknowledgement-capable ingress contract. |
Summary
retainIncomingVoteForRestart()or schedule durable replayWhy
The durability fallback added for lifecycle safety bypassed the only bounded admission limit. Once
PendingIncomingVoteQueuefilled, each additional accepted event could create a fresh durable timed-vote row, allowing memory/database/disk growth to continue without a shared cap.Failing closed is preferable here: under extreme overload, newly arriving votes may be lost, but the proxy cannot turn the bounded queue into an unbounded durable resource-exhaustion path.
Security
Compatibility
Validation
Source-level review completed against current master. GitHub Actions run #1435 passed the full Maven build.