Description of problem: Here's the scenario: we have a cluster with primary A and backups B and C. There is a queue Q that is replicated to both. Now A dies and B takes over as primary. Before C has connected to B, a client destroys Q and creates a new queue with the same name, Q. When C does connect it sees a queue named Q and mistakenly assumes it is the same queue as it's own Q - so it has an incorrect replica of Q. The same scenario applies to exchanges. Version-Release number of selected component (if applicable): How reproducible: 100% Steps to Reproduce: 1. Start a 3 cluster 2. Create a queue Q with messages 3. Kill the primary but don't promote any backups 4. On one broker delete and re-create Q, then promote the broker Actual results: The other backup will keep it's out-of-date Q and messages. Expected results: The other backup deletes its old Q and creates a new one to replicate the new Q. Additional info: The unit test in this patch illustrates how to reproduce the problem.