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

Switch state-sync artifact level to operational #9388

Closed
Tracked by #9174
mhofman opened this issue May 20, 2024 · 0 comments · Fixed by #9391
Closed
Tracked by #9174

Switch state-sync artifact level to operational #9388

mhofman opened this issue May 20, 2024 · 0 comments · Fixed by #9391
Assignees
Labels
agoric-cosmos enhancement New feature or request

Comments

@mhofman
Copy link
Member

mhofman commented May 20, 2024

What is the Problem Being Solved?

To support #9174, we need to stop requiring older transcript artifacts in state-sync snapshot. #9386 would cause most validators to no longer keep historical swing-store, which would cause a "replay" level snapshot to fail creation.

Description of the Design

In golang state-sync logic, change snapshot creation and restoration to use operational level instead of replay.

Security Considerations

None

Scaling Considerations

Smaller state-sync snapshots!

Test Plan

Manually?
Existing loadgen integration tests does exercise that state-sync works

Upgrade Considerations

Chain software upgrade.

@mhofman mhofman added enhancement New feature or request agoric-cosmos labels May 20, 2024
@mhofman mhofman changed the title Switch state-sync artifact level to replay Switch state-sync artifact level to operational May 20, 2024
@mergify mergify bot closed this as completed in #9391 Jun 3, 2024
mergify bot added a commit that referenced this issue Jun 3, 2024
closes: #9388

## Description

Switch from `replay` to `operational` for state-sync export/restore,
genesis export/import, and as the default for cosmic-swingset's
export/import of kernel DB command line tool.

Drive by change of the default chain home directory for the
import/export tool (this location was effectively changed a couple year
ago but not consistently in the rest of the SDK).

### Security Considerations

If all nodes prune historical "replay" artifacts, we lose the ability to
perform replay based upgrades in the future. We expect archive nodes to
not manually prune their DB in this way.

### Scaling Considerations

This should have no impact on performance right now. In the future, when
exporting the IAVL data is not as slow, this would reduce the time it
takes for state-sync snapshots to be created.

### Documentation Considerations

Should communicate this change with validators

### Testing Considerations

Covered by existing integration tests.

### Upgrade Considerations

Chain software change
mhofman pushed a commit that referenced this issue Jun 23, 2024
closes: #9388

## Description

Switch from `replay` to `operational` for state-sync export/restore,
genesis export/import, and as the default for cosmic-swingset's
export/import of kernel DB command line tool.

Drive by change of the default chain home directory for the
import/export tool (this location was effectively changed a couple year
ago but not consistently in the rest of the SDK).

### Security Considerations

If all nodes prune historical "replay" artifacts, we lose the ability to
perform replay based upgrades in the future. We expect archive nodes to
not manually prune their DB in this way.

### Scaling Considerations

This should have no impact on performance right now. In the future, when
exporting the IAVL data is not as slow, this would reduce the time it
takes for state-sync snapshots to be created.

### Documentation Considerations

Should communicate this change with validators

### Testing Considerations

Covered by existing integration tests.

### Upgrade Considerations

Chain software change
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
agoric-cosmos enhancement New feature or request
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant