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

Vats can be shut down to reap their objects using the adminNode. #9367

Open
Chris-Hibbert opened this issue May 15, 2024 · 0 comments
Open
Assignees
Labels
contract-upgrade enhancement New feature or request resource-exhaustion Threats to availability from resource exhaustion attacks Zoe Contract Contracts within Zoe

Comments

@Chris-Hibbert
Copy link
Contributor

Chris-Hibbert commented May 15, 2024

What is the Problem Being Solved?

In #8400 and #8401, we discuss some problems with uncollected objects that accumulates over time. We're looking for ways to stop the accumulation and then drop the objects. The current plan is to replace some vats with versions that will do a better job of cleaning up, stranding the old objects. Eventually we'll terminate the vats (#8928), and free the remaining objects gradually. One remaining question is whether we already have a mechanism to terminating vats from the outside.

A contract can kill the vat it's in by calling zcf.shutdown() or zcf.shutdownWithFailure(), but there's no way to invoke that from outside.

Description of the Design

The vat's adminNode (= VatAdminFacet) has terminateWithFailure() as well as upgrade() and done(). We save these facets in the bootstrap space, so they're available to core proposals.

Security Considerations

closely held.

Scaling Considerations

It's about chain sustainabilty.

Test Plan

A3P, if necessary.

Upgrade Considerations

yes.

@Chris-Hibbert Chris-Hibbert added enhancement New feature or request Zoe Contract Contracts within Zoe resource-exhaustion Threats to availability from resource exhaustion attacks contract-upgrade labels May 15, 2024
@Chris-Hibbert Chris-Hibbert self-assigned this May 15, 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 resource-exhaustion Threats to availability from resource exhaustion attacks Zoe Contract Contracts within Zoe
Projects
None yet
Development

No branches or pull requests

1 participant