Skip to content
GitHub

HotLoop Flow 2.6.0 release notes

HotLoop Flow 2.6.0 gives a durable wire a way to tell you it has stopped delivering. Nothing about how your flows run changes. If you run durable wires on a plant line, what you get is a counter you can alert on for the one failure that used to look like a quiet queue.

A stuck durable wire is counted and described. A durable wire’s pump now notices when the wire says messages are waiting and the queue holds nothing it can read, and it is still that way after a short recheck. It adds one to hotloop_flow_durable_wire_stranded_total{wire=...} and writes one warning to the runtime log, once per kind of fault, with the wire’s counters next to what its table holds: how far the pump got, the depth, the rows on disk, what is in flight, and how many were appended, delivered and dropped. On a healthy wire the counter is zero and stays zero, so any value above zero is worth a page.

I added it because a drop-oldest wire failed to drain once in a few thousand test runs and I could not catch why. I ran the scenario about 11,000 more times, 8,000 of them with the race detector, and 60,000 runs of the existing drop-oldest tests, and it did not fire again. This release is the instrument, not a fix. If it ever fires on your line, the log line is what I need.

  • The license text shipped in the image spells EmberNet the way the canonical copy does. Three lines, spelling only.
  • The README’s pictures are plain images, light then dark, so they show on docs.hotloop.io.
  • The Playwright wire tests wait for a wire to stop moving before they click it. That is CI only, nothing ships.
  • The release workflow for the chart now makes the same dashboard sign-in checks as the pull request workflow.

None. The metric is on, and there is no switch.

A plain helm upgrade to the 2.6.0 image and chart, or the new tag in your Quadlet unit. Nothing happens on first start, there is nothing to migrate, and the flows, the deployment records and the credentials are not touched.

The counter is tested by making the fault by hand, and the test fails with the pump’s check removed. It has never fired on a real wire, because I have never seen the real fault. The cause of the drop-oldest drain failure is still not found.

Image: ghcr.io/hotloop-io/hotloop-flow:2.6.0, linux/amd64 and linux/arm64. Chart: https://hotloop.io/hotloop-flow/. The README at this tag has the rest, with pictures: https://github.com/HotLoop-io/hotloop-flow/blob/v2.6.0/README.md