Skip to content

Client: unsubscribe the topic of the removed subscription - #286

Open
t0susnik wants to merge 1 commit into
fair-acc:mainfrom
t0susnik:fix/unsubscribe-own-topic
Open

t0susnik wants to merge 1 commit into
fair-acc:mainfrom
t0susnik:fix/unsubscribe-own-topic

Conversation

@t0susnik

@t0susnik t0susnik commented Nov 9, 2026

Copy link
Copy Markdown

OpenCmwDataSource.unsubscribe(reqId) looks up the subscription's endpoint, then uses the endpoint field instead. That field is the endpoint the data source was created with, so it belongs to the first subscription on that connection.

Every unsubscribe therefore removes the first subscription's ZMQ topic:

  • The closed subscription keeps receiving. Its request ID is already gone, so each update logs Could not find subscription for notified request with endpoint: ....
  • If the first subscription is still open, it stops receiving, without an error.

The fix uses the removed subscription's endpoint for the mds topic and for the mdp UNSUBSCRIBE message.

Seen at GSI with two OpenDigitizer channels of one device (same host and worker): after the second channel was closed, the server kept streaming it and the first channel went silent.

OpenCmwDataSource.unsubscribe looked up the subscription's endpoint, then
used the endpoint the data source was created with. That is the endpoint of
the first subscription on the connection. Every unsubscribe removed the first
subscription's topic: the closed subscription kept receiving, logged as
"Could not find subscription", and the first subscription went silent.

This branch has not been deployed

No deployments
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.

1 participant