apache / dubbo

The java implementation of Apache Dubbo. An RPC and microservice framework.
https://dubbo.apache.org/
Apache License 2.0
40.33k stars 26.39k forks source link

[Bug] application shutdown report error:java.lang.IllegalStateException: Shutdown in progress #14429

Open ldcsaa opened 1 month ago

ldcsaa commented 1 month ago

Pre-check

Search before asking

Apache Dubbo Component

Java SDK (apache/dubbo)

Dubbo Version

Dubbo Java 3.2.14, JDK 17

Steps to reproduce this issue

When shutdown dubbo spring-boot application, some times report this error:

2024-07-12 01:00:39.369 WARN  [SpringApplicationShutdownHook] o.a.d.common.logger.log4j2.Log4j2Logger#warn(L:86) ->  [DUBBO] unregister shutdown hook failed: Shutdown in progress, dubbo version: 3.2.14, current host: 172.18.0.15, error code: 5-2. This may be caused by , go to https://dubbo.apache.org/faq/5/2 to find instructions. 
java.lang.IllegalStateException: Shutdown in progress
    at java.base/java.lang.ApplicationShutdownHooks.remove(Unknown Source) ~[?:?]
    at java.base/java.lang.Runtime.removeShutdownHook(Unknown Source) ~[?:?]
    at org.apache.dubbo.config.DubboShutdownHook.unregister(DubboShutdownHook.java:171) ~[dubbo-3.2.14.jar!/:3.2.14]
    at org.apache.dubbo.config.deploy.DefaultApplicationDeployer.unRegisterShutdownHook(DefaultApplicationDeployer.java:182) ~[dubbo-3.2.14.jar!/:3.2.14]
    at org.apache.dubbo.config.deploy.DefaultApplicationDeployer.preDestroy(DefaultApplicationDeployer.java:1063) ~[dubbo-3.2.14.jar!/:3.2.14]
    at org.apache.dubbo.rpc.model.ApplicationModel.onDestroy(ApplicationModel.java:155) ~[dubbo-3.2.14.jar!/:3.2.14]
    at org.apache.dubbo.rpc.model.ScopeModel.destroy(ScopeModel.java:122) ~[dubbo-3.2.14.jar!/:3.2.14]
    at org.apache.dubbo.rpc.model.ApplicationModel.tryDestroy(ApplicationModel.java:276) ~[dubbo-3.2.14.jar!/:3.2.14]
    at org.apache.dubbo.rpc.model.ModuleModel.onDestroy(ModuleModel.java:133) ~[dubbo-3.2.14.jar!/:3.2.14]
    at org.apache.dubbo.rpc.model.ScopeModel.destroy(ScopeModel.java:122) ~[dubbo-3.2.14.jar!/:3.2.14]
    at org.apache.dubbo.config.spring.context.DubboDeployApplicationListener.onContextClosedEvent(DubboDeployApplicationListener.java:189) ~[dubbo-3.2.14.jar!/:3.2.14]
    at org.apache.dubbo.config.spring.context.DubboDeployApplicationListener.onApplicationEvent(DubboDeployApplicationListener.java:145) ~[dubbo-3.2.14.jar!/:3.2.14]
    at org.apache.dubbo.config.spring.context.DubboDeployApplicationListener.onApplicationEvent(DubboDeployApplicationListener.java:52) ~[dubbo-3.2.14.jar!/:3.2.14]
    at org.springframework.context.event.SimpleApplicationEventMulticaster.doInvokeListener(SimpleApplicationEventMulticaster.java:185) ~[spring-context-6.1.10.jar!/:6.1.10]
    at org.springframework.context.event.SimpleApplicationEventMulticaster.invokeListener(SimpleApplicationEventMulticaster.java:178) ~[spring-context-6.1.10.jar!/:6.1.10]
    at org.springframework.context.event.SimpleApplicationEventMulticaster.multicastEvent(SimpleApplicationEventMulticaster.java:156) ~[spring-context-6.1.10.jar!/:6.1.10]
    at org.springframework.context.support.AbstractApplicationContext.publishEvent(AbstractApplicationContext.java:451) ~[spring-context-6.1.10.jar!/:6.1.10]
    at org.springframework.context.support.AbstractApplicationContext.publishEvent(AbstractApplicationContext.java:384) ~[spring-context-6.1.10.jar!/:6.1.10]
    at org.springframework.context.support.AbstractApplicationContext.doClose(AbstractApplicationContext.java:1130) ~[spring-context-6.1.10.jar!/:6.1.10]
    at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.doClose(ServletWebServerApplicationContext.java:174) ~[spring-boot-3.2.7.jar!/:3.2.7]
    at org.springframework.context.support.AbstractApplicationContext.close(AbstractApplicationContext.java:1093) ~[spring-context-6.1.10.jar!/:6.1.10]
    at org.springframework.boot.SpringApplicationShutdownHook.closeAndWait(SpringApplicationShutdownHook.java:145) ~[spring-boot-3.2.7.jar!/:3.2.7]
    at java.base/java.lang.Iterable.forEach(Unknown Source) ~[?:?]
    at org.springframework.boot.SpringApplicationShutdownHook.run(SpringApplicationShutdownHook.java:114) ~[spring-boot-3.2.7.jar!/:3.2.7]
    at java.base/java.lang.Thread.run(Unknown Source) [?:?]

What you expected to happen

don't report error

Anything else

No response

Are you willing to submit a pull request to fix on your own?

Code of Conduct

AlbumenJ commented 1 month ago

Will be fixed in https://github.com/apache/dubbo/pull/14432

Chenjp commented 1 month ago

Will be fixed in #14432

@AlbumenJ PTAL #14432