Skip to content

A fleet being stopped or retired leaves no proxy behind; release 0.7.4 - #37

Merged
flujo-app merged 1 commit into
mainfrom
fleet-close-proxy
Nov 12, 2026
Merged

flujo-app merged 1 commit into
mainfrom
fleet-close-proxy

Conversation

@flujo-app

Copy link
Copy Markdown
Owner

Fixes #36.

In a real Greenswarm run (Nov 12, 0.7.3), a fleet's teams were done, but the caller only exited when a leftover fly proxy process was ended by hand. Its status poller read the fleet once more while the fleet was being stopped. request() then opened a new private proxy, and nothing closed it after retire().

What changes in src/cloud-lite/fleet.mjs:

  • While stop() runs, and once the fleet is retired, request() opens no new connection. It says why instead.
  • A proxy that was still being opened when the stop began is closed again at once.
  • stop() and retire() close the open connection at their end, also when they fail.
  • start() (a recovery) opens the fleet up again, so a fleet started after a stop connects as before.
  • disconnect() clears the connection before it stops it, so a second call does nothing.

The collection path (verifiedShutdown) still makes its requests before the fleet counts as stopped, as before.

Release 0.7.4 (package.json and package-lock.json).

Test: test/cloud-lite-connection.test.mjs covers four cases:

  • a status read that arrives during a stop;
  • stop and retire with an open connection;
  • a proxy that opens while the stop begins;
  • a start after a stop.

All four fail without the change. The full suite needs Node 22.17 or 24 (node:sqlite backup); this PC has 22.13, so the matrix in CI is the check.

Greenswarm works around the fault for now (flujo-app/greenswarm#346). It takes that out when it pins this release.

…d retire close the one that is open; release 0.7.4

A caller's status read that arrived while the fleet was being stopped opened a private proxy that nothing closed after
retire; the fly proxy process then kept the caller alive (Fixes #36).
@flujo-app
flujo-app merged commit 88b07de into main Nov 12, 2026
2 checks passed
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.

A retired fleet leaves its fly proxy running, which keeps the caller's process alive

1 participant