Skip to content

Exchange.publish() hanging forever after Delivery tag %r confirmed %r was ignored warning appears in logs #689

@Hellzed

Description

@Hellzed

After seeing Delivery tag %r confirmed %r was ignored (a warning log from aiormq, https://github.com/mosquito/aiormq/blob/master/aiormq/channel.py#L360), attempts to use Exchange.publish() will hang forever.

I suspect the confirmation futures (created here: https://github.com/mosquito/aiormq/blob/master/aiormq/channel.py#L661) for the hanging calls to publish() never get resolved despite the client having received a confirmation frame. The warning log seem to indicate the client attempted to resolve a (different?) future, which was already in a done state.

This usually happens under heavy load, I suspect a subtle concurrency bug in the way aio-pika uses aiormq, or a confirmation future handling issue within aiormq.

@mosquito Should I open a bug on the aiormq repo instead?

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions