-
Notifications
You must be signed in to change notification settings - Fork 212
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
feat: robustify allManagersDo #9833
Conversation
Deploying agoric-sdk with Cloudflare Pages
|
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.
maybe add a tiny bit of docs?
@@ -82,6 +82,18 @@ const trace = makeTracer('VD', true); | |||
|
|||
const shortfallInvitationKey = 'shortfallInvitation'; | |||
|
|||
// exported for testing | |||
export const makeAllManagersDo = (collateralManagers, vaultManagers) => { |
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.
swallowing errors like this seems unusual enough to merit a comment
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.
done. I also added a red flashing light 🚨
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.
Should this be yellow? we seem to be recovering from it.
But I guess it does indicate a bug - a "this should never happen" situation, not just some client mis-behaving or something. So ok, yes, red.
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.
Should this be yellow? we seem to be recovering from it.
We recover from the loop, but we don't do anything about the individual vaultManager that died while setting up liquidations or locking prices. I think that's mostly okay because it will get another opportunity the next time around, but if one manager keeps failing, it should get attention.
I have no objection, but I can't think of an appropriate place to write more. What did you have in mind? Is this just the comment on the function that you requested? |
yes. |
closes: #9706 ## Description make `allManagersDo` robust to errors thrown by one vaultManager ### Security Considerations Prevent issues in one vaultManager from blocking progress in others. This would affect liquidation and locking oracle prices for upcoming liquidation auctions. ### Scaling Considerations Doesn't add work. ### Documentation Considerations Not user visible ### Testing Considerations added a tiny unit test. ### Upgrade Considerations added robustness shouldn't impact upgrade.
closes: #9706 ## Description make `allManagersDo` robust to errors thrown by one vaultManager ### Security Considerations Prevent issues in one vaultManager from blocking progress in others. This would affect liquidation and locking oracle prices for upcoming liquidation auctions. ### Scaling Considerations Doesn't add work. ### Documentation Considerations Not user visible ### Testing Considerations added a tiny unit test. ### Upgrade Considerations added robustness shouldn't impact upgrade.
closes: #9706
Description
make
allManagersDo
robust to errors thrown by one vaultManagerSecurity Considerations
Prevent issues in one vaultManager from blocking progress in others. This would affect liquidation and locking oracle prices for upcoming liquidation auctions.
Scaling Considerations
Doesn't add work.
Documentation Considerations
Not user visible
Testing Considerations
added a tiny unit test.
Upgrade Considerations
added robustness shouldn't impact upgrade.