Page set problems

Use this topic to investigate, and resolve problems with the page sets.

This topic covers the problems that you might encounter with page sets:
  • Page set I/O errors describes what happens if a page set is damaged.
  • Page set full describes what happens if there is not enough space on the page set for any more MQI operations.

Page set I/O errors

Problem
A page set has an I/O error.
Symptoms
This message is issued:

CSQP004E +CSQ1 csect-name I/O ERROR STATUS ret-code
PSID psid RBA rba
System action
The queue manager terminates abnormally.
System programmer action
None.
Operator action
Repair the I/O error cause.

If none of the page sets are damaged, restart the queue manager. IBM® MQ automatically restores the page set to a consistent state from the logs.

If one or more page sets are damaged:
  1. Rename the damaged page sets and define replacement page sets.
  2. Copy the most recent backup page sets to the replacement page sets.
  3. Restart the queue manager. IBM MQ automatically applies any updates that are necessary from the logs.

You cannot restart the queue manager if page set zero is not available. If one of the other page sets is not available, you can comment out the page set DD statement in the queue manager start-up JCL procedure. This lets you defer recovery of the defective page set, enabling other users to continue accessing IBM MQ.

When you add the page set back to the JCL procedure, system restart reads the log from the point where the page set was removed from the JCL to the end of the log. This procedure might take a long time if a large amount of data has been logged.

A reason code of MQRC_PAGESET_ERROR is returned to any application that tries to access a queue defined on a page set that is not available.

When you have restored the defective page set, restore its associated DD statement and restart the queue manager.

The operator actions described here are only possible if all log data sets are available. If your log data sets are lost or damaged, see Restarting if you have lost your log data sets.

Page set full

Problem
There is not enough space on a page set for one of the following:
  • MQPUT or MQPUT1 calls to be completed
  • Object manipulation commands to be completed (for example, DEFINE QLOCAL)
  • MQOPEN calls for dynamic queues to be completed
Symptoms
The request fails with reason code MQRC_STORAGE_MEDIUM_FULL. The queue manager cannot complete the request because there is not enough space remaining on the page set.

Reason code MQRC_STORAGE_MEDIUM_FULL can occur even when the page set expand attribute is set to EXPAND(USER). Before the reason code MQRC_STORAGE_MEDIUM_FULL is returned to the application code, the queue manager will attempt to expand the page set and retry the API request. On a heavily loaded system it is possible that the expanded storage can be used by other IO operations before the retry of the API. See Managing page sets.

The cause of this problem could be messages accumulating on a transmission queue because they cannot be sent to another system.

System action
Further requests that use this page set are blocked until enough messages are removed or objects deleted to make room for the new incoming requests.
Operator action
Use the IBM MQ command DISPLAY USAGE PSID(*) to identify which page set is full.
System programmer action
You can either enlarge the page set involved or reduce the loading on that page set by moving queues to another page set. See Managing page sets for more information about these tasks. If the cause of the problem is messages accumulating on the transmission queue, consider starting distributed queuing to transmit the messages.