-
Notifications
You must be signed in to change notification settings - Fork 214
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
Add a reapAllVats
method to the controller
#8634
Conversation
cceee44
to
0356e4b
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Sounds good.. approved pending the suggested changes.
|
||
const dumpBefore = c.dump(); | ||
t.is(dumpBefore.acceptanceQueue.length, 12); | ||
t.is(dumpBefore.reapQueue.length, 0); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Oh, neat, it didn't occur to me to use reapQueue
for measuring this.. very clever.
Let's see, the kernel servicing code:
function getNextMessageAndProcessor() {
const acceptanceMessage = kernelKeeper.getNextAcceptanceQueueMsg();
if (acceptanceMessage) {
return {
message: acceptanceMessage,
processor: processAcceptanceMessage,
};
}
const message =
processGCActionSet(kernelKeeper) ||
kernelKeeper.nextReapAction() ||
kernelKeeper.getNextRunQueueMsg();
return { message, processor: processDeliveryMessage };
}
services the acceptanceQueue
first (transferring items to the run-queue), then takes any GC action, then reapQueue
, then finally runQueue
. So when we use this feature for GC remediation, it's important to drain a controller.run()
first (leaving all queues empty), then submit the c.reapAllVats()
, then drain a second controller.run()
.
(if we submitted the reapAllVats()
while there were still things in the acceptance or run queues, the reaps would happen first, then the real deliveries, which would leave GC stuff from the real deliveries still hanging out for an unknown period of time before the "organic" BOYDs finally happened)
0356e4b
to
884bd01
Compare
@FUDCo - This PR appears to be stuck. It's had a merge label for > 24 hours |
884bd01
to
6ba0af9
Compare
Closes #8626