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
since %gall removed its larval core, scries on load are not possible (see #7079 for a solution to that). Instead, we move the logic to find these stale subscriptions into a generator to /app/hood that will compare every agent's %eyre channel subscription with the state of %eyre's current subscription. Here we use the %lave task (introduced to remove stale incoming subscriptions in %gall agents due to an ames-gall desync) to pass the duct of the subscription we want to delete.
Eyre unsubscriptions have been broken since #6561 when we began using an incorrect duct for the Gall %leave. This means that the Eyre channel subscriptions get removed but the underlying Gall subscription never gets cleaned up. Notably this is broken even when we reap the channel every ~h12.
The trivial fix for the underlying issue is here. We will also write a Gall migration that will clean up any outstanding subscriptions.
Gall does not have larval stage so it cannot scry on +load. We put the cleanup migration in /app/hood instead. Note that the issue at hand isn't an absolutely massive memory leak because if any of the stale Gall subscriptions ever get a %fact emitted it ends up in Eyre with the error message removing watch for non-existent channel x and this does successfully clean up the subscription. In other words we have only leaked subscriptions that never emit a %fact after the HTTP client has disconnected.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
since %gall removed its larval core, scries on load are not possible (see #7079 for a solution to that). Instead, we move the logic to find these stale subscriptions
into a generatorto /app/hood that will compare every agent's %eyre channel subscription with the state of %eyre's current subscription. Here we use the %lave task (introduced to remove stale incoming subscriptions in %gall agents due to an ames-gall desync) to pass the duct of the subscription we want to delete.