GitHub user wa-sai created a discussion: Unable to start dubbo3 service
smoothly in k8s
### Pre-check
- [X] I am sure that all the content I provide is in English.
### Apache Dubbo Component
Java SDK (apache/dubbo)
### Details
> dubbo version 3.2.12
springboot+dubbo3,deploy on k8s,
get pods the final output log:
[DUBBO] Dubbo Application[1.1](dubbo-xxx-ack-test) is starting., dubbo version:
3.2.12, current host: 172.17.0.2
this is part of jstack logs:
```
"main" #1 prio=5 os_prio=0 tid=0x00007ffff800a370 nid=0x8 waiting on condition
[0x00007fffff220000]
java.lang.Thread.State: WAITING (parking)
at sun.misc.Unsafe.park0(Native Method)
- parking to wait for <0x000000078c134698> (a
java.util.concurrent.CountDownLatch$Sync)
at sun.misc.Unsafe.access$200(Unsafe.java:45)
at sun.misc.Unsafe$1.park0(Unsafe.java:65)
at com.alibaba.wisp.engine.WispTask.parkInternal(WispTask.java:423)
at com.alibaba.wisp.engine.WispTask.jdkPark(WispTask.java:473)
at com.alibaba.wisp.engine.WispEngine$5.park(WispEngine.java:268)
at sun.misc.Unsafe.park(Unsafe.java:1029)
at java.util.concurrent.locks.LockSupport.park(LockSupport.java:176)
at
java.util.concurrent.locks.AbstractQueuedSynchronizer.parkAndCheckInterrupt(AbstractQueuedSynchronizer.java:842)
at
java.util.concurrent.locks.AbstractQueuedSynchronizer.doAcquireSharedInterruptibly(AbstractQueuedSynchronizer.java:1004)
at
java.util.concurrent.locks.AbstractQueuedSynchronizer.acquireSharedInterruptibly(AbstractQueuedSynchronizer.java:1312)
at java.util.concurrent.CountDownLatch.await(CountDownLatch.java:231)
at
org.apache.dubbo.common.utils.ClassLoaderResourceLoader.loadResources(ClassLoaderResourceLoader.java:60)
at
org.apache.dubbo.common.extension.ExtensionLoader.loadDirectoryInternal(ExtensionLoader.java:1086)
at
org.apache.dubbo.common.extension.ExtensionLoader.loadDirectory(ExtensionLoader.java:1000)
at
org.apache.dubbo.common.extension.ExtensionLoader.loadExtensionClasses(ExtensionLoader.java:987)
at
org.apache.dubbo.common.extension.ExtensionLoader.getExtensionClasses(ExtensionLoader.java:958)
- locked <0x000000078c133c68> (a org.apache.dubbo.common.utils.Holder)
at
org.apache.dubbo.common.extension.ExtensionLoader.getActivateExtension(ExtensionLoader.java:354)
- locked <0x000000078c133d08> (a java.util.Collections$SynchronizedMap)
at
org.apache.dubbo.common.extension.ExtensionLoader.getActivateExtension(ExtensionLoader.java:314)
at
org.apache.dubbo.config.ServiceConfig.checkAndUpdateSubConfigs(ServiceConfig.java:456)
at
org.apache.dubbo.config.ServiceConfig.postProcessRefresh(ServiceConfig.java:526)
at
org.apache.dubbo.config.AbstractConfig.refresh(AbstractConfig.java:714)
at
org.apache.dubbo.config.deploy.DefaultModuleDeployer.exportServiceInternal(DefaultModuleDeployer.java:448)
at
org.apache.dubbo.config.deploy.DefaultModuleDeployer.exportServices(DefaultModuleDeployer.java:424)
at
org.apache.dubbo.config.deploy.DefaultModuleDeployer.startSync(DefaultModuleDeployer.java:174)
- locked <0x000000070d08bd50> (a
org.apache.dubbo.config.deploy.DefaultModuleDeployer)
at
org.apache.dubbo.config.deploy.DefaultModuleDeployer.start(DefaultModuleDeployer.java:156)
at
org.apache.dubbo.config.spring.context.DubboDeployApplicationListener.onContextRefreshedEvent(DubboDeployApplicationListener.java:157)
- locked <0x000000070e9d5360> (a java.util.concurrent.ConcurrentHashMap)
at
org.apache.dubbo.config.spring.context.DubboDeployApplicationListener.onApplicationEvent(DubboDeployApplicationListener.java:143)
at
org.apache.dubbo.config.spring.context.DubboDeployApplicationListener.onApplicationEvent(DubboDeployApplicationListener.java:52)
at
org.springframework.context.event.SimpleApplicationEventMulticaster.doInvokeListener(SimpleApplicationEventMulticaster.java:172)
at
org.springframework.context.event.SimpleApplicationEventMulticaster.invokeListener(SimpleApplicationEventMulticaster.java:165)
at
org.springframework.context.event.SimpleApplicationEventMulticaster.multicastEvent(SimpleApplicationEventMulticaster.java:139)
at
org.springframework.context.support.AbstractApplicationContext.publishEvent(AbstractApplicationContext.java:403)
at
org.springframework.context.support.AbstractApplicationContext.publishEvent(AbstractApplicationContext.java:360)
at
org.springframework.context.support.AbstractApplicationContext.finishRefresh(AbstractApplicationContext.java:897)
at
org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:553)
- locked <0x000000070d08bf70> (a java.lang.Object)
at
org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.refresh(ServletWebServerApplicationContext.java:143)
at
org.springframework.boot.SpringApplication.refresh(SpringApplication.java:758)
at
org.springframework.boot.SpringApplication.refresh(SpringApplication.java:750)
at
org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:397)
at
org.springframework.boot.SpringApplication.run(SpringApplication.java:315)
at
org.springframework.boot.SpringApplication.run(SpringApplication.java:1237)
at
org.springframework.boot.SpringApplication.run(SpringApplication.java:1226)
at
com.iflytek.edu.homework.v.prepare.svc.PrepareSvcApplication.main(PrepareSvcApplication.java:17)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at
org.springframework.boot.loader.MainMethodRunner.run(MainMethodRunner.java:49)
at org.springframework.boot.loader.Launcher.launch(Launcher.java:109)
at org.springframework.boot.loader.Launcher.launch(Launcher.java:58)
at
org.springframework.boot.loader.PropertiesLauncher.main(PropertiesLauncher.java:604)
```
The code blocking in ExtendeLoader.getExtendeClasses, and the relevant source
code is partially pasted
```
public static Map<ClassLoader, Set<URL>> loadResources(String fileName,
Collection<ClassLoader> classLoaders)
throws InterruptedException {
Map<ClassLoader, Set<URL>> resources = new ConcurrentHashMap<>();
CountDownLatch countDownLatch = new CountDownLatch(classLoaders.size());
for (ClassLoader classLoader : classLoaders) {
GlobalResourcesRepository.getGlobalExecutorService().submit(() -> {
resources.put(classLoader, loadResources(fileName,
classLoader));
countDownLatch.countDown();
});
}
countDownLatch.await();
return Collections.unmodifiableMap(new LinkedHashMap<>(resources));
}
```
my docker start command:
> docker run --name=test --cpus=2 -m 4g --memory-swap=4g -d -p 22222:22222
> --env='JAVA_OPTS=-XX:+UseG1GC -XX:+UseContainerSupport
> -XX:InitialRAMPercentage=50.0 -XX:MinRAMPercentage=70.0
> -XX:MaxRAMPercentage=70.0 -XX:-UseAdaptiveSizePolicy
> -XX:+UnlockExperimentalVMOptions -XX:+UseWisp2'
> --env='SPRING_PROFILES_ACTIVE=test'
> --env='CUSTOMIZE_OPTS=-Ddubbo.application.qos-port=22222
> -Ddubbo.application.qos-enable=true
> -Ddubbo.application.qos-accept-foreign-ip=true
> -Ddubbo.application.qos-anonymous-access-permission-level=NONE' -d
> registry.cn-beijing.aliyuncs.com/test/xxx:tag
I don't have any troubleshooting ideas left 😭
### Code of Conduct
- [X] I agree to follow this project's [Code of
Conduct](https://www.apache.org/foundation/policies/conduct)
GitHub link: https://github.com/apache/dubbo/discussions/15647
----
This is an automatically sent email for [email protected].
To unsubscribe, please send an email to:
[email protected]
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]