-
-
Notifications
You must be signed in to change notification settings - Fork 107
fix: add update fallback propagation #2063
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
Conversation
|
@claude Please review PR |
|
Claude finished @sanity's task —— View job PR Review: fix: add update fallback propagationI've reviewed the changes in this PR. Here's my comprehensive analysis: Summary of ChangesThis PR implements three main improvements:
Detailed Review by File
|
|
Addressed Claude's review points:
Tests: |
crates/core/src/operations/update.rs
Outdated
| .ring | ||
| .closest_potentially_caching(key, skip_peers.as_slice()) | ||
| .or_else(|| { | ||
| op_manager |
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.
why does this make a difference? if we get no closest_potentially_caching why we would get anything calling call k_closest_potentially_caching?
|
What is the end goal of this PR? If we are pushing an update to a peer which is not subscribed to it what will happen? Won't the update be ignored anyway? Are we caching preemptively on that peer receiving the update? Is the goal so update op does not return an error so the client applications will be receiving a positive result for the update? If so, this seems a very complicated way of achieving that, just mark the op as completed and return a message so it will be picked by the client apps waiting for responses and be done with it. |
|
[Codex] @iduartgomez you were right to be skeptical about the GET-based fallback. I reverted those changes so UPDATE now behaves like the rest of the routing ops again: if we cannot reach a peer that already has the contract, we surface Could you take another look at this simplified version and confirm it matches the original intent? Tests: |
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.
Can you explain why order was changed here? What is fixed this way?
|
let's rebase on main so we only see this pr changes |
|
@claude try to rebase on main, prefer main changes |
|
Claude finished @iduartgomez's task —— View job Rebasing PR onto mainI'm unable to complete this request due to permission limitations. What I tried
Issue encounteredGit rebase operations require additional approval that I don't currently have access to. Additionally, rebasing typically requires a force-push to update the remote branch, which is outside my capabilities for security reasons. How to proceedYou'll need to perform the rebase manually. Here are the commands: # Fetch the latest main
git fetch origin main
# Rebase onto main, preferring main's changes in conflicts
git rebase origin/main -X theirs
# If there are conflicts that can't be auto-resolved:
# - Resolve them manually
# - Use: git add <resolved-files>
# - Continue with: git rebase --continue
# Force push the rebased branch (required after rebase)
git push origin stack/update-fallback --force-with-leaseThe Alternative approachIf you prefer not to rebase, you could merge main into this branch instead: git fetch origin main
git merge origin/main -X theirs
git push origin stack/update-fallbackThis wouldn't require a force-push and I could help with that if you'd like. |
c3fdf36 to
e161690
Compare
Summary
Testing