IBM MQ and the relationship between a dollar bill and a giraffe
Mark_P_Wilson 110000MD6D Visits (4948)
I am a software developer on IBM MQ for z/OS, based in IBM Hursley in the UK. For this month I am working on writing the next MQ V8 IBM Redbooks publication. The IBM Redbooks publication residency has given me an opportunity to write about MQ as well as learning about new functionalities of MQ that I have not worked on in my day job.
MQ for z/OS provides the robustness of the System z platform as well as the reliability and the flexibility that comes with MQ. Over the past few releases MQ has improved the scalability and capacity, MQ V8 is no exception.
The MQ log uses a log relative byte address (RBA) to address the position in the log. The log RBA was 6 bytes long which gives a total capacity of approximately 256 TB (terabytes). In the early 1990's when MQ was first developed, the range of the log was considered huge. With the modern MQ workloads and the increase in message sizes, along with the faster hardware, the throughput that can be achieved, makes the log capacity something the MQ administrator must keep in mind. Once the capacity is nearly exhausted the logs have to be reset which requires a disruptive outage.
In MQ version 8, the log RBA has been extended to use 8 bytes. Although this is only 2 bytes more, it increases the log range by a factor of 65,536 to 16 EB (exabytes - 260). It is hard to imagine the increase in log range, which is what gave me the title for this blog entry! If the 6 byte range is the same as the thickness of a US dollar bill (0.0043 inches or 0.10922 millimetres) then if you stack 65,536 dollar bills on top of each other the tower would be taller than the tallest giraffe!
MQ provides a new utility (CSQJUCNV) which converts the queue manager to use the 8 byte log RBA mode. This does require an MQ outage but after the conversion has been completed an outage to reset the log RBA is extremely unlikely to be required in the foreseeable future.
To use the 8 byte log RBA feature the queue manager has to be running in OPMODE(NEWFUNC, 800), the queue manager will not let you go back to a prior release. When running in a Queue Sharing Group (QSG) all the members have to be running in OPMODE(NEWFUNC, 800). The utility will check the status of the QSG before converting a queue manager to use the 8 byte log RBA. A QSG can have a mixture 6 or 8 byte capable queue managers.
The utility requires a new Boot Strap Data Set (BSDS), or two if the queue manager is running in dual logging mode, these can be created while the queue manager is running. In MQ V8 the recommended BSDS allocations have changed to hold more records. RECORDS(850 60) should now be specified.
To run the conversion utility the queue manager has to be stopped. The utility takes the old BSDS dataset pair and the new BSDS dataset pair as DD card type parameters. The old BSDS format is converted into the new format and written out to the new BSDS dataset pair. The queue manager should then be restarted with the new BSDS datasets. The new log entries will be in the 8 byte log RBA format but the entries prior to the conversion are still in the 6 byte format as MQ is able to read both.
On successful queue manager start up using 8 byte log RBA the queue manager will issue:
CSQJ034I -CSQ6 CSQJW007 END OF LOG RBA RANGE IS FFFFFFFFFFFFFFFF
For more on this subject including hints, tips, and new features in MQ V8, read the forthcoming IBM WebSphere MQ V8 Features and Enhancements Redbooks publication (in draft mode as of the time of this writing).