Ive been involved with MQ for the whole of its life (I worked on the very first release), and I’ve just discovered something which is really basic!
I was testing out some code, and wanted to set the max depth of the queue to a low value for the duration of a test.
I thought this was easy; just use MQSET, specify parameter MQIA_MAX_Q_DEPTH, and the value I wanted (9).
When it reported
Reason 2067: FAILED: MQRC_SELECTOR_ERROR
I added in extra code to printout the values and yes, this was the value returned. If this was a bug I was sure it would have been spotted many years ago. I checked the documentation (remember, if all else fails, read the documentation). Look, I can set get inhibit, put inhibit etc ahh – max depth was not listed.
So when you get Reason 2067: FAILED: MQRC_SELECTOR_ERROR please check the documentation.