-
Notifications
You must be signed in to change notification settings - Fork 207
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
chore(acceptance-price-feeds): make sure old vats are quiescent and vaults receive quotes #10334
base: master
Are you sure you want to change the base?
Conversation
…aults receive quotes Refs: #9928 Refs: Agoric/BytePitchPartnerEng#25 fix: lint fixes Refs: Agoric/BytePitchPartnerEng#25
Deploying agoric-sdk with Cloudflare Pages
|
…js` to the changes `priceFeed.test.js` introduces Refs: Agoric/BytePitchPartnerEng#25 Refs: #9928 fix: clear unused code fix: prettier fix
c3b30ff
to
cbee1a5
Compare
Hey @Chris-Hibbert , so sorry about tagging you in the wrong PR. I was trying something out in the CI over there and forgot to remove the tag. I’ll answer above comment here. Basically I wasn’t aware of #9595. I think we need a way to improve how we can avoid duplicate work. I’m open to suggestions @LuqiPan @otoole-brendan . Assuming that this PR doesn’t add anything on top of #9595 in terms of measuring quiescent vats, what do you think can be tested in |
From my quick eyeballing of this PR and #9595, it seems to me that there's still value in this PR as this PR provides tests that can be run via CI automatically. Did I misunderstand the difference? |
No, you didn't misunderstand anything. In #9595, I don't see how the measurement happens or which vats active/inactive. The difference is this PR does not measure if abandoned vats keeps growing in terms of space usage(I believe #9595 Measuring the activity of abandoned vats is the only thing I can think of related to price feed functionality that are not already tested in Above is the variables and where we've ended up on reflecting |
I can see that this is an interesting second approach to ensuring that the abandoned vats are indeed quiescent, but it doesn't seem useful as a regression test to be kept around until we kill those vats. The interesting question about continuing activity on-chain has to do with the way the Oracles behave and how the chain responds, and this doesn't help with that question. My suggestion would be to say it was a helpful observation, but I don't think there's net positive value in merging it. |
closes: https://github.com/Agoric/BytePitchPartnerEng/issues/25
refs: #9928
Description
#10074 replaced existing
priceFeeds
andscaledPriceAuthorities
with new ones that should be more efficient in terms of space usage. However, terminating those old vats is a problem that hasn't been solved as described in #9483. So it is important to make sure those old vats are actually quiescent. We also need to make sure we are able to produce quotes successfully. In this PR we are addressing these concerns.Security Considerations
None.
Scaling Considerations
None.
Documentation Considerations
None.
Testing Considerations
Regarding observing vat details there are 2 assumptions we are relying on;
#9928 talks about making sure auctions receive quotes. That is no tested here due to the high fidelity of testing auctions. The auctions features are tested #10229 so I believe there will be comprehensive coverage when it is merged.
Upgrade Considerations
None.
Help from reviewers
#10074 introduced new price feeds to the system. However,
f:replace-price-feeds
does not activate oracles for future layers of the build. Meaning, proposals running afterf:replace-price-feeds
will not have oracles that received invitationMakers for new price feeds and there will not be quotes published by new price feeds. There are conflicting work to fix this issue, see;use
phase off:replace-price-feeds
#10296use
phase off:replace-price-feeds
#10296 (review)As a work around I've implemented an
init
method that runs duringtest.before
to set the stage before we start testing new price feeds. I could use some guidance from you guys how to proceed from here. One option I can think of is to haveinit
work conditionally.Please let me know what you think @dckc @turadg @Chris-Hibbert