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

[First Protocol HCU] Benchnet Testing #6849

Open
5 of 6 tasks
jordanschalm opened this issue Jan 6, 2025 · 0 comments
Open
5 of 6 tasks

[First Protocol HCU] Benchnet Testing #6849

jordanschalm opened this issue Jan 6, 2025 · 0 comments
Assignees
Labels
Integration testing Protocol Team: Issues assigned to the Protocol Pillar.

Comments

@jordanschalm
Copy link
Member

jordanschalm commented Jan 6, 2025

Problem Definition

This issue enumerates test cases for testing the Protocol HCU / Upgrade process on Benchnet, defined here.

Test Cases - Protocol HCU Upgrade Process

  • A. Test with n>=2 ENs running sv2, m=1 ENs running sv1 when ProtocolStateVersionUpgrade is emitted
    • ENs running sv1 will produce an inconsistent receipt. Since we require 2 consistent receipts for sealing, we should tolerate <=1 EN running sv1.
    • We should make sure (e.g. by temporarily halting the ENs with sv2) that this test would fail in case 1 receipt is sufficient for sealing.
    • Expected outcome: Upgrade succeeds, EN running sv1 halts after upgrade
    • Test Notes 1
  • B. Test with n consensus nodes, m consensus nodes running sv1 when ProtocolStateVersionUpgrade is emitted while m consensus nodes run sv2, with m << n
    • Expected outcome: SNs running sv1 should halt when the upgrade occurs; upgrade should succeed.
  • C. Test with >0 collection/verification nodes running sv1 when ProtocolStateVersionUpgrade is emitted
    • Expected outcome: LN/VNs running sv1 should halt when upgrade occurs; upgrade should succeed
    • Test Notes
  • D. Test with an insufficient number of verification nodes running sv2 when ProtocolStateVersionUpgrade is emitted, so that happy-path sealing cannot continue
    • Expected outcome: upgrade should succeed and emergency sealing should keep the network alive
    • Test Notes
  • E. Test running mix of sv1/sv2 for several epochs before ProtocolStateVersionUpgrade is emitted
  • F. Test upgrading contracts (step 4) multiple epochs after ProtocolStateVersionUpgrade is emitted (and after upgrade actually occurs)
    • Expected outcome: epoch transitions succeed (sv2 is backward-compatible) and eventual upgrade succeeds
    • Test Notes
@jordanschalm jordanschalm added Integration testing Protocol Team: Issues assigned to the Protocol Pillar. labels Jan 6, 2025
@jordanschalm jordanschalm self-assigned this Jan 6, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Integration testing Protocol Team: Issues assigned to the Protocol Pillar.
Projects
None yet
Development

No branches or pull requests

1 participant