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

test that v48-vaultFactory re-subscribes to timer when v48-vaultFactory is upgraded #8728

Closed
warner opened this issue Jan 9, 2024 · 0 comments · Fixed by #9283
Closed

test that v48-vaultFactory re-subscribes to timer when v48-vaultFactory is upgraded #8728

warner opened this issue Jan 9, 2024 · 0 comments · Fixed by #9283
Assignees
Labels
contract-upgrade enhancement New feature or request Inter-protocol Overarching Inter Protocol

Comments

@warner
Copy link
Member

warner commented Jan 9, 2024

As part of #8499 (comment) (look for v5-timer-v23-feedistributor-v48-vaultfactory), we're investigating how v48-vaultFactory will react when it is upgraded, in particular whether it will re-follow the timer service notifiers it uses.

v48-vaultFactory has code which talks to the timer service and creates a notifier during helper.start(). The timer service provides durable notifiers, and this subscriber code correctly uses observeNotifier to react to vat-timer being upgraded (and the individual promises being disconnected). The remaining important property is that the subscribing code (in v48-vaultFactory) correctly handles itself being upgraded, by re-subscribing or restarting the timer notifier.

It looks like this is designed to happen correctly, by virtue of helper.start being called by provideAndStartVaultManagerKits, in a loop which suggests that all existing kits will be restarted when v48-vaultFactory is upgraded. This is probably called from prepare, which indicates the contract is designed for upgrade.

(I suspect this is all working, but if not, it would be a blocker to upgrading v5-timer. Someone who knows what is tested and what is not may be able to trivially close this ticket)

The task is to test this tolerance of upgrading v5-timer, probably through a3p:

  • set up a vault factory, which will establish the timer loop
  • upgrade the vault factory
  • assert that the vault factory has re-subscribed to the timer service
    • perhaps by allowing time to advance and then observing the vault factory reacting to the passage of time correctly
@warner warner added enhancement New feature or request Inter-protocol Overarching Inter Protocol contract-upgrade labels Jan 9, 2024
@warner warner changed the title test that v48-vaultFactory re-subscribes to timer when v48-vauitFactory is upgraded test that v48-vaultFactory re-subscribes to timer when v48-vaultFactory is upgraded Jan 9, 2024
@mergify mergify bot closed this as completed in #9283 May 6, 2024
@mergify mergify bot closed this as completed in 24f7f32 May 6, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
contract-upgrade enhancement New feature or request Inter-protocol Overarching Inter Protocol
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants