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

upgrade tests of Orch contracts restarting during a flow #9303

Closed
1 task done
Tracked by #9280
erights opened this issue Apr 28, 2024 · 3 comments
Closed
1 task done
Tracked by #9280

upgrade tests of Orch contracts restarting during a flow #9303

erights opened this issue Apr 28, 2024 · 3 comments
Assignees
Labels
asyncFlow related to membrane-based replay and upgrade of async functions bug Something isn't working

Comments

@erights
Copy link
Member

erights commented Apr 28, 2024

What is the Problem Being Solved?

Confidence in upgrading Orchestration flows while they're in progress.

Description of the Design

Upgrade test of each example contract.

For remote calls to Agoric vats, can use retriable like in #9719 once we have #9541

Dependencies

  1. enhancement
    mhofman

In parallel make test that wait on bridge messages.

Security Considerations

Scaling Considerations

Test Plan

Upgrade Considerations

July 22 replaced earlier test:
See #9125 #9126 #9097 #7966

The point of asyncFlow is for these flows to survive upgrade. However, the current upgrade testing framework asyncFlow uses, as of #9097, is low fidelity. All incarnations co-exist in one JS heap, and their turns may even interleave! This creates known failures to adequately test upgradability #9126 #9125 . Worse, when it succeeds, we don't know what problems might have been detected by a higher fidelity test, giving us less confidence than we'd like.

Most likely, we should follow the precedent of #7966

@erights erights added bug Something isn't working asyncFlow related to membrane-based replay and upgrade of async functions labels Apr 28, 2024
@erights erights assigned mhofman and unassigned erights Jul 15, 2024
@erights
Copy link
Member Author

erights commented Jul 15, 2024

Hi @mhofman , ok to reassign to you?

@turadg turadg assigned turadg and unassigned mhofman Jul 15, 2024
mergify bot added a commit that referenced this issue Jul 16, 2024
_incidental_

## Description
Miscellaneous cleanups while starting #9719 for #9303.

See each commit title for changes

### Security Considerations
none

### Scaling Considerations
none

### Documentation Considerations
none

### Testing Considerations
CI

### Upgrade Considerations
not yet deployed
@turadg
Copy link
Member

turadg commented Jul 22, 2024

#9719 has one upgrade. We'll need to test the vat terminating at any point, for which we'll need some testing tools in async-flow:
#9753

I'll keep this open until we have tests that do that.

@turadg turadg changed the title Need to test asyncFlow with higher fidelity upgrade test upgrade tests of Orch contracts restarting during a flow Jul 22, 2024
mergify bot added a commit that referenced this issue Jul 25, 2024
refs: #9303

## Description

A bunch of refactors and testing utilities to support #9303.

It also adds a couple upgrade tests of orchestration contracts, but neither of them cover restarting orchestration flows so I'll leave #9755 for that. 

### Security Considerations
none

### Scaling Considerations
none

### Documentation Considerations
none

### Testing Considerations
per se

### Upgrade Considerations
Helps to test upgrades, should not affect any.
mergify bot added a commit that referenced this issue Jul 26, 2024
refs: #9303

## Description

Tests restarting an orchestration flow while an IBC message is pending response. 

#9303 will be closed when this and #9719 have landed.

### Security Considerations
none

### Scaling Considerations
none

### Documentation Considerations
none

### Testing Considerations
per se

### Upgrade Considerations
helps, no change
@turadg turadg added the BLOCKED Raise visibility when progress is impeded label Aug 13, 2024
@turadg turadg removed the BLOCKED Raise visibility when progress is impeded label Sep 23, 2024
mergify bot added a commit that referenced this issue Sep 25, 2024
closes: #10131

## Description
- adds `runInbound` to `bridgeUtils` in bootstrap test support to simulate an incoming bridge events, like a packet acknowledgement
- updates `send-anywhere` boot test so it's no longer failing
   - leaves contract upgrade aspect of test TODO until #9303

### Security Considerations
n/a

### Scaling Considerations
n/a

### Documentation Considerations
n/a

### Testing Considerations
Addreses a `test.failing` checked in

### Upgrade Considerations
n/a, example contract and test support tools
mergify bot added a commit that referenced this issue Sep 28, 2024
refs: #9303

## Description
This adds a test for upgrading send-anywhere. It doesn't yet pass without these in-flight PRs,
- #9736
- #9785

We've agreed to land this without those to reduce work-in-flight.

### Security Considerations
none

### Scaling Considerations
none

### Documentation Considerations
none

### Testing Considerations
The failing test has a link to the issue to make it pass.

### Upgrade Considerations
none
@turadg
Copy link
Member

turadg commented Oct 18, 2024

@turadg turadg closed this as completed Oct 18, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
asyncFlow related to membrane-based replay and upgrade of async functions bug Something isn't working
Projects
None yet
Development

No branches or pull requests

5 participants