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鈥檒l occasionally send you account related emails.
Already on GitHub? Sign in to your account
Heartbeat vs. hearbeat timeout confussion #127
Comments
I don't remember the exact details, but you are essentially setting the e.g. if you look at the client side code for amqpstorm it checks if you missed two or more heartbeats (meaning interval * 2) before it raises an issue. Also, worth nothing that on the client (and maybe server) we count any type of incoming data as a heartbeat. It does not necessarily need to be an actual heartbeat frame. |
Thank you for the answer 馃憤 I understand the client part. What confuses me is server side of heartbeat. It's not very clear to me what server does in case it misses heartbeat. What we experience is that some "long-time" (=longer than heartbeat) processing messages get requeued before acknowledgement after time period suspiciously similar to heartbeat. So here's my suspicion. As described here, there could be mis-alignment between I can try to create reproducible example to prove/disprove this hypothesis... |
I see what you mean. I think the terminology is confusing here. I prepared a PR. If you are able can you review it and try it out? |
Agree, it's confusing. Thanks 馃檹 I'll get to test probably sometime next week. Btw, aren't you worried about backward compatibility? |
So there shouldn't be any changes that aren't backwards compatible here since we are keeping the variable names the same. The only risk is that there will be a very minor increase in CPU and bandwidth usage since the background thread is run twice as often now with the same heartbeat value, but we are looking at a very minor increase, since the server already enforced the same current heartbeat value and behaviour. |
Update heartbeat interval implementation [#127]
Hello Eric, please, are you planning to release this fix anytime soon? |
Thanks. It should be live now. |
Thanks once again 馃憤 |
Hello there 馃憢
I'm a bit confused of
heartbeat
parameter. It seems it's value is being used on two places -amqpstorm.channel0.Channel0._send_tune_ok
andamqpstorm.heartbeat.Heartbeat._start_new_timer
. As far as I understand, the first usage negotiatesheartbeat_timeout
with the server and the second usage sets the interval to send heartbeat requests.I would expect the interval should be shorter than timeout, eg.
heartbeat_timeout / 2
as described eg. in RabbitMQ documentation here but theamqpstorm
uses the same value. Please, what I'm missing here?Thanks for the answer and all the work on this library 馃檹
Ivan
The text was updated successfully, but these errors were encountered: