Closed caiohsramos closed 5 years ago
Please provide some information about your environment (library version etc.)
Name: aiormq Version: 2.5.2
Name: aio-pika Version: 5.5.2
RabbitMQ 3.6.12, Erlang 18.3
Python 3.7.0
Maybe the logic here is not working in this case
if channel_number is None:
async with self.last_channel_lock:
# self.last_channel is 65534
self.last_channel += 1
# self.last_channel is now 65535
# self.channels.keys() goes from 1 to 65534, so it does not enter while loop
while self.last_channel in self.channels.keys():
self.last_channel += 1
if self.last_channel > 65535:
log.warning("Resetting channel number for %r", self)
self.last_channel = 1
# switching context for prevent blocking event-loop
await asyncio.sleep(0, loop=self.loop)
channel_number = self.last_channel
Perhaps removing the first self.last_channel += 1
could solve this?
Hey @mosquito, can we get a new version with this fix?
@caiohsramos could you please check aiormq==2.5.2
?
@caiohsramos OMG my mistake. I already released the aiormq==2.5.3
. Could you please test with it?
@mosquito sorry to bother, but I don't think there is a 2.5.3
version on PyPI
I am back from my vacation, and now I returning to the accumulated requests and issues. Thanks for your contribution.
Now the aiormq==2.5.3
was uploaded to pypi. Sorry for this mess.
Hey, I'm running this code:
and I'm getting "Channel number too large" exception right after the "Done". Probably something related to the file https://github.com/mosquito/aiormq/blob/master/aiormq/connection.py#L429. Could you guys take a look?