Resetting the queue manager's log
Use this topic to understand how to reset the queue manager's log.
You must not allow the queue manager log RBA to wrap around from the end of the log RBA range to 0, as this leads to a queue manager outage and all persistent data will become unrecoverable. The end of the log RBA is either a value of FFFFFFFFFFFF (if 6-byte RBAs as in use), or FFFFFFFFFFFFFFFF (if 8-byte RBAs are in use).
The queue manager issues messages CSQI045I, CSQI046E, CSQI047E, CSQJ031D, and CSQJ032E to indicate that the used log range is significant and that you should plan to take action to avoid an unplanned outage.
The queue manager terminates with reason code 00D10257 when the RBA value reaches FFF800000000 (if 6-byte log RBAs are in use) or FFFFFFC000000000 (if 8-byte log RBAs are in use).
If 6-byte log RBAs are in use, consider converting the queue manager to use 8-byte log RBAs rather than resetting the queue manager's log, following the process described in Implementing the larger log Relative Byte Address. Converting a queue manager to use 8-byte log RBAs requires a shorter outage than resetting the log, and increases the period of time before you have to reset the log.
Message CSQJ034I, issued during queue manager initialization, indicates the end of the log RBA range for the queue manager as configured, and can be used to determine whether 6-byte or 8-byte log RBAs are in use.
- Resolve any unresolved units of work. The number of unresolved units of work is displayed at
queue manager startup in message CSQR005I as the INDOUBT count. At each checkpoint, and at queue
manager shutdown, the queue manager automatically issues the command
DISPLAY CONN(*) TYPE(CONN) ALL WHERE(UOWSTATE EQ UNRESOLVED) to provide information about unresolved units of work.
See How in-doubt units of recovery are resolved for information on resolving units of recovery. The ultimate recourse is to use the RESOLVE INDOUBT MQSC command to manually resolve indoubt units of recovery.
- Shut down the queue manager cleanly.
You can use either STOP QMGR or STOP QMGR MODE(FORCE) as both these commands flush any changed pages from bufferpools to the page sets.
- If a queue manager is part of a queue sharing group, take CFSTRUCT backups on other queue managers for all structures in the queue sharing group. This ensures that the most recent backups are not in this queue manager's log, and that this queue manager's log is not required for CFSTRUCT recovery.
- Define new logs and BSDS using CSQJU003 (see The change log inventory utility for more information on using the change log inventory utility).
- Run CSQUTIL RESETPAGE against all the page sets for this queue manager (see Copying a page and resetting the log for more information on using this function). Note that page set RBAs can be reset independently, so multiple concurrent jobs (for example, one per page set) can be submitted to reduce the elapsed time for this step.
- Restart the queue manager
Warning messages
- When IBM MQ detects that the end of the log is
approaching in the near future, (approximately 94% full) IBM MQ issues console message CSQI045I, as in the
following example:
CSQI045I -CSQ7 CSQILCUR Log RBA has reached 0000F00000000000. Plan a log reset - IBM MQ issues the following CSQI046E
error console message when the end of the log is near (approximately 97% full). This informs the
IBM MQ administrator to take action
soon.
CSQI046E -CSQ7 CSQILCUR Log RBA has reached 0000F80000000000. Perform a log reset - After the CSQI046E message is issued, at the next log switch, IBM MQ issues the following CSQJ032E console
message with the word WARNING:
CSQJ032E -CSQ7 CSQJW307 WARNING - APPROACHING END OF THE LOG RBA RANGE OF 0000FFFFFFFFFFFF. CURRENT LOG RBA IS 0000F80000022000. - After the CSQI046E and CSQJ032E console messages are issued,
IBM MQ issues one more error message, which does not
require immediate IBM MQ administrator intervention.
IBM MQ issues console message CSQI047E
(when the log is approximately 99% full):
CSQI047E -CSQ7 CSQILCUR Log RBA has reached 0000FF0000000000. Stop queue manager and reset logs - When the log RBA reaches
FF8000000000, IBM MQ increases the urgency of the situation and issues console message CSQJ032E with the word CRITICAL:CSQJ032E -CSQ7 CSQJW009 CRITICAL - APPROACHING END OF THE LOG RBA RANGE OF 0000FFFFFFFFFFFF. CURRENT LOG RBA IS 0000FFF7FFFFDFFF. - If the queue manager is started when the log RBA is almost at the maximum, the following
CSQJ031D console message is issued. This stage requires the input of the IBM MQ administrator:.
CSQJ031D -CSQ7 CSQYSTRT THE LOG RBA RANGE MUST BE RESET. REPLY 'Y' TO CONTINUE STARTUP OR 'N' TO SHUTDOWN - IBM MQ startup remains suspended until a reply is given to message CSQJ031D.
The purpose of these messages is to give the IBM MQ administrator time to plan for a system outage to reset the logs. In an ideal configuration, there are at least two queue managers, possibly in a queue sharing group (QSG), sharing the workload. When one is down for maintenance the other can continue to receive work.
The severity of console messages that IBM MQ issues becomes greater as the RBA gets closer to the end. Ideally your IBM MQ administrator should plan to reset the log RBA when the first console message is seen.
5C6-00D10257
when the log RBA reaches FFF800000000, at which point IBM MQ determines that the available range is too small for the
queue manager to continue. When this point is reached, the only option is to take an outage and
either reset the log or extend the size of the log RBA.The preferred option to avoid losing any in-flight UOW is to extend the log RBA to use 8 bytes. This means that a log RBA reset will not be necessary for a long period.
Warning thresholds
| Console message | 6-byte log RBA | 8-byte log RBA |
|---|---|---|
| CSQI045I | 0000F00000000000 |
FFFF800000000000 |
| CSQI046E | 0000F80000000000 |
FFFFC00000000000 |
| CSQI047E | 0000FF8000000000 |
FFFFFC0000000000 |
| CSQJ032E | 0000FF8000000000
|
FFFFFC0000000000
|
| CSQJ031D | 0000FF8000000000 |
FFFFFC0000000000 |
- For message CSQJ032E, the first number applies to the WARNING text and the second number applies to the CRITICAL text in the console message.
- Message CSQJ031D is issued at IBM MQ initialization only.