Issue 1:
I have searched the issues of this repository and believe that this is not a duplicate.

I have checked the FAQ of this repository and believe that this is not a duplicate.

Environment

Dubbo version: 2.7.1

Operating System version: windows 7

Java version: 1.8

Steps to reproduce this issue

start 2 provders, and 1 consumer consumes providers.

stop one of the providers.

consumer errors, consumer will reconnect the offline provider.

Pls. provide [GitHub address] to reproduce this issue.

Expected Result

What do you expected from the above steps？

Actual Result

What actually happens?

when the Peovider stopped, the ReconnectTimerTask should be destroyed.

If there is an exception, please attach the exception trace:

dubbo-client-idleCheck-thread-1 ERROR header.ReconnectTimerTask: [DUBBO] Fail to connect to HeaderExchangeClient [channel=org.apache.dubbo.remoting.transport.netty4.NettyClient [172.23.66.113:0 -> /172.23.66.113:20880]], dubbo version: 2.7.1, current host: 172.23.66.113
org.apache.dubbo.remoting.RemotingException: client(url: dubbo://172.23.66.113:20880/com.oppo.provider.DemoService?anyhost=true&application=sample-consumer&bean.name=com.oppo.provider.DemoService&category=providers&check=false&codec=dubbo&default.deprecated=false&default.dynamic=false&default.lazy=false&default.register=true&default.sticky=false&deprecated=false&dubbo=2.0.2&dynamic=false&generic=false&heartbeat=60000&interface=com.oppo.provider.DemoService&lazy=false&methods=sayHello&pid=15396&protocol=dubbo&register=true&register.ip=172.23.66.113&release=2.7.1&remote.application=sample-provider&remote.timestamp=1561346085864&side=consumer&sticky=false&timeout=3000&timestamp=1561431358005) failed to connect to server /172.23.66.113:20880, error message is:Connection refused: no further information: /172.23.66.113:20880
at org.apache.dubbo.remoting.transport.netty4.NettyClient.doConnect(NettyClient.java:131)
at org.apache.dubbo.remoting.transport.AbstractClient.connect(AbstractClient.java:186)
at org.apache.dubbo.remoting.transport.AbstractClient.reconnect(AbstractClient.java:242)
at org.apache.dubbo.remoting.exchange.support.header.HeaderExchangeClient.reconnect(HeaderExchangeClient.java:152)
at org.apache.dubbo.remoting.exchange.support.header.ReconnectTimerTask.doTask(ReconnectTimerTask.java:49)
at org.apache.dubbo.remoting.exchange.support.header.AbstractTimerTask.run(AbstractTimerTask.java:87)
at org.apache.dubbo.common.timer.HashedWheelTimer$HashedWheelTimeout.expire(HashedWheelTimer.java:648)
at org.apache.dubbo.common.timer.HashedWheelTimer$HashedWheelBucket.expireTimeouts(HashedWheelTimer.java:727)
at org.apache.dubbo.common.timer.HashedWheelTimer$Worker.run(HashedWheelTimer.java:44
9)
at java.lang.Thread.run(Thread.java:748)
Caused by: io.netty.channel.AbstractChannel$AnnotatedConnectException: Connection refused: no further information: /172.23.66.113:20880
at sun.nio.ch.SocketChannelImpl.checkConnect(Native Method)
at sun.nio.ch.SocketChannelImpl.finishConnect(SocketChannelImpl.java:717)
at io.netty.channel.socket.nio.NioSocketChannel.doFinishConnect(NioSocketChannel.java:325)
at io.netty.channel.nio.AbstractNioChannel$AbstractNioUnsafe.finishConnect(AbstractNioChannel.java:340)
at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:635)
at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:582)
at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:499)
at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:461)
at io.netty.util.concurrent.SingleThreadEventExecutor$5.run(SingleThreadEventExecutor.java:884)
at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30)
... 1 more
Caused by: java.net.ConnectException: Connection refused: no further information
... 11 more

Issue 2:
I have searched the issues of this repository and believe that this is not a duplicate.

I have checked the FAQ of this repository and believe that this is not a duplicate.

Environment

Dubbo version: 2.7.4.1

Java version: 1.8

Actual Result

dubbo/dubbo-common/src/main/java/org/apache/dubbo/common/utils/NetUtils.java

Line 497
in
f89a1a8

throw new IllegalArgumentException("If you config ip expression that contains '*' or '-', please fill qulified ip pattern like 234e:0:4567:0:0:0:3d:*. ");

dubbo/dubbo-common/src/main/java/org/apache/dubbo/common/utils/ReflectUtils.java

Line 1207
in
f89a1a8

* Find the hierarchical types form the source {@link Class class} by specified {@link Class type}.

Expected Result

qulified ==> qualified

form ==> from