### Environment

* Dubbo version: v2.6.3
* Operating System version: ubuntu 18.04
* Java version: 10.0.1

### Step to reproduce this issue

1. create a new project with maven pom.xml depend on dubbo 2.6.3
2. use curator-framework v2.12.0 as zookeeper client
3. startup tomcat
4. shutdown tomcat

### Expected Result

tomcat shutdown graceful

### Actual Result

tomcat's process was blocked.

netty package conflict:

> dubbo v2.6.3 depends on netty v3.2.5,
> curator-framework v2.12.0 depends on netty v3.7.0.

If exclude netty v3.7.0 from curator-framework v2.12.0 in pom.xml, tomcat could 
been elegant shutdowned.

According to the issue #1155, higher version of netty created user threads 
instead of daemon threads, which name "Hashed wheel timer ".

But netty v3.2.5 also created user threads:

> "Hashed wheel timer " 213 prio=5 os_prio=0 tid=0x00007f58e007b050 nid=0x513d 
> waiting on condition [0x00007f58d9d91000]
>    java.lang.Thread.State: TIMED_WAITING (sleeping)
>         at java.lang.Thread.sleep(Native Method)
>         at 
> org.jboss.netty.util.HashedWheelTimer$Worker.waitForNextTick(HashedWheelTimer.java:503)
>         at 
> org.jboss.netty.util.HashedWheelTimer$Worker.run(HashedWheelTimer.java:401)
>         at 
> org.jboss.netty.util.ThreadRenamingRunnable.run(ThreadRenamingRunnable.java:108)
>         at java.lang.Thread.run(Thread.java:748)

Dubbo's elegant shutdown works fine with netty v3.2.5, but is bocked by netty 
v3.7.0. 

What is going on?


[ Full content available at: 
https://github.com/apache/incubator-dubbo/issues/2334 ]
This message was relayed via gitbox.apache.org for [email protected]

Reply via email to