Comments (3)
Seeing the same issue where the client closes but the process doesn't end because there's still a non-daemon thread hanging around, I believe line 18 in RetryPolicy is the culprit:
private static final HashedWheelTimer timer = new HashedWheelTimer();
Per the Netty documentation even though start was never explicitly called, stop() should be called on the timer object to clean up all the resources including this thread pool (from my jstack trace):
"pool-1-thread-1" #12 prio=0 os_prio=0 tid=0x0000 nid=0x0000 waiting on condition [0x0000]
java.lang.Thread.State: TIMED_WAITING (sleeping)
at java.lang.Thread.sleep(Native Method)
at io.netty.util.HashedWheelTimer$Worker.waitForNextTick(HashedWheelTimer.java:461)
at io.netty.util.HashedWheelTimer$Worker.run(HashedWheelTimer.java:360)
at java.lang.Thread.run(Thread.java:745)
from etcd4j.
Thanks for the reporting in! I did not close HashedWheelTimer because it can be used by multiple etcd clients. It is advised to only have one in a App.
I now catch retried calls so they are canceled if they are still open if event loop is closed.
from etcd4j.
It is fixed in the 2.8 release.
from etcd4j.
Related Issues (20)
- API changes report for Etcd4j
- etcd4j supports backup HOT 3
- how to use etcd4j with SSL HOT 9
- Got exception when i try to use etcd4j v2.13.0 in Apache Felix v5.6.1 HOT 1
- Release HOT 8
- How long will support etcd 3?
- How long will support etcd 3? HOT 1
- Connecting to a etcd cluster using dns server name instead of IP HOT 3
- Does etcd4j support etcd version 3.2.18 HOT 1
- Update dependency on jackson-databind to 2.8.11.1 or later? HOT 2
- o.netty.util.concurrent.BlockingOperationException: DefaultPromise@357ccd6b(incomplete) #112 HOT 2
- Timeout or connection timeout is not working. HOT 5
- mousio.etcd4j.EtcdClient.getDir(String) has no effect HOT 3
- the mistake of README.md
- this support connection pool ?
- ByteBuf not released
- may it cause a concurrent problem while using ResponsePromise.addListene method? HOT 3
- any plan to upgrade to jackson 2.9.*
- EtcdResponsePromise get(), response is not null and no exception happened but throw new IOException HOT 2
- there is no exception reported
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 etcd4j.