-
Notifications
You must be signed in to change notification settings - Fork 1.4k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Properly close internal reply queues #9488
Conversation
Codecov Report
|
# https://github.com/dsuch/pymqi/blob/084ab0b2638f9d27303a2844badc76635c4ad6de/code/pymqi/__init__.py#L2892-L2902 | ||
# https://dsuch.github.io/pymqi/examples.html#how-to-specify-dynamic-reply-to-queues | ||
if pcf is not None: | ||
pcf.disconnect() |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
any chances this can throw an exception?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It shouldn't as exceptions are handled inside this method
https://github.com/dsuch/pymqi/blob/35d0e45ea16c0b2077b20906856f587d6f8ffa6a/code/pymqi/__init__.py#L2900-L2910
I did not cherry-pick release PRs (#9708, #9492, #9456) nor documentation-only PRs (#9418, #9616, #9642) from git history to keep the commit as small as possible. PR #9400 is also relevant but it was already on the git history of this branch (see `git log -- ibm_mq` to double check). Don't emit any warnings if NO_MSG_AVAILABLE is received (#9452) (cherry picked from commit 13c10d9) Properly close internal reply queues (#9488) * Properly close internal reply queues * Define pcf (cherry picked from commit 9d395c0) Add debug line when there are no messages available (#9702) * Add debug line when there are no messages available (cherry picked from commit 3055228) Do not submit critical service check when there are no messages (#9703) (cherry picked from commit f0568c1)
What does this PR do?
Close internal reply queue when collecting queue stats.
We tried to fix this in #8349 , but customer didn't test the beta release. Here is the original explaination of the fix:
A customer reported that the Agent writes to a dead-letter queue (DLQ) associated to
PYMQPCF.*
.PYMQPCF.*
is the prefix of internal queues (known as "reply queues") used by pymqi when executing a command.pcf.disconnect()
, the reply queue gets properly closed, so no messages will be marked as "undelivered" since the queue is disposed.Motivation
Support case
Additional Notes
Review checklist (to be filled by reviewers)
changelog/
andintegration/
labels attached