-
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
feat: upgrade v7-board and test it #10516
Conversation
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.
It seems "restarting it should clean up a fair amount of space." is not mentioned in the test plan of #10394
Would you please clarify that this is on purpose? Do we have other plans (mainfork?) for testing that?
|
||
const { adminNode } = await E(vatStore).get('board'); | ||
|
||
await E(adminNode).upgrade(boardBundleCap, {}); |
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.
I suggest logging completion of upgradeBoard
.
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
Sorry, I wrote "restarting it should clean up a fair amount of space. ...checking", meaning that I intend to see if approaches like I used in #9595 would show some improvement. I'll do that next. |
Well I get a count of 422 before in
I don't know what objects are soaking up space on mainnet, but they're not in evidence here. @mhofman @warner Is there anything else worth checking in |
Deploying agoric-sdk with Cloudflare Pages
|
Well, we did a bunch of measuring, and ran a lot of tests, but were unable to replicate the issue from MainNet. The code in a3p-integration stubbornly refused to allocate and retain the excess objects that we see on mainNet, so the tests don't show that this upgrade reclaims the space. The requirement to upgrade the vat is independent of addressing this issue, so I'd like to move forward with the upgrade, and return to the other issue when we have a better theory about how to replicate the problem. |
I asked about the relevant issue for that. You suggested that... ... is in the neighborhood. Yes, I see it discusses a |
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.
I'm not confident that I'm reading this correctly.
A bit of voice discussion might help.
cp /usr/src/upgrade-test-scripts/eval_submission.js . | ||
|
||
#echo RUNNING ./eval_submission.js | ||
#./eval_submission.js |
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.
Is execution of ./eval_submission.js
commented out on purpose?
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.
Nope. I cleaned up other parts of the file while I was here.
const same = | ||
idsBefore.length === idsAfter.length && | ||
idsBefore.every((element, index) => element === idsAfter[index]); | ||
assert(same, 'keys must stay the same'); |
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.
Is this a test assertion? Or is it intended to run in production?
If it fails, we know there's a problem, but the damage is already done, right?
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.
The same proposal with this assertion will run in production as on our test networks. If it succeeds in tests, we'll have confidence that it will succeed in production.
Would you suggest logging the result rather than asserting it?
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.
So it's in prod by design. Ok.
import { evalBundles } from '@agoric/synthetic-chain'; | ||
|
||
test('test upgraded board', async t => { | ||
await evalBundles('submission'); |
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.
what bundles does this refer to? a comment might help readers like me that don't have this API swapped in
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
@@ -3,7 +3,7 @@ import { getManifestForReplaceFeeDistributor } from '@agoric/inter-protocol/src/ | |||
|
|||
/** @type {import('@agoric/deploy-script-support/src/externalTypes.js').CoreEvalBuilder} */ | |||
export const defaultProposalBuilder = async (_, opts) => { | |||
console.log('OPTS', opts); | |||
console.log('feeDist OPTS', opts); |
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.
what's this -short.js
file for? a @file
comment would be nifty
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.
added a comment.
const thing1Id = await E(board).getId(thing1); | ||
assert(thing1Id.match(/^board0[0-9]+$/)); | ||
|
||
// /////// can we retrieve something stored long ago? //////// |
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.
what is the thing stored long ago that we're retrieving?
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.
The brand. The comment was displaced from its subject.
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.
OK. I get it now. Looks good.
babdddd
to
cf00b9a
Compare
closes: #10394
Description
Upgrade v7-board.
Security Considerations
The Board is a critical vat.
Scaling Considerations
v7-Board is consuming more resources than it should. restarting it should clean up a fair amount of space. ...checking
Documentation Considerations
None
Testing Considerations
Verify that the board doesn't lose anything.
Upgrade Considerations
Can go out in Upgrade 19.