You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
As part of #8499 (comment) (look for v5-timer-v23-feedistributor-v48-vaultfactory), we're investigating how v23-feeDistributor will react when the upstream v5-timer is upgraded.
v23-feeDistributor has code which talks to the timer service and creates a notifier during startDistributing. 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).
(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:
setup a feeDistributor vat, which will establish the timer loop
upgrade v5-timer
assert that the feeDistributor has re-subscribed to the timer service
perhaps by allowing time to advanace and then observing the feeDistributor reacting to the passage of time correctly
The text was updated successfully, but these errors were encountered:
…or, stage in upgrade.go (#10453)
closes: #10393
refs: #8730
## Description
There is an on going work for making sure all vats must either be upgradable or replaceable safely. In this PR we are focusing on `feeDistributor` for that. As per #8730, we also want to have tests for `feeDistributor` that checks it works properly after a `vat-timer` is upgraded.
### Security Considerations
I can' think of any threats that can come out of `feeDistributor` to cause any system level harm. As it's only job is to collect fees from `vaultFactory` and send it to `reserve`.
### Scaling Considerations
Making sure the old `feeDistributor` is not collecting fees from the `vaultFactory` is important but I believe to free resources we need to terminate the old instance.
### Documentation Considerations
None.
### Testing Considerations
Here's the testing scenario implemented;
* Write a proposal code where `collectionInterval` is parameterized
* Have two scripts originating from the proposal created above. One for testing and one for staging
* Test script’s collectionInterval = 5 seconds
* Staging script’s collectionInterval = 1 hour
* Staging script is placed in `upgrade.go`
* Testing script is built as a submission in `p:upgrade-19`
* In `TEST` phase of `p:upgrade-19`, this script will override whatever already exists in the bootstrap environment.
When testing new `feeDistributer`
* Open a few vaults
* Use syncTools to wait until `reserve` balance increases
#### Note
In the original test plan, there was this sentence: "Get the new instance’s terms from zoe and make sure its `collectionInterval` is correct"
Which I ended up not implementing because it's not possible to get `zoe` in `a3p` and trying to test this using a core-eval seemed like an anti-pattern.
cc @Chris-Hibbert
### Upgrade Considerations
`feeDistributor` is not upgradable. There are plans to make it upgradable in the future. See #8729.
As part of #8499 (comment) (look for
v5-timer-v23-feedistributor-v48-vaultfactory
), we're investigating how v23-feeDistributor will react when the upstream v5-timer is upgraded.v23-feeDistributor has code which talks to the timer service and creates a notifier during
startDistributing
. The timer service provides durable notifiers, and this subscriber code correctly usesobserveNotifier
to react to vat-timer being upgraded (and the individual promises being disconnected).(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:
The text was updated successfully, but these errors were encountered: