-
Notifications
You must be signed in to change notification settings - Fork 6
Description
While we have recently cleaned up persistent state handling for kernels and their vats (#604), the addition of kernel-to-kernel remote connectivity (#578) complicates the persistence story. While the current implementation does persist the kernel state that is associated with remote connections, the associated functionality has not been significantly exercised and thus can probably be assumed to be deficient in various as yet undiscovered ways. In particular, because kernels persist their state individually (rather than in coordination with other kernels they may be in communication with), it seems likely that there may be state consistency issues that may arise when one kernel stops and then restarts while another kernel it is connected to continues running without interruption. All of this needs to be examined with a critical eye and either validated (likely through the addition of end-to-end tests, see #620) or, more likely, have logic added to ensure that distributed state works the way we need it to (and what that means is also likely somewhat poorly characterized, so sorting it out should be considered part of this task).