-
Notifications
You must be signed in to change notification settings - Fork 1.9k
Hitless upgrades #3142
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
Draft
nkaradzhov
wants to merge
40
commits into
redis:master
Choose a base branch
from
nkaradzhov:hitless-upgrades
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.
Draft
Hitless upgrades #3142
Changes from all commits
Commits
Show all changes
40 commits
Select commit
Hold shift + click to select a range
5d84468
handle smigrating
nkaradzhov eab86c1
first approximation to handling smigrated
nkaradzhov fc06af6
deduplicate notifications based on sequence id
nkaradzhov 44e4f02
add slotnumber to commands
nkaradzhov aa56883
add support for extracting commands from queue
nkaradzhov 6e39e00
parse notification
nkaradzhov bb2a8cb
work on main algo
nkaradzhov 71dbdc4
fix: handle string values in push message reply comparison
nkaradzhov 3d55ca4
parse SMIGRATED according to new format
nkaradzhov a5d1b2c
comply with the new notification structure
nkaradzhov aa032d4
refine algo
nkaradzhov 5e13dc4
handle pubSubNode replacement
nkaradzhov 22b2050
tests: merge all `after` functions into one
nkaradzhov 14fefb7
tests: add `testWithProxiedCluster()` function
nkaradzhov 6d73f0e
Update index.ts
nkaradzhov 3ee16fd
tests: add ProxyController for easier proxy comms
nkaradzhov bcbf3fb
fix: access private queue through _self proxy and guard client close …
PavelPashov 013da8e
test(cluster): add fault injector infrastructure for hitless upgrade …
PavelPashov 74c5144
feat(test-utils): add RE database management and test utilities
nkaradzhov 11e8ae6
fix: fix command queue extraction and prepend logic
PavelPashov a7e76cf
test: add slot migration tests and refactor proxied fault injector
PavelPashov 1a92c43
fix: wait for ALL ports while spawning proxied redis
nkaradzhov 9ef9fce
fix: handle partial PubSubListeners in resubscribeAllPubSubListeners
nkaradzhov e19f5c1
refactor: maintenance tests and enhance fault injector client
nkaradzhov b547cb6
refactor: improve SMIGRATED push message parsing and add comprehensiv…
nkaradzhov 4e8e571
refactor: #handleSmigrated: move source cleanup outside destinations …
nkaradzhov fd66749
refactor: add error handling to #handleSmigrated with try-catch-finally
nkaradzhov 34835d1
refactor: replace hardcoded node ID 'asdff' with meaningful smigrated…
nkaradzhov e3589d7
fix: merge conflict residuals
nkaradzhov b9d332e
refactor: remove extra db deletion
nkaradzhov 41af3ef
test: iterate over all trigger requirements and improve test naming
nkaradzhov 85cde4f
uncomment tests
nkaradzhov d0a40e7
test: refactor test naming to use single baseTestName variable with i…
nkaradzhov e4de041
remove debug logs
nkaradzhov 27d153f
fix: prevent PubSub subscription loss during cluster maintenance
nkaradzhov 65c4323
Fix PubSub test hangs by awaiting publish batches
nkaradzhov 491f5d6
Fix slot migration hangs during SMIGRATED handling
nkaradzhov 5b573c9
improve FI debug logs
nkaradzhov e23cff1
implement unrelaxation
nkaradzhov 1852290
chore: delete temp arch files
nkaradzhov 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
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -8,3 +8,4 @@ node_modules/ | |
| dump.rdb | ||
| documentation/ | ||
| tsconfig.tsbuildinfo | ||
| *.log | ||
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.
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.
Do we want to keep
slotNumberin theCommandOptionsor refactor it?