-
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
Merged
Merged
Hitless upgrades #3142
Changes from all commits
Commits
Show all changes
49 commits
Select commit
Hold shift + click to select a range
a1ce62a
handle smigrating
nkaradzhov 568f941
first approximation to handling smigrated
nkaradzhov 2fabfd7
deduplicate notifications based on sequence id
nkaradzhov 5bd24c0
add slotnumber to commands
nkaradzhov a32a26d
add support for extracting commands from queue
nkaradzhov aba451b
parse notification
nkaradzhov 93373d4
work on main algo
nkaradzhov fea3ce2
fix: handle string values in push message reply comparison
nkaradzhov d7e9ab9
parse SMIGRATED according to new format
nkaradzhov a9e3504
comply with the new notification structure
nkaradzhov 8c28e8d
refine algo
nkaradzhov f902741
handle pubSubNode replacement
nkaradzhov bf6a8ba
tests: merge all `after` functions into one
nkaradzhov 6b22db5
tests: add `testWithProxiedCluster()` function
nkaradzhov 1041b8f
Update index.ts
nkaradzhov 0bf16ff
tests: add ProxyController for easier proxy comms
nkaradzhov f10adca
fix: access private queue through _self proxy and guard client close …
PavelPashov 0c1c488
test(cluster): add fault injector infrastructure for hitless upgrade …
PavelPashov b70e70e
feat(test-utils): add RE database management and test utilities
nkaradzhov 746de41
fix: fix command queue extraction and prepend logic
PavelPashov 5e54b7d
test: add slot migration tests and refactor proxied fault injector
PavelPashov 23ade08
fix: wait for ALL ports while spawning proxied redis
nkaradzhov 8bba914
fix: handle partial PubSubListeners in resubscribeAllPubSubListeners
nkaradzhov 1abe68c
refactor: maintenance tests and enhance fault injector client
nkaradzhov 8b5c144
refactor: improve SMIGRATED push message parsing and add comprehensiv…
nkaradzhov d406f85
refactor: #handleSmigrated: move source cleanup outside destinations …
nkaradzhov 35f2e14
refactor: add error handling to #handleSmigrated with try-catch-finally
nkaradzhov d5fc530
refactor: replace hardcoded node ID 'asdff' with meaningful smigrated…
nkaradzhov dad734e
fix: merge conflict residuals
nkaradzhov 4ea16f2
refactor: remove extra db deletion
nkaradzhov 1e0cde4
test: iterate over all trigger requirements and improve test naming
nkaradzhov 8e44eea
uncomment tests
nkaradzhov 266b402
test: refactor test naming to use single baseTestName variable with i…
nkaradzhov cbbb21f
remove debug logs
nkaradzhov 85fee03
fix: prevent PubSub subscription loss during cluster maintenance
nkaradzhov a1ae692
Fix PubSub test hangs by awaiting publish batches
nkaradzhov 2d6168d
Fix slot migration hangs during SMIGRATED handling
nkaradzhov 9d56da1
improve FI debug logs
nkaradzhov a8099d5
implement unrelaxation
nkaradzhov f24e98a
chore: delete temp arch files
nkaradzhov 429382f
fix: address PR comments
nkaradzhov 6a1f243
fix: route commands to correct destinations during SMIGRATED handling
nkaradzhov 5fa536a
fix: ensure slotNumber is passed to commands when options is undefined
nkaradzhov 636a171
fix: schedule writes after moving slotless commands to destination node
nkaradzhov 9b77b46
fix: properly emit error event
nkaradzhov 6cfc2f5
fix: make cache check resilient to options object creation
nkaradzhov 6cd61c2
fix: resolve flaky tests
nkaradzhov bac70ef
feat: enable test filtering
nkaradzhov 32179b4
docs: add usage comment to smart-client-handoffs-oss.e2e.ts
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 |
|---|---|---|
|
|
@@ -9,3 +9,4 @@ dump.rdb | |
| documentation/ | ||
| tsconfig.tsbuildinfo | ||
| junit-results/ | ||
| *.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
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.
Uh oh!
There was an error while loading. Please reload this page.