Because RobustQueue._get_random_queue_name() uses python's global random generator, it always produce the same anonymous queue name if user has a fixed random seed. Which is certainly not desired.
And a library should not restrict users to use the global random generator, so I think this is a bug.
How I encounter this issue
I declared some callback queue to be anonymous and exclusive. If the same queue name is already declared, I get this error message.
aiormq.exceptions.ChannelLockedResource: RESOURCE_LOCKED - cannot obtain exclusive access to locked queue 'amq_0xe5712ff7671b26d9377140c8cfbffcbb' in vhost '/'.
It could be originally declared on another connection or the exclusive property value does not match that of the original declaration.
Issue
Because
RobustQueue._get_random_queue_name()
uses python's globalrandom generator
, it always produce the same anonymous queue name if user has a fixed random seed. Which is certainly not desired.And a library should not restrict users to use the global random generator, so I think this is a bug.
How I encounter this issue
I declared some callback queue to be anonymous and exclusive. If the same queue name is already declared, I get this error message.
Reproduce
You will always get same queue name
Fix
Use a standalone random generator should fix this problem.