rabbitmq-server icon indicating copy to clipboard operation
rabbitmq-server copied to clipboard

With Khepri, transient exclusive queues are not deleted in case of a partition

Open luos opened this issue 1 year ago • 0 comments

Describe the bug

Hi,

In a Khepri cluster if a node becomes partitioned, classic queues which get deleted due to the partition - do not get cancelled.

I am not sure if this is the intended behaviour - but in this case basically in a cluster no other than qq and streams are usable.

Reproduction steps

  1. 3 node cluster, enable khepri, RabbitMQ 4.0.2
  2. Create a transient exclusive queue on each node and attach a consumer
  3. Create a partition on one of the nodes (full partition, but expect the same happens in case of a partial partition)
  4. The node becomes partitioned
  5. a. Queue gets deleted on majority partition
  6. b. Queue stays running on minority partition
  7. Remove the partition
  8. Minority node syncs with khepri, queue disappears
  9. No notification to the consumer on minority node that the queue no longer exists

Expected behavior

Any or all of the following: :-)

a. Client gets notified about the queue deletion b. Queue is not deleted as the consumer was not disconnected c. Something akin to pause_minority d. Clarification of the intended use of transient exclusive queues in a cluster e. Specified behaviour in case of partial partition as well

Additional context

  • The queue process is still running, even though the queue is deleted from khepri. (which is understandable, I am just noting it here).

luos avatar Oct 28 '24 12:10 luos