Skip to content

Implement consumer-timeout for classic queue type #16983

Description

@the-mikedavis

Is your feature request related to a problem? Please describe.

v4.3 moved the consumer timeout ("message locks") feature from rabbit_channel (AMQP 0-9-1 only) to the queue type (release notes). Quorum queues and the JMS queue type implement consumer timeouts but not classic queues or streams. Client applications might implicitly rely on the consumer timeout feature to take the message back from a completely stuck consumer, so that other consumers may handle it. Ideally classic queue consumers could get the same improved basic.cancel on a timeout if supported by the client.

Describe the solution you'd like

We can look at implementing the consumer timeout concept for the classic queue type.

Describe alternatives you've considered

It would be hacky but we could add back the concept of consumer timeout to rabbit_channel so that stuck consumers see the same behavior as v4.2.x and below. That feels like going backwards though.

Additional context

I don't think the same is necessary for stream queues because of the non-destructive consumption.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions