You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Shinyproxy running on Kubernetes with persistent storage configured using redis is throwing exception during shutdown and not cleaning up running pods leaving behind orphaned pods.
Shinyproxy version 2.4.0/2.4.1
Kubernetes version 1.20
The exception its throwing is below:
2021-09-09 11:50:35.808 DEBUG 1 --- [extShutdownHook] io.lettuce.core.RedisClient : Initiate shutdown (100, 100, MILLISECONDS)
2021-09-09 11:50:35.827 DEBUG 1 --- [extShutdownHook] i.l.c.r.DefaultEventLoopGroupProvider : Release executor io.netty.channel.nio.NioEventLoopGroup@723819f1
2021-09-09 11:50:35.829 DEBUG 1 --- [ioEventLoop-4-2] io.netty.buffer.PoolThreadCache : Freed 7 thread-local buffer(s) from thread: lettuce-nioEventLoop-4-2
2021-09-09 11:50:35.928 DEBUG 1 --- [ioEventLoop-4-1] io.netty.buffer.PoolThreadCache : Freed 26 thread-local buffer(s) from thread: lettuce-nioEventLoop-4-1
2021-09-09 11:50:35.931 DEBUG 1 --- [extShutdownHook] i.l.c.resource.DefaultClientResources : Initiate shutdown (0, 2, SECONDS)
2021-09-09 11:50:35.935 DEBUG 1 --- [extShutdownHook] i.l.c.r.DefaultEventLoopGroupProvider : Initiate shutdown (0, 2, SECONDS)
2021-09-09 11:50:35.949 WARN 1 --- [extShutdownHook] .s.c.a.CommonAnnotationBeanPostProcessor : Destroy method on bean with name 'proxyService' threw an exception
java.lang.NullPointerException: null
at io.undertow.servlet.spec.ServletContextImpl.getInitParameter(ServletContextImpl.java:425) ~[undertow-servlet-2.1.3.Final.jar!/:2.1.3.Final]
at org.springframework.web.context.support.ServletContextPropertySource.getProperty(ServletContextPropertySource.java:47) ~[spring-web-5.2.8.RELEASE.jar!/:5.2.8.RELEASE]
at org.springframework.web.context.support.ServletContextPropertySource.getProperty(ServletContextPropertySource.java:33) ~[spring-web-5.2.8.RELEASE.jar!/:5.2.8.RELEASE]
at org.springframework.core.env.PropertySourcesPropertyResolver.getProperty(PropertySourcesPropertyResolver.java:85) ~[spring-core-5.2.8.RELEASE.jar!/:5.2.8.RELEASE]
at org.springframework.core.env.PropertySourcesPropertyResolver.getProperty(PropertySourcesPropertyResolver.java:62) ~[spring-core-5.2.8.RELEASE.jar!/:5.2.8.RELEASE]
at org.springframework.core.env.AbstractEnvironment.getProperty(AbstractEnvironment.java:535) ~[spring-core-5.2.8.RELEASE.jar!/:5.2.8.RELEASE]
at eu.openanalytics.containerproxy.service.UserService.getAdminGroups(UserService.java:84) ~[containerproxy-0.8.5.jar!/:0.8.5]
at eu.openanalytics.containerproxy.service.UserService.isAdmin(UserService.java:117) ~[containerproxy-0.8.5.jar!/:0.8.5]
at eu.openanalytics.containerproxy.service.UserService.isAdmin(UserService.java:113) ~[containerproxy-0.8.5.jar!/:0.8.5]
at eu.openanalytics.containerproxy.service.ProxyService.getProxies(ProxyService.java:182) ~[containerproxy-0.8.5.jar!/:0.8.5]
at eu.openanalytics.containerproxy.service.ProxyService.shutdown(ProxyService.java:99) ~[containerproxy-0.8.5.jar!/:0.8.5]
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:na]
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[na:na]
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:na]
at java.base/java.lang.reflect.Method.invoke(Method.java:566) ~[na:na]
at org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor$LifecycleElement.invoke(InitDestroyAnnotationBeanPostProcessor.java:389) ~[spring-beans-5.2.8.RELEASE.jar!/:5.2.8.RELEASE]
at org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor$LifecycleMetadata.invokeDestroyMethods(InitDestroyAnnotationBeanPostProcessor.java:347) ~[spring-beans-5.2.8.RELEASE.jar!/:5.2.8.RELEASE]
at org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor.postProcessBeforeDestruction(InitDestroyAnnotationBeanPostProcessor.java:177) ~[spring-beans-5.2.8.RELEASE.jar!/:5.2.8.RELEASE]
at org.springframework.beans.factory.support.DisposableBeanAdapter.destroy(DisposableBeanAdapter.java:242) ~[spring-beans-5.2.8.RELEASE.jar!/:5.2.8.RELEASE]
at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.destroyBean(DefaultSingletonBeanRegistry.java:579) ~[spring-beans-5.2.8.RELEASE.jar!/:5.2.8.RELEASE]
at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.destroySingleton(DefaultSingletonBeanRegistry.java:551) ~[spring-beans-5.2.8.RELEASE.jar!/:5.2.8.RELEASE]
at org.springframework.beans.factory.support.DefaultListableBeanFactory.destroySingleton(DefaultListableBeanFactory.java:1092) ~[spring-beans-5.2.8.RELEASE.jar!/:5.2.8.RELEASE]
at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.destroySingletons(DefaultSingletonBeanRegistry.java:512) ~[spring-beans-5.2.8.RELEASE.jar!/:5.2.8.RELEASE]
at org.springframework.beans.factory.support.DefaultListableBeanFactory.destroySingletons(DefaultListableBeanFactory.java:1085) ~[spring-beans-5.2.8.RELEASE.jar!/:5.2.8.RELEASE]
at org.springframework.context.support.AbstractApplicationContext.destroyBeans(AbstractApplicationContext.java:1061) ~[spring-context-5.2.8.RELEASE.jar!/:5.2.8.RELEASE]
at org.springframework.context.support.AbstractApplicationContext.doClose(AbstractApplicationContext.java:1030) ~[spring-context-5.2.8.RELEASE.jar!/:5.2.8.RELEASE]
at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.doClose(ServletWebServerApplicationContext.java:170) ~[spring-boot-2.3.3.RELEASE.jar!/:2.3.3.RELEASE]
at org.springframework.context.support.AbstractApplicationContext$1.run(AbstractApplicationContext.java:949) ~[spring-context-5.2.8.RELEASE.jar!/:5.2.8.RELEASE]
Expected behaviour should be it shutdowns all the pods started by it or shinyproxy should also store the proxy information in redis with session so that new shinyproxy pod can route traffic to already running pod instead of starting a new proxy and pod.
The text was updated successfully, but these errors were encountered:
Shinyproxy running on Kubernetes with persistent storage configured using redis is throwing exception during shutdown and not cleaning up running pods leaving behind orphaned pods.
Shinyproxy version 2.4.0/2.4.1
Kubernetes version 1.20
The exception its throwing is below:
Expected behaviour should be it shutdowns all the pods started by it or shinyproxy should also store the proxy information in redis with session so that new shinyproxy pod can route traffic to already running pod instead of starting a new proxy and pod.
The text was updated successfully, but these errors were encountered: