Giter Club home page Giter Club logo

Comments (13)

michaelklishin avatar michaelklishin commented on September 13, 2024

Thank for the really detailed issue report!

from rabbitmq-stomp.

michaelklishin avatar michaelklishin commented on September 13, 2024

@martink2 please send me the dump you have, it would help uncover what may be tripping up the parser (that answers your 1st open question).

As for the 2nd one, this may be a bug, and now that we have an error message that correlates with connections being open, it should be much easier to reproduce.

@martink2 do you run a single node or multiple ones?

from rabbitmq-stomp.

martink2 avatar martink2 commented on September 13, 2024

@michaelklishin We can see the error on both single nodes and clusters.
Dump is send via email.

Thanks

Martin

from rabbitmq-stomp.

michaelklishin avatar michaelklishin commented on September 13, 2024

@martink2 can you post the output of netstat -tcp when that happens? How many connections do you have on average?

What does sudo sysctl -a | grep output on the server?

from rabbitmq-stomp.

michaelklishin avatar michaelklishin commented on September 13, 2024

More questions: do your clients use NAT?

from rabbitmq-stomp.

martink2 avatar martink2 commented on September 13, 2024

On average we have 11.000 connections.

for a failed connection from 10.97.168.128:54194

netstat -n -tcp | grep 10.97.168.128:54194 : No output

For what sysctl key would you like me to grep ?

As to the nat a few of our clients are behind a NAT but not the majority of them and it
does not show a higher chance of happening for NAT'ed vs direct connections.

But our clients use a lot of short lived connections so the ephemeral port range rolls
over very quick.

Thanks

Martin

from rabbitmq-stomp.

michaelklishin avatar michaelklishin commented on September 13, 2024

Yes, the ephemeral port range roll overs is what I'm investigating.

I'm after the net.ipv4.tcp_tw_recycle and net.ipv4.tcp_tw_reuse sysctl keys. In fact, anything net.ipv4 may be useful (assuming your clients use IPv4).

You can send me the output privately, [email protected].

from rabbitmq-stomp.

michaelklishin avatar michaelklishin commented on September 13, 2024

Some findings from today:

  • clients rolling over ip_local_port_range and attempting to re-connect constantly (sequentially) do not leave connections behind

Will try with clients doing the same thing concurrently.

from rabbitmq-stomp.

michaelklishin avatar michaelklishin commented on September 13, 2024

OK, I believe I have a reliable way to reproduce this. The issue only has so much to do with high TCP connection churn and all that: the reader does not tell the processor to terminate in every case. Phew.

from rabbitmq-stomp.

martink2 avatar martink2 commented on September 13, 2024

@michaelklishin

I deployed the fixed code to our production node and it looks very good, thanks a lot
for the quick help. Any timeline for the 3.5.2 release of rabbitmq yet?

Martin

from rabbitmq-stomp.

dumbbell avatar dumbbell commented on September 13, 2024

We try to release a bugfix release once a month. 3.5.2 should be released around the first half of May.

from rabbitmq-stomp.

michaelklishin avatar michaelklishin commented on September 13, 2024

That said, we also have nightly builds.

from rabbitmq-stomp.

michaelklishin avatar michaelklishin commented on September 13, 2024

@martink2 thank you very much for giving it a try so quickly!

from rabbitmq-stomp.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.