Comments (4)
Thank you for the report! I don't have much time to look into in detail right now, but I'd like to understand more about why the connections aren't closed before adding bandaids (hopefully the underlying bug can be fixed instead).
Is this a minimal test? I don't quite understand why you need two memcached instances. I guess you moving the servers to the background will timeout requests to the memcached, so folsom should close and retry, and somewhere at this point one or more of the connections is not properly closed.
from folsom.
Sorry for the late response, I wanted to have something useful to add to this report...
It turns out my initial test doesn't recreate the bug :(
I tested it with the previous folsom version by mistake. Once I upgraded the test doesn't recreate the bug.
How ever, in production I see a growing number of com.spotify.folsom.client.DefaultRawMemcacheClient
instances when the connection count increases when I produce a class histogram.
I read the code several times and it seems to be correct, but I may mistaken, or maybe the channel.close()
doesn't complete for some reason.
I took several heap dumps, and will try to analyse tomorrow once the download completes.
from folsom.
Interesting, I am not sure if that's a leak or if it's simply that the GC doesn't think it's important to collect them just yet.
from folsom.
Closed as it turns out we were working with the 0.7.1 client, even though I was sure we worked with the latest...
Sorry if this wasted anyone's time :(
from folsom.
Related Issues (20)
- file descriptor leak HOT 3
- Configurable number of connections to memcached server HOT 2
- Binary client doesn't obey TTL in some cases HOT 14
- ReconnectingClient prints "Lost connection" for old nodes when another one is added - while requests go through just fine HOT 4
- Remove or shade/hide guava dependency HOT 4
- Reusable buffers as parameter for getters HOT 1
- Support for incr/decr commands HOT 1
- let's add docs how to run build and tests locally? (Docker container) HOT 1
- Add tracing HOT 2
- Feature request: per node telemetry
- Exceptions with java 11 HOT 1
- Add Micrometer metrics HOT 3
- Folsom - Spring Boot DevTools class loader HOT 3
- Release notes or CHANGELOG HOT 1
- Extending MemcacheClientBuilder to more easily allow other AbstractMultiMemcacheClient impl HOT 2
- Folsom
- Code coverage reporting / coveralls broken since moving to Java 8
- Client lifetime, usage in Vert.x app HOT 4
- Client failure after responding to too many requests where value is too large HOT 2
- How can I connect a sasl memcached server via folsom HOT 3
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from folsom.