New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Unhandled method frame Bunny\Protocol\MethodConnectionCloseFrame #20
Comments
Can you provide context what you were doing (opening connection, creating channel, declaring queue/exchange, consuming/publishing messages, ...) - some code that could replicate the issue? I suppose RabbitMQ did not like something you did and therefore tried to close the whole connection with all channels. If you open up a pull request with |
I can't provide more context, because the issue somewhere inside event loop... I will try to give more info. The issue reproduced when RabbitMQ server located far from client and message rate is about 20 per seconds. In my case, server located in Canada, client in Russia, Novosibirsk. Everything Ok when server and client on the same machine even message rate more than 500/per seconds. May be it helps
|
Is it possible server close connection by some reasons? |
I've committed change that when |
It's great, thank you. Now I faced with an Exception. It looks like network issue. Can you recommend some tuning of bunny config? But probably I need to tune something on server-side. In any case, thanks you for your helpful and for the great library. By the way, we use it in production in our startup https://wodby.com/ |
Try to look at this: https://www.rabbitmq.com/networking.html Also, make sure that Bunny is sending the Heartbeat frame according to the After you perform the maximum amount of tuning you're able to do, I On Thursday, February 18, 2016, Pavel Prischepa notifications@github.com
Ondřej Mirtes |
As pointed out by @ondrejmirtes, the most common problem is that heartbeat frame does not get a chance to be sent. You can change heartbeat like this: $client = new \Bunny\Client([..., "heartbeat" => 180.0 /* 3 minutes */, ...]); // Heartbeat timeout must be long enough that any blocking operation in Btw. Wodby looks great! Keep up :) |
@jakubkulhan and @ondrejmirtes many thanks for your recomendations, I'll check both server and client side. Also I've catched an Exception by using patch. It looks like we catch a strange issue :). Is it possible FRAME_ERROR relates to network error too?
|
I think it's possible that packets get broken, AMQP does not have any built-in checksumming mechanism, however, this should be handled on TCP layer. |
I got this situation when by mistake i tried to send to exchange that did not exist, i think is good to add more meaningfull error |
I faced with an Exception sometimes
What does it mean and how can I avoid it?
The text was updated successfully, but these errors were encountered: