Hi Radek,
This is unfortunately a bit tricky, because zHyperWrite is largely transparent to MQ. The only awareness that the queue manager has of zHyperWrite is when it initially opens the active log data sets at queue manager start up. We can see whether each data set is enabled or disabled for zHyperWrite, that is all. When we issue a write using zHyperWrite, we can't tell if zHyperWrite was used, or whether the write fell back to a normal MetroMirror/PPRC write.
The messages you refer to are all based on the feedback the queue manager gets at start up. If the zHyperWrite status of the active logs changes, the queue manager can't tell and has no choice but to use the information it had at start up.
Experience with other customers has shown that sometimes when a MetroMirror session between DASD is established it takes a while to stabilise to the point where zHyperWrite can be used. If the queue manager starts up before this point it will think that the logs aren't enabled for zHyperWrite and you will get messages to this effect. But from a storage team perspective all of the configuration for zHyperWrite is there. It is possible that is what you are seeing.
What version of MQ are you on? I suggest you take a look at this APAR if at 9.2 or 9.3, or at the docs if at 9.4.0. Basically the original zHyperWrite implementation in MQ would only use zHyperWrite if the log data sets where enabled for zHyperWrite at queue manager start up. If they weren't then zHyperWrite would never be used. Subsequently it became apparent that zHyperWrite is more dynamic than we thought, and can come and go. So in 9.4, and via that APAR, we changed the behaviour so that if ZHYWRITE(YES) is set the queue manager would always try and use zHyperWrite when writing to the log, regardless of whether the log data sets had zHyperWrite enabled at start up or not.
Hopefully that makes sense!
To answer your questions:
1) This page describes the requirements for zHyperWrite with MQ. Bar ZHYWRITE(YES), everything else is done at the volume level, and there are no MQ specific requirements on those volumes or data sets
2) The only way you can prove that zHyperWrite is being used is by observing the performance benefits that it brings. If you turn on MQ's SMF 115 data, i.e. stats, you should be able to see some of the time based QJST values reduce. If you run a workload through a queue manager and toggle the value of ZHYWRITE from NO to YES then you should see QJSTIOTOTIO (total I/O duration) reduce with ZHYWRITE(YES). I have seen significant reductions in QJSTIOTOTIO at most customers
Unfortunately there is no other way to observe the benefits from zHyperWrite. Its an area I would love to improve, but MQ is dependent on getting more feedback from the disk interfaces (Media Manager). I have an idea raised against Media Manager, please vote on it!
I know lots of customers that have exploited zHyperWrite and really benefited from it, so please persevere. Also zHyperWrite is a prereq for the zHyperLink support we added in 9.4.
Let me know if you have further questions.
Regards, Matt.
------------------------------
Matt Leming
STSM, IBM MQ for z/OS
Email:
lemingma@uk.ibm.com------------------------------