Closed maksimkim closed 1 year ago
@mgravell , @NickCraver , any chance somebody can take a look?
Looks like this might actually be happening to us as well.
We started seeing memory usage climbing up since we started using stackexchange redis recently.
We are also using abortConnect = false. Connection multiplexer is forcibly reconnected already due to intermittent connection issues.
There are a lot of issues to be honest using this at the moment :\ Trying to wrap around this multiplexer in all kinds of ways to keep it stable somehow.
Our Redis Package version is: 2.1.58
@Gevil , yeah, we ended up creating wrapper around multiplexer that enforces abortOnConnect=true, subscribes for ConnectionFailed event and recreates multiplexer on failure.
@mgravell , @NickCraver gentle ping
Missed this after closing - there was a reference chain issue in older versions that's now resolved and this should no longer happen in new versions. You still shouldn't see disconnect/reconnects like this so often (unless you're putting an unreasonably low timeout vs. your latency and/or load), but when it does happen, the leak should no longer be an issue :)
We found this had a new cause here, addressed in #2338.
Repro client: https://gist.github.com/maksimkim/a9df89dd083ab8477a9ccebf25cecc83 server: tcp server that accepts connection but doesn't reply to any protocol message, e.g. dotnetty discard client (change port and disable tls in config): https://github.com/Azure/DotNetty/blob/dev/examples/Discard.Server/Program.cs
PhysicalBridge indefinitely transitions between Connecting->ConnectedEstablishing->Disconnected but PhysicalConnection objects are not getting disposed.