The message count of a transactional outgoing queue is not reset to zero by the Message Queuing service (840145)



The information in this article applies to:

  • Microsoft Message Queuing 3.0
  • Microsoft Message Queuing 2.0
  • Microsoft Message Queue Server (MSMQ) 1.0

SYMPTOMS

After you delete the messages of a transactional outgoing queue in the Message Queuing (also known as MSMQ) service, the Message Queuing service does not change the message count of the outgoing queue. The count is not reset to zero.

CAUSE

This problem occurs with the transactional outgoing queue if all the following conditions are true:
  • The messages are marked with the PROPID_M_JOURNAL property.
  • The PROPID_M_JOURNAL property is set to the MQMSG_DEADLETTER journaling property.
  • The order acknowledgements have already been received from the destination computer.
The queue manager keeps these messages in a hidden state until the queue manager receives the final acknowledgements from the destination computer.

The queue manager holds the references to these messages. Therefore, when you delete the messages of a transactional outgoing queue, the messages are marked as deleted. However, the messages are not actually deleted from the message files. Therefore, the count is not reset to zero.

RESOLUTION

To resolve this problem, use either of the following methods:
  • Restart your computer.
  • Restart the Message Queuing service.

    To do this, follow these steps:
    1. Right-click My Computer, and then click Manage.

      The Computer Management window appears.
    2. Expand Services and Applications, and then click Services.
    3. In the list of Services, locate the Message Queuing service. Right-click the Message Queuing service, and then click Restart.

STATUS

This behavior is by design.

MORE INFORMATION

Steps to reproduce the problem

To reproduce the problem, follow these steps:
  1. Create a transactional queue on a computer.
  2. Send a transactional message to the remote queue after you set the PROPID_M_JOURNAL property of the message to the MQMSG_DEADLETTER journaling property.
  3. After you receive acknowledgment from the destination computer, try to delete the message in the outgoing message queue.

    You may notice the problem that is mentioned in the "Symptoms" section.

Modification Type:MajorLast Reviewed:2/9/2006
Keywords:kbtshoot kbService kbMsg kbTransaction kbprb KB840145 kbAudDeveloper