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

Increase maxPerformDataSize for maxObservation, maxOutcome size #292

Merged
merged 3 commits into from
Nov 27, 2023

Conversation

infiloop2
Copy link
Collaborator

@infiloop2 infiloop2 commented Nov 27, 2023

maxPerformDataSize was increased to 10000 from 5000, it breaks current maxObservation and maxOutcome sizes

  • For maxObservationSize, I had to reduce the number of allowed upkeeps instead of increasing observation size as libocr puts a limit of 1Mb. This should be ok when new nodes will send less number of upkeeps that old nodes should be able to parse. however on new nodes we do validations on number of performables from old nodes' observations, which will break if it goes above 50. Our current plan is that we don't expect it will be hit in prod during upgrade.

  • For maxOutcomeSize, i could increase it to fit the given upkeeps. This should also be ok as it increases max outcome size, old nodes outcome would still be valid. If new nodes outcome size increases 2Mb, then old nodes won't be able to handle it but that was broken anyway

A more robust solution is to calculate this limit dynamically but that is considerably more involved. created auto-7597 for it

Test Plan: Will rely on existing CI tests and node upgrade tests, with known expectation that upgrade will fail if there are more than 50 upkeeps eligible per second during upgrade

// which is guaranteed onchain
MaxOutcomeLength = 2_000_000
MaxOutcomeLength = 2_500_000
Copy link
Collaborator Author

Choose a reason for hiding this comment

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

this is a smaller change than 2x because

  1. there was existing margin
  2. there is a component of proposals in outcome that didn't scale according to performData

@infiloop2 infiloop2 changed the title Increase maxPerformDataSize for maxObservation, maxOutcome size Increase maxPerformDataSize for maxObservation, maxOutcome size (2.7.2) Nov 27, 2023
@infiloop2 infiloop2 changed the title Increase maxPerformDataSize for maxObservation, maxOutcome size (2.7.2) Increase maxPerformDataSize for maxObservation, maxOutcome size Nov 27, 2023
@infiloop2 infiloop2 merged commit 73c9bf5 into main Nov 27, 2023
5 checks passed
@infiloop2 infiloop2 deleted the auto-7596 branch November 27, 2023 16:43
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