Repository navigation
Hold the consumer semaphore while a replace reverts upsert metadata #19817
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Open
deepthi912
wants to merge
6
commits into
apache:master
Choose a base branch
from
deepthi912:upsert/expose-parallel-consumption-policy
base: master
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
+31
−11
Open
Changes from all commits
Commits
Show all changes
6 commits
Select commit
Hold shift + click to select a range
48a9c4f
Exclude pauseless tables from upsert consistency during consumption
deepthi912 8f6ad65
Hold the consumer semaphore when the replace reverts upsert metadata
deepthi912 7406c74
Drop the unrelated comment rewrap from BasePartitionUpsertMetadataMan…
deepthi912 088163f
Hold the consumer semaphore through the build too, and for dedup tables
deepthi912 83e4d27
Trim the holdsConsumerSemaphoreForMetadata() comment to what the code…
deepthi912 6d02713
Cut the semaphore hold comment to two lines
deepthi912 File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
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
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
Oops, something went wrong.
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.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
[P1] Preserve the download barrier for pauseless partial upsert
This predicate also controls
RealtimeSegmentDataManager.getParallelConsumptionPolicy(). For pauseless partial-upsert tables with no explicit policy and the legacy allow-during-commit flag disabled, returning false changes the default fromALLOW_DURING_BUILD_ONLYtoALLOW_ALWAYS.A lagging replica can take the direct-download path before any local build, for example in
DOWNLOADcompletion mode. It now releases the consumer semaphore before loading the committed predecessor. If the local value is 10 but the committed predecessor contains 15, the successor can consume an increment of 1 and store 11 instead of 16. Loading the predecessor afterward cannot repair the newer merged record because its comparison value is older. Startup readiness and predecessor registration do not block this interleaving on an already-running table.Please preserve the original table-type classification for policy selection and apply the pauseless exclusion separately to revert eligibility and previous-location tracking.