Open GoogleCodeExporter opened 9 years ago
I've found the same issue (but in 1.0.2 version of the library).
More details:
In nova code there are 2 calls one by one:
...
self.channel.close()
self.channel = self.connection.channel()
...
where channel is amqplib.client_0_8.channel.Channel instance
My guess is that that close method returns before the channel was actually
closed and that is because the second call fails. I've put a sleep call between
this two calls:
...
self.channel.close()
import time
time.sleep(0.1)
self.channel = self.connection.channel()
...
and after this the error disappeared.
Original comment by maslenni...@gmail.com
on 6 Feb 2012 at 11:39
I don't think the client would be returning too soon here, Channel.close() is a
synchronous call that waits for the broker to return close_ok.
If I had to guess, I'd say the client is trying to re-use a channel number
before the broker is really ready for it to be re-used. But if you put in a
sleep call, the broker is maybe given enough time to clean up things on its end
???
If that's the case, then I'd say it's a bug on the broker side, but the client
could be tweaked to try avoid re-using recently closed channel numbers and see
if that helps.
Can you give this patch a try and see if it works around the problem?
Original comment by barry.pe...@gmail.com
on 6 Feb 2012 at 5:16
Attachments:
Hi
yes me too I think that the issue is the client code.
Thanks for this reply
Original comment by andrea.rosa
on 7 Feb 2012 at 1:22
Any feedback on the patch I attached to comment #2? Was wondering if it
actually fixed the reported problem.
Original comment by barry.pe...@gmail.com
on 10 Mar 2012 at 2:54
My issue was due to a problem in the client side. UInfortunately at this moment
I can try your fix.
Regards
Original comment by andrea.rosa
on 16 Mar 2012 at 9:20
Original issue reported on code.google.com by
andrea.rosa
on 24 Nov 2011 at 10:09