Repository navigation
Conversation
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
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
OpenCmwDataSource.unsubscribe(reqId)looks up the subscription's endpoint, then uses theendpointfield 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:
Could not find subscription for notified request with endpoint: ....The fix uses the removed subscription's endpoint for the
mdstopic and for themdpUNSUBSCRIBE 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.