ZMQ Bug: Last Value Caching#445
Conversation
…n restart telemetry loss
drriddle
left a comment
There was a problem hiding this comment.
This is why I use a constant stream of telemetry, there's no question of the current state in that case. An improvement could be made by having the client request the current data frame after connection, so that they are up to date with everything. They may miss what happened while they were gone, but there's no getting around that without downloading the entire data base back X data frames.
|
That was already being done. All daemons when they start would publish their status and presence. Publishing their presence was supposed to induce all publishers that he subscribes to, to publish their status. That way, anyone can come and go as they please and no one gets out of touch. It was a good idea but it was broken. The problem came because I was using the built-in Anyway, it's not actually a bug, it's a feature to limit traffic, and to get it to behave like I want, it needs a smarter broker, which is what this adds. |
This fixes messaged to fill a known gap in ZMQ by replacing zmq_proxy with last-value-cache broker. Without this, if a daemon restarts it failed to get telemetry. This is based on
lvcache.c.By ZMQ's own admission,
And the explicit admission:
-- https://zguide.zeromq.org/docs/chapter5/
and also here:
— ZeroMQ, O'Reilly (Chapter 5), https://www.oreilly.com/library/view/zeromq/9781449334437/ch05s03.html