Skip to content
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

Make runner compatible with wide range of SDK revisions #37

Merged
merged 5 commits into from
Jan 17, 2022

Conversation

mhofman
Copy link
Member

@mhofman mhofman commented Nov 24, 2021

When I started regenerating the corpus of stats, I realized that the runner and loadgen did not run correctly against both older and newer SDK revisions (I was working against a somewhat outdated version).

In particular:

  • Newer SDKs do not provide sufficient RUN/BLD to pay for Zoe fees and let the loadgen complete multiple cycles
  • When killing the chain while under load (middle of a mailbox delivery), the validator node would stall on restart (Chain node restart hangs if a block containing transactions was interrupted agoric-sdk#4115)
  • The stats of shorter stages would be impacted by increasing setup time that was performed during stage 1, causing these stats to be unreliable

The first issue is fixed by provisioning and starting the local-solo manually, which required hooking into the cli to figure out the right path to use across revisions.

The second issue is addressed by winding down the loadgen before shutting everything down. The issue has since been fixed in the agoric-sdk (Agoric/agoric-sdk#4116), but the workaround is left for older revisions, and is made configurable if we want to test for regressions.

For the last issue, the default config moves the wallet and loadgen deployments to stage 0, which is now truly a full setup stage.

As always, best reviewed commit-by-commit.

Stacks on top of the stats work (#36).

@mhofman mhofman requested a review from michaelfig November 24, 2021 23:20
@mhofman mhofman mentioned this pull request Nov 24, 2021
Copy link
Member

@michaelfig michaelfig left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM!

Straightforward, but lots of details. I tried mainly to make sure your way of starting up the chain and provisioning matched with my understanding, which it does.

await fs.stat(name);
return true;
} catch (e) {
return false;
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I would mildly prefer:

Suggested change
return false;
if (e.code === 'ENOENT') {
return false;
}
throw e;

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@mhofman mhofman force-pushed the mhofman/runner-compat-fixes branch from bc973f6 to 6b1e31e Compare January 8, 2022 03:11
@mhofman mhofman force-pushed the mhofman/add-stats branch from 4d96e29 to 541e6a8 Compare January 8, 2022 03:11
@mhofman mhofman force-pushed the mhofman/runner-compat-fixes branch 2 times, most recently from b2b3005 to dbf3f59 Compare January 8, 2022 03:22
Base automatically changed from mhofman/add-stats to mhofman/preliminary-runner-refactors January 17, 2022 21:59
@mhofman mhofman changed the base branch from mhofman/preliminary-runner-refactors to main January 17, 2022 22:03
@mhofman mhofman force-pushed the mhofman/runner-compat-fixes branch from dbf3f59 to 1e66f9e Compare January 17, 2022 22:13
@mhofman
Copy link
Member Author

mhofman commented Jan 17, 2022

@michaelfig I addressed your feedback in ec62441 and made a small further change in 1e66f9e.

Will carry your previous approval, squash and merge.

@mhofman mhofman force-pushed the mhofman/runner-compat-fixes branch from 1e66f9e to 2e870bc Compare January 17, 2022 22:16
@mhofman mhofman merged commit 4623f64 into main Jan 17, 2022
@mhofman mhofman deleted the mhofman/runner-compat-fixes branch January 17, 2022 22:23
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants