Notice: This website is an unofficial Microsoft Knowledge Base (hereinafter KB) archive and is intended to provide a reliable access to deleted content from Microsoft KB. All KB articles are owned by Microsoft Corporation. Read full disclaimer for more details.

Message Queuing (MSMQ) does not support Virtual Machine snapshots and replica failover


Summary

Message Queuing does not support Virtual Machine snapshots and replica failover.

↑ Back to the top


More Information

The purpose of MSMQ is the exchange of messages between multiple machines. Like most protocols, MSMQ has a distributed state and requires all machines to agree on that state. Restoring a snapshot that has been taken in the past means the machine state goes backwards in time. As a consequence, that machine will "forget" all transactions it has committed to. The same holds for sequence numbers of messages.

Example: A snapshot of machine M1 is taken at time T1. Afterwards, machine M1 exchanges messages with another machine M2. Now machine M1 is restored to the snapshot taken at time T1. If machine M1 sends new messages, it will be sending sequence numbers which machine M2 believes are duplicates. As a consequence, machine M2 will discard these messages. If machine M2 sends new messages to machine M1, M1 will see a gap in the sequence numbers and discard those messages until the gap is filled in, which will never happen.

The same arguments apply to unplanned replica failover if the final state of the primary VM cannot be copied to the replica: the state of the machine has gone backwards in time.

↑ Back to the top


Keywords: kb

↑ Back to the top

Article Info
Article ID : 2829622
Revision : 1
Created on : 1/7/2017
Published on : 3/20/2013
Exists online : False
Views : 261