MQRC 2056 - MQRC_Q_SPACE_NOT_AVAILABLE - PullRequest
       13

MQRC 2056 - MQRC_Q_SPACE_NOT_AVAILABLE

4 голосов
/ 09 марта 2011

Если сообщение не может быть отправлено в очередь WebSphere MQ с MQRC 2056 MQRC_Q_SPACE_NOT_AVAILABLE, оно отправляется в очередь недоставленных сообщений.Это означает, что исходное дисковое пространство, выделенное для использования очередей, составляет 100%.Скажем, в файловой системе / var / mqm достаточно свободного места в очереди.Даже у нас есть хранилище очереди мертвых писем в том же / var / mqm.Если мы уже получили MQRC 2056 - MQRC_Q_SPACE_NOT_AVAILABLE, то как возможно, что сообщение попадет в очередь недоставленных сообщений, когда его дисковое пространство уже заполнено?

1 Ответ

1 голос
/ 09 марта 2011

В вашем случае MQRC_Q_SPACE_NOT_AVAILABLE на самом деле отражает общий объем пространства в разделе диска, однако это не так во всех случаях. Например, в старых файловых системах максимально возможный размер файла составлял 2 ГБ, хотя раздел мог вместить до 1 ТБ. Поэтому, если один файл очереди достигает 2 ГБ, QMgr может все еще иметь достаточно места в разделе, доступном для запроса сообщения в DLQ. Хотя в новых файловых системах было устранено ограничение в 2 ГБ, WebSphere MQ по-прежнему поддерживает многие файловые системы, которые имеют ограничение 2 ГБ на файл. На платформах, где это ограничение отсутствует (или в любом случае, когда весь раздел не хватает места, независимо от платформы), поведение не вредит. На тех платформах, где требование может быть успешным, наблюдаемое вами поведение является уместным и даже желательным.

Таким образом, существует разница между исчерпанием пространства для одного файла очереди и исчерпанием всего файлового пространства в разделе. WebSphere MQ может запросить аспекты файловой системы, чтобы детально определить, какой случай вызвал ошибку, но это усложнит код. Простым и быстрым является попытка повторного запроса, когда операционная система возвращает ошибку нехватки места. Если в разделе есть свободное место, запрос работает. Если нет, то приложение ничуть не хуже, чем было до попытки восстановления.

...