-
Notifications
You must be signed in to change notification settings - Fork 684
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
Improve try-state
developer experience & fix bug
#2019
Conversation
bot fmt |
@liamaharon https://gitlab.parity.io/parity/mirrors/polkadot-sdk/-/jobs/4090007 was started for your command Comment |
@liamaharon Command |
Making some devex improvements as I audit our chains adherence to try-state invariants, in preparation for automated try-state checks and alerting. Note to reviewer: while you're here, if you have time would be great to get your eyes on paritytech#1297 also since it touches a similar file and I'd like to avoid merge conflicts :P ## Devex Improvements - Changes the log level of logs informing the user that try-state checks are being run for a pallet from debug to info - Improves how errors are communicated - Errors are logged when they are encountered, rather than after everything has been executed - Exact pallet the error originated from is included with the error log - Clearly see all errors and how many there are, rather than only one - Closes paritytech#136 ### Example of new logs <img width="1185" alt="Screenshot 2023-10-25 at 15 44 44" src="https://github.com/paritytech/polkadot-sdk/assets/16665596/b75588a2-1c64-45df-bbc8-bcb8bf8b0fe0"> ### Same but with old logs (run with RUST_LOG=debug) Notice only informed of one of the errors, and it's unclear which pallet it originated <img width="1185" alt="Screenshot 2023-10-25 at 15 39 01" src="https://github.com/paritytech/polkadot-sdk/assets/16665596/e3429cb1-489e-430a-9716-77c052e5dae6"> ## Bug fix When dry-running migrations and `checks.try_state()` is `true`, only run `try_state` checks after migrations have been executed. Otherwise, `try_state` checks that expect state to be in at a HIGHER storage version than is on-chain could incorrectly fail. --------- Co-authored-by: command-bot <>
Making some devex improvements as I audit our chains adherence to try-state invariants, in preparation for automated try-state checks and alerting.
Note to reviewer: while you're here, if you have time would be great to get your eyes on #1297 also since it touches a similar file and I'd like to avoid merge conflicts :P
Devex Improvements
Example of new logs
Same but with old logs (run with RUST_LOG=debug)
Notice only informed of one of the errors, and it's unclear which pallet it originated
Bug fix
When dry-running migrations and
checks.try_state()
istrue
, only runtry_state
checks after migrations have been executed. Otherwise,try_state
checks that expect state to be in at a HIGHER storage version than is on-chain could incorrectly fail.