Skip to content

Conversation

@Sayan-
Copy link
Collaborator

@Sayan- Sayan- commented Oct 20, 2025

Overview

We noticed issues where implementation would have < 0 pending. It seems like the naive assumptions that events would be deduped and delivered exactly once weren't really reliable. Instead swap to a model where we only disable/enable around edges rather than every event

  • Use global state from the session manager rather than tracking internally
  • Centralize logic in a simple helper. Call the helper right at start up to be safe
  • Check errors and only update internal state on success

Testing

Ran locally + against a few unikernels in staging. I would connect and disconnect a bunch of tabs to simulate flaky connections (this was a pretty consistent repro of the original issue)

Example logs from staging:

[neko] 11:19PM INF plugin enabled module=scaletozero
[neko] 11:19PM INF no operation needed; skipping toggle currently_connected_sessions=0 currently_disabled=false module=scaletozero previously_disabled=false
[neko] 11:19PM INF plugin started module=plugins plugin=scaletozero
[neko] 11:29PM INF disabling scale-to-zero connected_sessions=1 module=scaletozero
[neko] 11:29PM INF no operation needed; skipping toggle currently_connected_sessions=2 currently_disabled=true module=scaletozero previously_disabled=true
[neko] 11:29PM INF no operation needed; skipping toggle currently_connected_sessions=3 currently_disabled=true module=scaletozero previously_disabled=true
[neko] 11:29PM INF no operation needed; skipping toggle currently_connected_sessions=4 currently_disabled=true module=scaletozero previously_disabled=true
[neko] 11:29PM INF no operation needed; skipping toggle currently_connected_sessions=5 currently_disabled=true module=scaletozero previously_disabled=true
[neko] 11:29PM INF no operation needed; skipping toggle currently_connected_sessions=6 currently_disabled=true module=scaletozero previously_disabled=true
[neko] 11:29PM INF no operation needed; skipping toggle currently_connected_sessions=7 currently_disabled=true module=scaletozero previously_disabled=true
[neko] 11:29PM INF no operation needed; skipping toggle currently_connected_sessions=8 currently_disabled=true module=scaletozero previously_disabled=true
[neko] 11:29PM INF no operation needed; skipping toggle currently_connected_sessions=9 currently_disabled=true module=scaletozero previously_disabled=true
[neko] 11:29PM INF no operation needed; skipping toggle currently_connected_sessions=10 currently_disabled=true module=scaletozero previously_disabled=true
[neko] 11:29PM INF no operation needed; skipping toggle currently_connected_sessions=11 currently_disabled=true module=scaletozero previously_disabled=true
[neko] 11:29PM INF no operation needed; skipping toggle currently_connected_sessions=10 currently_disabled=true module=scaletozero previously_disabled=true
[neko] 11:29PM INF no operation needed; skipping toggle currently_connected_sessions=9 currently_disabled=true module=scaletozero previously_disabled=true
[neko] 11:29PM INF no operation needed; skipping toggle currently_connected_sessions=8 currently_disabled=true module=scaletozero previously_disabled=true
[neko] 11:29PM INF no operation needed; skipping toggle currently_connected_sessions=7 currently_disabled=true module=scaletozero previously_disabled=true
[neko] 11:29PM INF no operation needed; skipping toggle currently_connected_sessions=6 currently_disabled=true module=scaletozero previously_disabled=true
[neko] 11:29PM INF no operation needed; skipping toggle currently_connected_sessions=5 currently_disabled=true module=scaletozero previously_disabled=true
[neko] 11:29PM INF no operation needed; skipping toggle currently_connected_sessions=5 currently_disabled=true module=scaletozero previously_disabled=true
[neko] 11:29PM INF no operation needed; skipping toggle currently_connected_sessions=4 currently_disabled=true module=scaletozero previously_disabled=true
[neko] 11:29PM INF no operation needed; skipping toggle currently_connected_sessions=3 currently_disabled=true module=scaletozero previously_disabled=true
[neko] 11:29PM INF no operation needed; skipping toggle currently_connected_sessions=2 currently_disabled=true module=scaletozero previously_disabled=true
[neko] 11:29PM INF no operation needed; skipping toggle currently_connected_sessions=1 currently_disabled=true module=scaletozero previously_disabled=true
[neko] 11:29PM INF enabling scale-to-zero module=scaletozero
[neko] 11:29PM INF disabling scale-to-zero connected_sessions=1 module=scaletozero
[neko] 11:30PM INF no operation needed; skipping toggle currently_connected_sessions=2 currently_disabled=true module=scaletozero previously_disabled=true
[neko] 11:30PM INF no operation needed; skipping toggle currently_connected_sessions=3 currently_disabled=true module=scaletozero previously_disabled=true
[neko] 11:30PM INF no operation needed; skipping toggle currently_connected_sessions=4 currently_disabled=true module=scaletozero previously_disabled=true
[neko] 11:30PM INF no operation needed; skipping toggle currently_connected_sessions=5 currently_disabled=true module=scaletozero previously_disabled=true
[neko] 11:30PM INF no operation needed; skipping toggle currently_connected_sessions=6 currently_disabled=true module=scaletozero previously_disabled=true
[neko] 11:30PM INF no operation needed; skipping toggle currently_connected_sessions=7 currently_disabled=true module=scaletozero previously_disabled=true
[neko] 11:30PM INF no operation needed; skipping toggle currently_connected_sessions=8 currently_disabled=true module=scaletozero previously_disabled=true
[neko] 11:30PM INF no operation needed; skipping toggle currently_connected_sessions=9 currently_disabled=true module=scaletozero previously_disabled=true
[neko] 11:30PM INF no operation needed; skipping toggle currently_connected_sessions=10 currently_disabled=true module=scaletozero previously_disabled=true
[neko] 11:30PM INF no operation needed; skipping toggle currently_connected_sessions=11 currently_disabled=true module=scaletozero previously_disabled=true
[neko] 11:30PM INF no operation needed; skipping toggle currently_connected_sessions=10 currently_disabled=true module=scaletozero previously_disabled=true
[neko] 11:30PM INF no operation needed; skipping toggle currently_connected_sessions=9 currently_disabled=true module=scaletozero previously_disabled=true
[neko] 11:30PM INF no operation needed; skipping toggle currently_connected_sessions=8 currently_disabled=true module=scaletozero previously_disabled=true
[neko] 11:30PM INF no operation needed; skipping toggle currently_connected_sessions=7 currently_disabled=true module=scaletozero previously_disabled=true
[neko] 11:30PM INF no operation needed; skipping toggle currently_connected_sessions=6 currently_disabled=true module=scaletozero previously_disabled=true
[neko] 11:30PM INF no operation needed; skipping toggle currently_connected_sessions=5 currently_disabled=true module=scaletozero previously_disabled=true
[neko] 11:30PM INF no operation needed; skipping toggle currently_connected_sessions=5 currently_disabled=true module=scaletozero previously_disabled=true
[neko] 11:30PM INF no operation needed; skipping toggle currently_connected_sessions=4 currently_disabled=true module=scaletozero previously_disabled=true
[neko] 11:30PM INF no operation needed; skipping toggle currently_connected_sessions=3 currently_disabled=true module=scaletozero previously_disabled=true
[neko] 11:30PM INF no operation needed; skipping toggle currently_connected_sessions=2 currently_disabled=true module=scaletozero previously_disabled=true
[neko] 11:30PM INF no operation needed; skipping toggle currently_connected_sessions=1 currently_disabled=true module=scaletozero previously_disabled=true
[neko] 11:30PM INF enabling scale-to-zero module=scaletozero
[neko] 11:30PM INF disabling scale-to-zero connected_sessions=1 module=scaletozero
[neko] 11:30PM INF no operation needed; skipping toggle currently_connected_sessions=2 currently_disabled=true module=scaletozero previously_disabled=true
[neko] 11:30PM INF no operation needed; skipping toggle currently_connected_sessions=3 currently_disabled=true module=scaletozero previously_disabled=true
[neko] 11:30PM INF no operation needed; skipping toggle currently_connected_sessions=4 currently_disabled=true module=scaletozero previously_disabled=true
[neko] 11:30PM INF no operation needed; skipping toggle currently_connected_sessions=5 currently_disabled=true module=scaletozero previously_disabled=true
[neko] 11:30PM INF no operation needed; skipping toggle currently_connected_sessions=6 currently_disabled=true module=scaletozero previously_disabled=true
[neko] 11:30PM INF no operation needed; skipping toggle currently_connected_sessions=7 currently_disabled=true module=scaletozero previously_disabled=true
[neko] 11:30PM INF no operation needed; skipping toggle currently_connected_sessions=8 currently_disabled=true module=scaletozero previously_disabled=true
[neko] 11:30PM INF no operation needed; skipping toggle currently_connected_sessions=9 currently_disabled=true module=scaletozero previously_disabled=true
[neko] 11:30PM INF no operation needed; skipping toggle currently_connected_sessions=10 currently_disabled=true module=scaletozero previously_disabled=true
[neko] 11:30PM INF no operation needed; skipping toggle currently_connected_sessions=11 currently_disabled=true module=scaletozero previously_disabled=true
[neko] 11:30PM INF no operation needed; skipping toggle currently_connected_sessions=10 currently_disabled=true module=scaletozero previously_disabled=true
[neko] 11:30PM INF no operation needed; skipping toggle currently_connected_sessions=9 currently_disabled=true module=scaletozero previously_disabled=true
[neko] 11:30PM INF no operation needed; skipping toggle currently_connected_sessions=8 currently_disabled=true module=scaletozero previously_disabled=true
[neko] 11:30PM INF no operation needed; skipping toggle currently_connected_sessions=7 currently_disabled=true module=scaletozero previously_disabled=true
[neko] 11:30PM INF no operation needed; skipping toggle currently_connected_sessions=6 currently_disabled=true module=scaletozero previously_disabled=true
[neko] 11:30PM INF no operation needed; skipping toggle currently_connected_sessions=5 currently_disabled=true module=scaletozero previously_disabled=true
[neko] 11:30PM INF no operation needed; skipping toggle currently_connected_sessions=4 currently_disabled=true module=scaletozero previously_disabled=true
[neko] 11:30PM INF no operation needed; skipping toggle currently_connected_sessions=3 currently_disabled=true module=scaletozero previously_disabled=true
[neko] 11:30PM INF no operation needed; skipping toggle currently_connected_sessions=2 currently_disabled=true module=scaletozero previously_disabled=true
[neko] 11:30PM INF no operation needed; skipping toggle currently_connected_sessions=1 currently_disabled=true module=scaletozero previously_disabled=true
[neko] 11:30PM INF enabling scale-to-zero module=scaletozero
[neko] 11:30PM INF disabling scale-to-zero connected_sessions=1 module=scaletozero
[neko] 11:30PM INF no operation needed; skipping toggle currently_connected_sessions=2 currently_disabled=true module=scaletozero previously_disabled=true
[neko] 11:30PM INF no operation needed; skipping toggle currently_connected_sessions=3 currently_disabled=true module=scaletozero previously_disabled=true
[neko] 11:30PM INF no operation needed; skipping toggle currently_connected_sessions=4 currently_disabled=true module=scaletozero previously_disabled=true
[neko] 11:30PM INF no operation needed; skipping toggle currently_connected_sessions=5 currently_disabled=true module=scaletozero previously_disabled=true
[neko] 11:30PM INF no operation needed; skipping toggle currently_connected_sessions=6 currently_disabled=true module=scaletozero previously_disabled=true
[neko] 11:30PM INF no operation needed; skipping toggle currently_connected_sessions=7 currently_disabled=true module=scaletozero previously_disabled=true
[neko] 11:30PM INF no operation needed; skipping toggle currently_connected_sessions=8 currently_disabled=true module=scaletozero previously_disabled=true
[neko] 11:30PM INF no operation needed; skipping toggle currently_connected_sessions=9 currently_disabled=true module=scaletozero previously_disabled=true
[neko] 11:30PM INF no operation needed; skipping toggle currently_connected_sessions=10 currently_disabled=true module=scaletozero previously_disabled=true
[neko] 11:30PM INF no operation needed; skipping toggle currently_connected_sessions=11 currently_disabled=true module=scaletozero previously_disabled=true
[neko] 11:30PM INF no operation needed; skipping toggle currently_connected_sessions=10 currently_disabled=true module=scaletozero previously_disabled=true
[neko] 11:30PM INF no operation needed; skipping toggle currently_connected_sessions=9 currently_disabled=true module=scaletozero previously_disabled=true
[neko] 11:30PM INF no operation needed; skipping toggle currently_connected_sessions=8 currently_disabled=true module=scaletozero previously_disabled=true
[neko] 11:30PM INF no operation needed; skipping toggle currently_connected_sessions=7 currently_disabled=true module=scaletozero previously_disabled=true
[neko] 11:30PM INF no operation needed; skipping toggle currently_connected_sessions=6 currently_disabled=true module=scaletozero previously_disabled=true
[neko] 11:30PM INF no operation needed; skipping toggle currently_connected_sessions=5 currently_disabled=true module=scaletozero previously_disabled=true
[neko] 11:30PM INF no operation needed; skipping toggle currently_connected_sessions=4 currently_disabled=true module=scaletozero previously_disabled=true
[neko] 11:30PM INF no operation needed; skipping toggle currently_connected_sessions=3 currently_disabled=true module=scaletozero previously_disabled=true
[neko] 11:30PM INF no operation needed; skipping toggle currently_connected_sessions=2 currently_disabled=true module=scaletozero previously_disabled=true
[neko] 11:30PM INF no operation needed; skipping toggle currently_connected_sessions=1 currently_disabled=true module=scaletozero previously_disabled=true
[neko] 11:30PM INF enabling scale-to-zero module=scaletozero
[neko] 11:30PM INF disabling scale-to-zero connected_sessions=1 module=scaletozero
[neko] 11:30PM INF no operation needed; skipping toggle currently_connected_sessions=2 currently_disabled=true module=scaletozero previously_disabled=true
[neko] 11:30PM INF no operation needed; skipping toggle currently_connected_sessions=3 currently_disabled=true module=scaletozero previously_disabled=true
[neko] 11:30PM INF no operation needed; skipping toggle currently_connected_sessions=4 currently_disabled=true module=scaletozero previously_disabled=true
[neko] 11:30PM INF no operation needed; skipping toggle currently_connected_sessions=5 currently_disabled=true module=scaletozero previously_disabled=true
[neko] 11:30PM INF no operation needed; skipping toggle currently_connected_sessions=6 currently_disabled=true module=scaletozero previously_disabled=true
[neko] 11:30PM INF no operation needed; skipping toggle currently_connected_sessions=7 currently_disabled=true module=scaletozero previously_disabled=true
[neko] 11:30PM INF no operation needed; skipping toggle currently_connected_sessions=8 currently_disabled=true module=scaletozero previously_disabled=true
[neko] 11:30PM INF no operation needed; skipping toggle currently_connected_sessions=9 currently_disabled=true module=scaletozero previously_disabled=true
[neko] 11:30PM INF no operation needed; skipping toggle currently_connected_sessions=10 currently_disabled=true module=scaletozero previously_disabled=true
[neko] 11:30PM INF no operation needed; skipping toggle currently_connected_sessions=11 currently_disabled=true module=scaletozero previously_disabled=true
[neko] 11:31PM INF no operation needed; skipping toggle currently_connected_sessions=10 currently_disabled=true module=scaletozero previously_disabled=true
[neko] 11:31PM INF no operation needed; skipping toggle currently_connected_sessions=9 currently_disabled=true module=scaletozero previously_disabled=true
[neko] 11:31PM INF no operation needed; skipping toggle currently_connected_sessions=8 currently_disabled=true module=scaletozero previously_disabled=true
[neko] 11:31PM INF no operation needed; skipping toggle currently_connected_sessions=7 currently_disabled=true module=scaletozero previously_disabled=true
[neko] 11:31PM INF no operation needed; skipping toggle currently_connected_sessions=6 currently_disabled=true module=scaletozero previously_disabled=true
[neko] 11:31PM INF no operation needed; skipping toggle currently_connected_sessions=5 currently_disabled=true module=scaletozero previously_disabled=true
[neko] 11:31PM INF no operation needed; skipping toggle currently_connected_sessions=4 currently_disabled=true module=scaletozero previously_disabled=true
[neko] 11:31PM INF no operation needed; skipping toggle currently_connected_sessions=3 currently_disabled=true module=scaletozero previously_disabled=true
[neko] 11:31PM INF no operation needed; skipping toggle currently_connected_sessions=2 currently_disabled=true module=scaletozero previously_disabled=true
[neko] 11:31PM INF no operation needed; skipping toggle currently_connected_sessions=1 currently_disabled=true module=scaletozero previously_disabled=true
[neko] 11:31PM INF enabling scale-to-zero module=scaletozero
[neko] 11:32PM INF disabling scale-to-zero connected_sessions=2 module=scaletozero
[neko] 11:32PM INF no operation needed; skipping toggle currently_connected_sessions=2 currently_disabled=true module=scaletozero previously_disabled=true
[neko] 11:32PM INF no operation needed; skipping toggle currently_connected_sessions=3 currently_disabled=true module=scaletozero previously_disabled=true
[neko] 11:32PM INF no operation needed; skipping toggle currently_connected_sessions=4 currently_disabled=true module=scaletozero previously_disabled=true
[neko] 11:32PM INF no operation needed; skipping toggle currently_connected_sessions=5 currently_disabled=true module=scaletozero previously_disabled=true
[neko] 11:32PM INF no operation needed; skipping toggle currently_connected_sessions=6 currently_disabled=true module=scaletozero previously_disabled=true
[neko] 11:32PM INF no operation needed; skipping toggle currently_connected_sessions=7 currently_disabled=true module=scaletozero previously_disabled=true
[neko] 11:32PM INF no operation needed; skipping toggle currently_connected_sessions=8 currently_disabled=true module=scaletozero previously_disabled=true
[neko] 11:32PM INF no operation needed; skipping toggle currently_connected_sessions=9 currently_disabled=true module=scaletozero previously_disabled=true
[neko] 11:32PM INF no operation needed; skipping toggle currently_connected_sessions=10 currently_disabled=true module=scaletozero previously_disabled=true
[neko] 11:32PM INF no operation needed; skipping toggle currently_connected_sessions=11 currently_disabled=true module=scaletozero previously_disabled=true
[neko] 11:33PM INF no operation needed; skipping toggle currently_connected_sessions=10 currently_disabled=true module=scaletozero previously_disabled=true
[neko] 11:33PM INF no operation needed; skipping toggle currently_connected_sessions=9 currently_disabled=true module=scaletozero previously_disabled=true
[neko] 11:33PM INF no operation needed; skipping toggle currently_connected_sessions=8 currently_disabled=true module=scaletozero previously_disabled=true
[neko] 11:33PM INF no operation needed; skipping toggle currently_connected_sessions=8 currently_disabled=true module=scaletozero previously_disabled=true
[neko] 11:33PM INF no operation needed; skipping toggle currently_connected_sessions=7 currently_disabled=true module=scaletozero previously_disabled=true
[neko] 11:33PM INF no operation needed; skipping toggle currently_connected_sessions=6 currently_disabled=true module=scaletozero previously_disabled=true
[neko] 11:33PM INF no operation needed; skipping toggle currently_connected_sessions=5 currently_disabled=true module=scaletozero previously_disabled=true
[neko] 11:33PM INF no operation needed; skipping toggle currently_connected_sessions=4 currently_disabled=true module=scaletozero previously_disabled=true
[neko] 11:33PM INF no operation needed; skipping toggle currently_connected_sessions=3 currently_disabled=true module=scaletozero previously_disabled=true
[neko] 11:33PM INF no operation needed; skipping toggle currently_connected_sessions=2 currently_disabled=true module=scaletozero previously_disabled=true
[neko] 11:33PM INF no operation needed; skipping toggle currently_connected_sessions=2 currently_disabled=true module=scaletozero previously_disabled=true
[neko] 11:33PM INF no operation needed; skipping toggle currently_connected_sessions=1 currently_disabled=true module=scaletozero previously_disabled=true
[neko] 11:33PM INF enabling scale-to-zero module=scaletozero
[neko] 11:33PM INF no operation needed; skipping toggle currently_connected_sessions=0 currently_disabled=false module=scaletozero previously_disabled=false

@Sayan- Sayan- requested review from hiroTamada and rgarcia October 20, 2025 23:51
@mesa-dot-dev
Copy link

mesa-dot-dev bot commented Oct 20, 2025

Mesa Description

Overview

This PR refactors the scaletozero manager to fix a bug where the pending session count could become negative due to unreliable event delivery. The new implementation moves from a naive event-counting model to a more robust state-based approach.

  • Use Global State: The manager now relies on the session manager's list of active sessions as the single source of truth, rather than tracking connections internally.
  • Centralized Logic: A new manage() helper method centralizes the logic to enable or disable the scale-to-zero functionality based on whether there are any active sessions. This is also called at startup to ensure a correct initial state.
  • Stateful Tracking: Replaced the brittle pending counter with a simple disabledScaleToZero boolean flag, which is only updated after a successful state change, preventing state corruption on errors.

Testing

Ran locally + against a few unikernels in staging. I would connect and disconnect a bunch of tabs to simulate flaky connections (this was a pretty consistent repro of the original issue)

Example logs from staging:

[neko] 11:19PM INF plugin enabled module=scaletozero
[neko] 11:19PM INF no operation needed; skipping toggle currently_connected_sessions=0 currently_disabled=false module=scaletozero previously_disabled=false
[neko] 11:19PM INF plugin started module=plugins plugin=scaletozero
[neko] 11:29PM INF disabling scale-to-zero connected_sessions=1 module=scaletozero
[neko] 11:29PM INF no operation needed; skipping toggle currently_connected_sessions=2 currently_disabled=true module=scaletozero previously_disabled=true
[neko] 11:29PM INF no operation needed; skipping toggle currently_connected_sessions=3 currently_disabled=true module=scaletozero previously_disabled=true
[neko] 11:29PM INF no operation needed; skipping toggle currently_connected_sessions=4 currently_disabled=true module=scaletozero previously_disabled=true
[neko] 11:29PM INF no operation needed; skipping toggle currently_connected_sessions=5 currently_disabled=true module=scaletozero previously_disabled=true
[neko] 11:29PM INF no operation needed; skipping toggle currently_connected_sessions=6 currently_disabled=true module=scaletozero previously_disabled=true
[neko] 11:29PM INF no operation needed; skipping toggle currently_connected_sessions=7 currently_disabled=true module=scaletozero previously_disabled=true
[neko] 11:29PM INF no operation needed; skipping toggle currently_connected_sessions=8 currently_disabled=true module=scaletozero previously_disabled=true
[neko] 11:29PM INF no operation needed; skipping toggle currently_connected_sessions=9 currently_disabled=true module=scaletozero previously_disabled=true
[neko] 11:29PM INF no operation needed; skipping toggle currently_connected_sessions=10 currently_disabled=true module=scaletozero previously_disabled=true
[neko] 11:29PM INF no operation needed; skipping toggle currently_connected_sessions=11 currently_disabled=true module=scaletozero previously_disabled=true
[neko] 11:29PM INF no operation needed; skipping toggle currently_connected_sessions=10 currently_disabled=true module=scaletozero previously_disabled=true
[neko] 11:29PM INF no operation needed; skipping toggle currently_connected_sessions=9 currently_disabled=true module=scaletozero previously_disabled=true
[neko] 11:29PM INF no operation needed; skipping toggle currently_connected_sessions=8 currently_disabled=true module=scaletozero previously_disabled=true
[neko] 11:29PM INF no operation needed; skipping toggle currently_connected_sessions=7 currently_disabled=true module=scaletozero previously_disabled=true
[neko] 11:29PM INF no operation needed; skipping toggle currently_connected_sessions=6 currently_disabled=true module=scaletozero previously_disabled=true
[neko] 11:29PM INF no operation needed; skipping toggle currently_connected_sessions=5 currently_disabled=true module=scaletozero previously_disabled=true
[neko] 11:29PM INF no operation needed; skipping toggle currently_connected_sessions=5 currently_disabled=true module=scaletozero previously_disabled=true
[neko] 11:29PM INF no operation needed; skipping toggle currently_connected_sessions=4 currently_disabled=true module=scaletozero previously_disabled=true
[neko] 11:29PM INF no operation needed; skipping toggle currently_connected_sessions=3 currently_disabled=true module=scaletozero previously_disabled=true
[neko] 11:29PM INF no operation needed; skipping toggle currently_connected_sessions=2 currently_disabled=true module=scaletozero previously_disabled=true
[neko] 11:29PM INF no operation needed; skipping toggle currently_connected_sessions=1 currently_disabled=true module=scaletozero previously_disabled=true
[neko] 11:29PM INF enabling scale-to-zero module=scaletozero
[neko] 11:29PM INF disabling scale-to-zero connected_sessions=1 module=scaletozero
[neko] 11:30PM INF no operation needed; skipping toggle currently_connected_sessions=2 currently_disabled=true module=scaletozero previously_disabled=true
[neko] 11:30PM INF no operation needed; skipping toggle currently_connected_sessions=3 currently_disabled=true module=scaletozero previously_disabled=true
[neko] 11:30PM INF no operation needed; skipping toggle currently_connected_sessions=4 currently_disabled=true module=scaletozero previously_disabled=true
[neko] 11:30PM INF no operation needed; skipping toggle currently_connected_sessions=5 currently_disabled=true module=scaletozero previously_disabled=true
[neko] 11:30PM INF no operation needed; skipping toggle currently_connected_sessions=6 currently_disabled=true module=scaletozero previously_disabled=true
[neko] 11:30PM INF no operation needed; skipping toggle currently_connected_sessions=7 currently_disabled=true module=scaletozero previously_disabled=true
[neko] 11:30PM INF no operation needed; skipping toggle currently_connected_sessions=8 currently_disabled=true module=scaletozero previously_disabled=true
[neko] 11:30PM INF no operation needed; skipping toggle currently_connected_sessions=9 currently_disabled=true module=scaletozero previously_disabled=true
[neko] 11:30PM INF no operation needed; skipping toggle currently_connected_sessions=10 currently_disabled=true module=scaletozero previously_disabled=true
[neko] 11:30PM INF no operation needed; skipping toggle currently_connected_sessions=11 currently_disabled=true module=scaletozero previously_disabled=true
[neko] 11:30PM INF no operation needed; skipping toggle currently_connected_sessions=10 currently_disabled=true module=scaletozero previously_disabled=true
[neko] 11:30PM INF no operation needed; skipping toggle currently_connected_sessions=9 currently_disabled=true module=scaletozero previously_disabled=true
[neko] 11:30PM INF no operation needed; skipping toggle currently_connected_sessions=8 currently_disabled=true module=scaletozero previously_disabled=true
[neko] 11:30PM INF no operation needed; skipping toggle currently_connected_sessions=7 currently_disabled=true module=scaletozero previously_disabled=true
[neko] 11:30PM INF no operation needed; skipping toggle currently_connected_sessions=6 currently_disabled=true module=scaletozero previously_disabled=true
[neko] 11:30PM INF no operation needed; skipping toggle currently_connected_sessions=5 currently_disabled=true module=scaletozero previously_disabled=true
[neko] 11:30PM INF no operation needed; skipping toggle currently_connected_sessions=5 currently_disabled=true module=scaletozero previously_disabled=true
[neko] 11:30PM INF no operation needed; skipping toggle currently_connected_sessions=4 currently_disabled=true module=scaletozero previously_disabled=true
[neko] 11:30PM INF no operation needed; skipping toggle currently_connected_sessions=3 currently_disabled=true module=scaletozero previously_disabled=true
[neko] 11:30PM INF no operation needed; skipping toggle currently_connected_sessions=2 currently_disabled=true module=scaletozero previously_disabled=true
[neko] 11:30PM INF no operation needed; skipping toggle currently_connected_sessions=1 currently_disabled=true module=scaletozero previously_disabled=true
[neko] 11:30PM INF enabling scale-to-zero module=scaletozero
[neko] 11:30PM INF disabling scale-to-zero connected_sessions=1 module=scaletozero
[neko] 11:30PM INF no operation needed; skipping toggle currently_connected_sessions=2 currently_disabled=true module=scaletozero previously_disabled=true
[neko] 11:30PM INF no operation needed; skipping toggle currently_connected_sessions=3 currently_disabled=true module=scaletozero previously_disabled=true
[neko] 11:30PM INF no operation needed; skipping toggle currently_connected_sessions=4 currently_disabled=true module=scaletozero previously_disabled=true
[neko] 11:30PM INF no operation needed; skipping toggle currently_connected_sessions=5 currently_disabled=true module=scaletozero previously_disabled=true
[neko] 11:30PM INF no operation needed; skipping toggle currently_connected_sessions=6 currently_disabled=true module=scaletozero previously_disabled=true
[neko] 11:30PM INF no operation needed; skipping toggle currently_connected_sessions=7 currently_disabled=true module=scaletozero previously_disabled=true
[neko] 11:30PM INF no operation needed; skipping toggle currently_connected_sessions=8 currently_disabled=true module=scaletozero previously_disabled=true
[neko] 11:30PM INF no operation needed; skipping toggle currently_connected_sessions=9 currently_disabled=true module=scaletozero previously_disabled=true
[neko] 11:30PM INF no operation needed; skipping toggle currently_connected_sessions=10 currently_disabled=true module=scaletozero previously_disabled=true
[neko] 11:30PM INF no operation needed; skipping toggle currently_connected_sessions=11 currently_disabled=true module=scaletozero previously_disabled=true
[neko] 11:30PM INF no operation needed; skipping toggle currently_connected_sessions=10 currently_disabled=true module=scaletozero previously_disabled=true
[neko] 11:30PM INF no operation needed; skipping toggle currently_connected_sessions=9 currently_disabled=true module=scaletozero previously_disabled=true
[neko] 11:30PM INF no operation needed; skipping toggle currently_connected_sessions=8 currently_disabled=true module=scaletozero previously_disabled=true
[neko] 11:30PM INF no operation needed; skipping toggle currently_connected_sessions=7 currently_disabled=true module=scaletozero previously_disabled=true
[neko] 11:30PM INF no operation needed; skipping toggle currently_connected_sessions=6 currently_disabled=true module=scaletozero previously_disabled=true
[neko] 11:30PM INF no operation needed; skipping toggle currently_connected_sessions=5 currently_disabled=true module=scaletozero previously_disabled=true
[neko] 11:30PM INF no operation needed; skipping toggle currently_connected_sessions=4 currently_disabled=true module=scaletozero previously_disabled=true
[neko] 11:30PM INF no operation needed; skipping toggle currently_connected_sessions=3 currently_disabled=true module=scaletozero previously_disabled=true
[neko] 11:30PM INF no operation needed; skipping toggle currently_connected_sessions=2 currently_disabled=true module=scaletozero previously_disabled=true
[neko] 11:30PM INF no operation needed; skipping toggle currently_connected_sessions=1 currently_disabled=true module=scaletozero previously_disabled=true
[neko] 11:30PM INF enabling scale-to-zero module=scaletozero
[neko] 11:30PM INF disabling scale-to-zero connected_sessions=1 module=scaletozero
[neko] 11:30PM INF no operation needed; skipping toggle currently_connected_sessions=2 currently_disabled=true module=scaletozero previously_disabled=true
[neko] 11:30PM INF no operation needed; skipping toggle currently_connected_sessions=3 currently_disabled=true module=scaletozero previously_disabled=true
[neko] 11:30PM INF no operation needed; skipping toggle currently_connected_sessions=4 currently_disabled=true module=scaletozero previously_disabled=true
[neko] 11:30PM INF no operation needed; skipping toggle currently_connected_sessions=5 currently_disabled=true module=scaletozero previously_disabled=true
[neko] 11:30PM INF no operation needed; skipping toggle currently_connected_sessions=6 currently_disabled=true module=scaletozero previously_disabled=true
[neko] 11:30PM INF no operation needed; skipping toggle currently_connected_sessions=7 currently_disabled=true module=scaletozero previously_disabled=true
[neko] 11:30PM INF no operation needed; skipping toggle currently_connected_sessions=8 currently_disabled=true module=scaletozero previously_disabled=true
[neko] 11:30PM INF no operation needed; skipping toggle currently_connected_sessions=9 currently_disabled=true module=scaletozero previously_disabled=true
[neko] 11:30PM INF no operation needed; skipping toggle currently_connected_sessions=10 currently_disabled=true module=scaletozero previously_disabled=true
[neko] 11:30PM INF no operation needed; skipping toggle currently_connected_sessions=11 currently_disabled=true module=scaletozero previously_disabled=true
[neko] 11:30PM INF no operation needed; skipping toggle currently_connected_sessions=10 currently_disabled=true module=scaletozero previously_disabled=true
[neko] 11:30PM INF no operation needed; skipping toggle currently_connected_sessions=9 currently_disabled=true module=scaletozero previously_disabled=true
[neko] 11:30PM INF no operation needed; skipping toggle currently_connected_sessions=8 currently_disabled=true module=scaletozero previously_disabled=true
[neko] 11:30PM INF no operation needed; skipping toggle currently_connected_sessions=7 currently_disabled=true module=scaletozero previously_disabled=true
[neko] 11:30PM INF no operation needed; skipping toggle currently_connected_sessions=6 currently_disabled=true module=scaletozero previously_disabled=true
[neko] 11:30PM INF no operation needed; skipping toggle currently_connected_sessions=5 currently_disabled=true module=scaletozero previously_disabled=true
[neko] 11:30PM INF no operation needed; skipping toggle currently_connected_sessions=4 currently_disabled=true module=scaletozero previously_disabled=true
[neko] 11:30PM INF no operation needed; skipping toggle currently_connected_sessions=3 currently_disabled=true module=scaletozero previously_disabled=true
[neko] 11:30PM INF no operation needed; skipping toggle currently_connected_sessions=2 currently_disabled=true module=scaletozero previously_disabled=true
[neko] 11:30PM INF no operation needed; skipping toggle currently_connected_sessions=1 currently_disabled=true module=scaletozero previously_disabled=true
[neko] 11:30PM INF enabling scale-to-zero module=scaletozero
[neko] 11:30PM INF disabling scale-to-zero connected_sessions=1 module=scaletozero
[neko] 11:30PM INF no operation needed; skipping toggle currently_connected_sessions=2 currently_disabled=true module=scaletozero previously_disabled=true
[neko] 11:30PM INF no operation needed; skipping toggle currently_connected_sessions=3 currently_disabled=true module=scaletozero previously_disabled=true
[neko] 11:30PM INF no operation needed; skipping toggle currently_connected_sessions=4 currently_disabled=true module=scaletozero previously_disabled=true
[neko] 11:30PM INF no operation needed; skipping toggle currently_connected_sessions=5 currently_disabled=true module=scaletozero previously_disabled=true
[neko] 11:30PM INF no operation needed; skipping toggle currently_connected_sessions=6 currently_disabled=true module=scaletozero previously_disabled=true
[neko] 11:30PM INF no operation needed; skipping toggle currently_connected_sessions=7 currently_disabled=true module=scaletozero previously_disabled=true
[neko] 11:30PM INF no operation needed; skipping toggle currently_connected_sessions=8 currently_disabled=true module=scaletozero previously_disabled=true
[neko] 11:30PM INF no operation needed; skipping toggle currently_connected_sessions=9 currently_disabled=true module=scaletozero previously_disabled=true
[neko] 11:30PM INF no operation needed; skipping toggle currently_connected_sessions=10 currently_disabled=true module=scaletozero previously_disabled=true
[neko] 11:30PM INF no operation needed; skipping toggle currently_connected_sessions=11 currently_disabled=true module=scaletozero previously_disabled=true
[neko] 11:31PM INF no operation needed; skipping toggle currently_connected_sessions=10 currently_disabled=true module=scaletozero previously_disabled=true
[neko] 11:31PM INF no operation needed; skipping toggle currently_connected_sessions=9 currently_disabled=true module=scaletozero previously_disabled=true
[neko] 11:31PM INF no operation needed; skipping toggle currently_connected_sessions=8 currently_disabled=true module=scaletozero previously_disabled=true
[neko] 11:31PM INF no operation needed; skipping toggle currently_connected_sessions=7 currently_disabled=true module=scaletozero previously_disabled=true
[neko] 11:31PM INF no operation needed; skipping toggle currently_connected_sessions=6 currently_disabled=true module=scaletozero previously_disabled=true
[neko] 11:31PM INF no operation needed; skipping toggle currently_connected_sessions=5 currently_disabled=true module=scaletozero previously_disabled=true
[neko] 11:31PM INF no operation needed; skipping toggle currently_connected_sessions=4 currently_disabled=true module=scaletozero previously_disabled=true
[neko] 11:31PM INF no operation needed; skipping toggle currently_connected_sessions=3 currently_disabled=true module=scaletozero previously_disabled=true
[neko] 11:31PM INF no operation needed; skipping toggle currently_connected_sessions=2 currently_disabled=true module=scaletozero previously_disabled=true
[neko] 11:31PM INF no operation needed; skipping toggle currently_connected_sessions=1 currently_disabled=true module=scaletozero previously_disabled=true
[neko] 11:31PM INF enabling scale-to-zero module=scaletozero
[neko] 11:32PM INF disabling scale-to-zero connected_sessions=2 module=scaletozero
[neko] 11:32PM INF no operation needed; skipping toggle currently_connected_sessions=2 currently_disabled=true module=scaletozero previously_disabled=true
[neko] 11:32PM INF no operation needed; skipping toggle currently_connected_sessions=3 currently_disabled=true module=scaletozero previously_disabled=true
[neko] 11:32PM INF no operation needed; skipping toggle currently_connected_sessions=4 currently_disabled=true module=scaletozero previously_disabled=true
[neko] 11:32PM INF no operation needed; skipping toggle currently_connected_sessions=5 currently_disabled=true module=scaletozero previously_disabled=true
[neko] 11:32PM INF no operation needed; skipping toggle currently_connected_sessions=6 currently_disabled=true module=scaletozero previously_disabled=true
[neko] 11:32PM INF no operation needed; skipping toggle currently_connected_sessions=7 currently_disabled=true module=scaletozero previously_disabled=true
[neko] 11:32PM INF no operation needed; skipping toggle currently_connected_sessions=8 currently_disabled=true module=scaletozero previously_disabled=true
[neko] 11:32PM INF no operation needed; skipping toggle currently_connected_sessions=9 currently_disabled=true module=scaletozero previously_disabled=true
[neko] 11:32PM INF no operation needed; skipping toggle currently_connected_sessions=10 currently_disabled=true module=scaletozero previously_disabled=true
[neko] 11:32PM INF no operation needed; skipping toggle currently_connected_sessions=11 currently_disabled=true module=scaletozero previously_disabled=true
[neko] 11:33PM INF no operation needed; skipping toggle currently_connected_sessions=10 currently_disabled=true module=scaletozero previously_disabled=true
[neko] 11:33PM INF no operation needed; skipping toggle currently_connected_sessions=9 currently_disabled=true module=scaletozero previously_disabled=true
[neko] 11:33PM INF no operation needed; skipping toggle currently_connected_sessions=8 currently_disabled=true module=scaletozero previously_disabled=true
[neko] 11:33PM INF no operation needed; skipping toggle currently_connected_sessions=8 currently_disabled=true module=scaletozero previously_disabled=true
[neko] 11:33PM INF no operation needed; skipping toggle currently_connected_sessions=7 currently_disabled=true module=scaletozero previously_disabled=true
[neko] 11:33PM INF no operation needed; skipping toggle currently_connected_sessions=6 currently_disabled=true module=scaletozero previously_disabled=true
[neko] 11:33PM INF no operation needed; skipping toggle currently_connected_sessions=5 currently_disabled=true module=scaletozero previously_disabled=true
[neko] 11:33PM INF no operation needed; skipping toggle currently_connected_sessions=4 currently_disabled=true module=scaletozero previously_disabled=true
[neko] 11:33PM INF no operation needed; skipping toggle currently_connected_sessions=3 currently_disabled=true module=scaletozero previously_disabled=true
[neko] 11:33PM INF no operation needed; skipping toggle currently_connected_sessions=2 currently_disabled=true module=scaletozero previously_disabled=true
[neko] 11:33PM INF no operation needed; skipping toggle currently_connected_sessions=2 currently_disabled=true module=scaletozero previously_disabled=true
[neko] 11:33PM INF no operation needed; skipping toggle currently_connected_sessions=1 currently_disabled=true module=scaletozero previously_disabled=true
[neko] 11:33PM INF enabling scale-to-zero module=scaletozero
[neko] 11:33PM INF no operation needed; skipping toggle currently_connected_sessions=0 currently_disabled=false module=scaletozero previously_disabled=false

Description generated by Mesa. Update settings

Copy link

@mesa-dot-dev mesa-dot-dev bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Performed full review of 46e2fc7...e9293ae

Analysis

  1. Despite the architectural improvements, the PR doesn't address potential race conditions in the new state-based design that could occur during concurrent session state transitions.

  2. The simplified boolean flag disabledScaleToZero may lack granularity compared to the counter approach, potentially making it difficult to handle partial or in-progress scaling operations.

  3. The centralized manage() method creates a potential single point of failure and may become a bottleneck as system complexity grows.

  4. The PR appears to focus on fixing symptoms rather than addressing the root cause of event deduplication failures, which could resurface in other components.

Tip

⚡ Quick Actions

This review was generated by Mesa.

Actions:

Slash Commands:

  • /review - Request a full code review
  • /review latest - Review only changes since the last review
  • /describe - Generate PR description. This will update the PR body or issue comment depending on your configuration
  • /help - Get help with Mesa commands and configuration options

1 files reviewed | 0 comments | Review on Mesa | Edit Reviewer Settings

connectedSessions := 0
for _, s := range m.sessions.List() {
if s.State().IsConnected {
connectedSessions++
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

is there a world where a session is disconnected (IsConnected == false) but is trying to reconnect, and by not counting it here we might scale to zero, preventing it from connecting?

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Great question! There's a grace period after disconnects for reconnection: https://github.com/onkernel/neko/blob/e9293ae098832ae0c4b63d092a9bd370e3c0ab12/server/internal/session/session.go#L145-L213

Especially wrt to scale to zero that delay + this buffer seems reasonable. For new connections at our proxy layer we'd be "waking up" the VM externally regardless ^^

@Sayan- Sayan- merged commit 560fac5 into master Oct 21, 2025
3 checks passed
@Sayan- Sayan- deleted the sayan/simplify-stz branch October 21, 2025 20:40
Sayan- added a commit to kernel/kernel-images that referenced this pull request Oct 22, 2025
Pulls in kernel/neko#8
kernel/neko#9

<!-- CURSOR_SUMMARY -->
---

> [!NOTE]
> Update chromium-headful Dockerfile to use neko base image
3.0.8-v1.3.0.
> 
> - **Docker**:
> - Bump base image in `images/chromium-headful/Dockerfile` from
`ghcr.io/onkernel/neko/base:3.0.8-v1.1.0` to `3.0.8-v1.3.0`.
> 
> <sup>Written by [Cursor
Bugbot](https://cursor.com/dashboard?tab=bugbot) for commit
e6afb32. This will update automatically
on new commits. Configure
[here](https://cursor.com/dashboard?tab=bugbot).</sup>
<!-- /CURSOR_SUMMARY -->
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants