hazelcast-code-samples icon indicating copy to clipboard operation
hazelcast-code-samples copied to clipboard

Unable to run ocp-demo-frontend in OpenShift

Open tamilchiran opened this issue 5 years ago • 5 comments

Openshift version used: oc v3.11.0+0cbc58b kubernetes v1.11.0+d4cacc0 features: Basic-Auth

kubernetes v1.11.0+d4cacc0

After executing oc new-app --image-stream=ocp-demo-frontend --name=hazelcast-client-app step, Pod is failing for below exception.

2020-02-18 11:04:57.525  WARN 1 --- [           main] ationConfigEmbeddedWebApplicationContext : Exception encountered during context initialization - cancelling refresh attempt: org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'defaultMapService': Unsatisfied dependency expressed through field 'client'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'hazelcastInstance' defined in class path resource [com/hazelcast/ocp/configuration/KubernetesConfig.class]: Bean instantiation via factory method failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [com.hazelcast.core.HazelcastInstance]: Factory method 'hazelcastInstance' threw exception; nested exception is java.lang.NoClassDefFoundError: com/hazelcast/util/StringUtil
--
  | 2020-02-18 11:04:57.529  INFO 1 --- [           main] o.apache.catalina.core.StandardService   : Stopping service Tomcat
  | 2020-02-18 11:04:57.547  INFO 1 --- [           main] utoConfigurationReportLoggingInitializer :
  | Error starting ApplicationContext. To display the auto-configuration report re-run your application with 'debug' enabled.
  | 2020-02-18 11:04:57.555 ERROR 1 --- [           main] o.s.boot.SpringApplication               : Application startup failed
  | org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'defaultMapService': Unsatisfied dependency expressed through field 'client'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'hazelcastInstance' defined in class path resource [com/hazelcast/ocp/configuration/KubernetesConfig.class]: Bean instantiation via factory method failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [com.hazelcast.core.HazelcastInstance]: Factory method 'hazelcastInstance' threw exception; nested exception is java.lang.NoClassDefFoundError: com/hazelcast/util/StringUtil
  | at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredFieldElement.inject(AutowiredAnnotationBeanPostProcessor.java:588) ~[spring-beans-4.3.7.RELEASE.jar!/:4.3.7.RELEASE]
  | at org.springframework.beans.factory.annotation.InjectionMetadata.inject(InjectionMetadata.java:88) ~[spring-beans-4.3.7.RELEASE.jar!/:4.3.7.RELEASE]
  | at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor.postProcessPropertyValues(AutowiredAnnotationBeanPostProcessor.java:366) ~[spring-beans-4.3.7.RELEASE.jar!/:4.3.7.RELEASE]
  | at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1264) ~[spring-beans-4.3.7.RELEASE.jar!/:4.3.7.RELEASE]
  | at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:553) ~[spring-beans-4.3.7.RELEASE.jar!/:4.3.7.RELEASE]
  | at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:483) ~[spring-beans-4.3.7.RELEASE.jar!/:4.3.7.RELEASE]
  | at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:306) ~[spring-beans-4.3.7.RELEASE.jar!/:4.3.7.RELEASE]
  | at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:230) ~[spring-beans-4.3.7.RELEASE.jar!/:4.3.7.RELEASE]
  | at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:302) ~[spring-beans-4.3.7.RELEASE.jar!/:4.3.7.RELEASE]
  | at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:197) ~[spring-beans-4.3.7.RELEASE.jar!/:4.3.7.RELEASE]
  | at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:761) ~[spring-beans-4.3.7.RELEASE.jar!/:4.3.7.RELEASE]
  | at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:866) ~[spring-context-4.3.7.RELEASE.jar!/:4.3.7.RELEASE]
  | at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:542) ~[spring-context-4.3.7.RELEASE.jar!/:4.3.7.RELEASE]
  | at org.springframework.boot.context.embedded.EmbeddedWebApplicationContext.refresh(EmbeddedWebApplicationContext.java:122) ~[spring-boot-1.5.2.RELEASE.jar!/:1.5.2.RELEASE]
  | at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:737) [spring-boot-1.5.2.RELEASE.jar!/:1.5.2.RELEASE]
  | at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:370) [spring-boot-1.5.2.RELEASE.jar!/:1.5.2.RELEASE]
  | at org.springframework.boot.SpringApplication.run(SpringApplication.java:314) [spring-boot-1.5.2.RELEASE.jar!/:1.5.2.RELEASE]
  | at org.springframework.boot.SpringApplication.run(SpringApplication.java:1162) [spring-boot-1.5.2.RELEASE.jar!/:1.5.2.RELEASE]
  | at org.springframework.boot.SpringApplication.run(SpringApplication.java:1151) [spring-boot-1.5.2.RELEASE.jar!/:1.5.2.RELEASE]
  | at com.hazelcast.ocp.OcpDemoApplication.main(OcpDemoApplication.java:16) [classes!/:na]
  | at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:1.8.0_151]
  | at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[na:1.8.0_151]
  | at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:1.8.0_151]
  | at java.lang.reflect.Method.invoke(Method.java:498) ~[na:1.8.0_151]
  | at org.springframework.boot.loader.MainMethodRunner.run(MainMethodRunner.java:48) [ocp-demo-frontend-0.1-SNAPSHOT.jar:na]
  | at org.springframework.boot.loader.Launcher.launch(Launcher.java:87) [ocp-demo-frontend-0.1-SNAPSHOT.jar:na]
  | at org.springframework.boot.loader.Launcher.launch(Launcher.java:50) [ocp-demo-frontend-0.1-SNAPSHOT.jar:na]
  | at org.springframework.boot.loader.JarLauncher.main(JarLauncher.java:51) [ocp-demo-frontend-0.1-SNAPSHOT.jar:na]
  | Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'hazelcastInstance' defined in class path resource [com/hazelcast/ocp/configuration/KubernetesConfig.class]: Bean instantiation via factory method failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [com.hazelcast.core.HazelcastInstance]: Factory method 'hazelcastInstance' threw exception; nested exception is java.lang.NoClassDefFoundError: com/hazelcast/util/StringUtil
  | at org.springframework.beans.factory.support.ConstructorResolver.instantiateUsingFactoryMethod(ConstructorResolver.java:599) ~[spring-beans-4.3.7.RELEASE.jar!/:4.3.7.RELEASE]
  | at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateUsingFactoryMethod(AbstractAutowireCapableBeanFactory.java:1173) ~[spring-beans-4.3.7.RELEASE.jar!/:4.3.7.RELEASE]
  | at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1067) ~[spring-beans-4.3.7.RELEASE.jar!/:4.3.7.RELEASE]
  | at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:513) ~[spring-beans-4.3.7.RELEASE.jar!/:4.3.7.RELEASE]
  | at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:483) ~[spring-beans-4.3.7.RELEASE.jar!/:4.3.7.RELEASE]
  | at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:325) ~[spring-beans-4.3.7.RELEASE.jar!/:4.3.7.RELEASE]
  | at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:202) ~[spring-beans-4.3.7.RELEASE.jar!/:4.3.7.RELEASE]
  | at org.springframework.beans.factory.config.DependencyDescriptor.resolveCandidate(DependencyDescriptor.java:208) ~[spring-beans-4.3.7.RELEASE.jar!/:4.3.7.RELEASE]
  | at org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:1138) ~[spring-beans-4.3.7.RELEASE.jar!/:4.3.7.RELEASE]
  | at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:1066) ~[spring-beans-4.3.7.RELEASE.jar!/:4.3.7.RELEASE]
  | at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredFieldElement.inject(AutowiredAnnotationBeanPostProcessor.java:585) ~[spring-beans-4.3.7.RELEASE.jar!/:4.3.7.RELEASE]
  | ... 27 common frames omitted
  | Caused by: org.springframework.beans.BeanInstantiationException: Failed to instantiate [com.hazelcast.core.HazelcastInstance]: Factory method 'hazelcastInstance' threw exception; nested exception is java.lang.NoClassDefFoundError: com/hazelcast/util/StringUtil
  | at org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:189) ~[spring-beans-4.3.7.RELEASE.jar!/:4.3.7.RELEASE]
  | at org.springframework.beans.factory.support.ConstructorResolver.instantiateUsingFactoryMethod(ConstructorResolver.java:588) ~[spring-beans-4.3.7.RELEASE.jar!/:4.3.7.RELEASE]
  | ... 37 common frames omitted
  | Caused by: java.lang.NoClassDefFoundError: com/hazelcast/util/StringUtil
  | at com.hazelcast.kubernetes.HazelcastKubernetesDiscoveryStrategy.readProperty(HazelcastKubernetesDiscoveryStrategy.java:131) ~[hazelcast-kubernetes-1.0.0.jar!/:na]
  | at com.hazelcast.kubernetes.HazelcastKubernetesDiscoveryStrategy.getOrDefault(HazelcastKubernetesDiscoveryStrategy.java:115) ~[hazelcast-kubernetes-1.0.0.jar!/:na]
  | at com.hazelcast.kubernetes.HazelcastKubernetesDiscoveryStrategy.getOrNull(HazelcastKubernetesDiscoveryStrategy.java:106) ~[hazelcast-kubernetes-1.0.0.jar!/:na]
  | at com.hazelcast.kubernetes.HazelcastKubernetesDiscoveryStrategy.<init>(HazelcastKubernetesDiscoveryStrategy.java:53) ~[hazelcast-kubernetes-1.0.0.jar!/:na]
  | at com.hazelcast.kubernetes.HazelcastKubernetesDiscoveryStrategyFactory.newDiscoveryStrategy(HazelcastKubernetesDiscoveryStrategyFactory.java:56) ~[hazelcast-kubernetes-1.0.0.jar!/:na]
  | at com.hazelcast.spi.discovery.impl.DefaultDiscoveryService.buildDiscoveryStrategy(DefaultDiscoveryService.java:183) ~[hazelcast-all-4.0.jar!/:4.0]
  | at com.hazelcast.spi.discovery.impl.DefaultDiscoveryService.loadDiscoveryStrategies(DefaultDiscoveryService.java:141) ~[hazelcast-all-4.0.jar!/:4.0]
  | at com.hazelcast.spi.discovery.impl.DefaultDiscoveryService.<init>(DefaultDiscoveryService.java:57) ~[hazelcast-all-4.0.jar!/:4.0]
  | at com.hazelcast.spi.discovery.impl.DefaultDiscoveryServiceProvider.newDiscoveryService(DefaultDiscoveryServiceProvider.java:29) ~[hazelcast-all-4.0.jar!/:4.0]
  | at com.hazelcast.client.impl.clientside.ClusterDiscoveryServiceBuilder.initDiscoveryService(ClusterDiscoveryServiceBuilder.java:246) ~[hazelcast-all-4.0.jar!/:4.0]
  | at com.hazelcast.client.impl.clientside.ClusterDiscoveryServiceBuilder.build(ClusterDiscoveryServiceBuilder.java:99) ~[hazelcast-all-4.0.jar!/:4.0]
  | at com.hazelcast.client.impl.clientside.HazelcastClientInstanceImpl.initClusterDiscoveryService(HazelcastClientInstanceImpl.java:285) ~[hazelcast-all-4.0.jar!/:4.0]
  | at com.hazelcast.client.impl.clientside.HazelcastClientInstanceImpl.<init>(HazelcastClientInstanceImpl.java:242) ~[hazelcast-all-4.0.jar!/:4.0]
  | at com.hazelcast.client.HazelcastClient.constructHazelcastClient(HazelcastClient.java:458) ~[hazelcast-all-4.0.jar!/:4.0]
  | at com.hazelcast.client.HazelcastClient.newHazelcastClientInternal(HazelcastClient.java:416) ~[hazelcast-all-4.0.jar!/:4.0]
  | at com.hazelcast.client.HazelcastClient.newHazelcastClient(HazelcastClient.java:119) ~[hazelcast-all-4.0.jar!/:4.0]
  | at com.hazelcast.ocp.configuration.KubernetesConfig.hazelcastInstance(KubernetesConfig.java:19) ~[classes!/:na]
  | at com.hazelcast.ocp.configuration.KubernetesConfig$$EnhancerBySpringCGLIB$$9058cd8b.CGLIB$hazelcastInstance$0(<generated>) ~[classes!/:na]
  | at com.hazelcast.ocp.configuration.KubernetesConfig$$EnhancerBySpringCGLIB$$9058cd8b$$FastClassBySpringCGLIB$$c3d54798.invoke(<generated>) ~[classes!/:na]
  | at org.springframework.cglib.proxy.MethodProxy.invokeSuper(MethodProxy.java:228) ~[spring-core-4.3.7.RELEASE.jar!/:4.3.7.RELEASE]
  | at org.springframework.context.annotation.ConfigurationClassEnhancer$BeanMethodInterceptor.intercept(ConfigurationClassEnhancer.java:358) ~[spring-context-4.3.7.RELEASE.jar!/:4.3.7.RELEASE]
  | at com.hazelcast.ocp.configuration.KubernetesConfig$$EnhancerBySpringCGLIB$$9058cd8b.hazelcastInstance(<generated>) ~[classes!/:na]
  | at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:1.8.0_151]
  | at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[na:1.8.0_151]
  | at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:1.8.0_151]
  | at java.lang.reflect.Method.invoke(Method.java:498) ~[na:1.8.0_151]
  | at org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:162) ~[spring-beans-4.3.7.RELEASE.jar!/:4.3.7.RELEASE]
  | ... 38 common frames omitted
  | Caused by: java.lang.ClassNotFoundException: com.hazelcast.util.StringUtil
  | at java.net.URLClassLoader.findClass(URLClassLoader.java:381) ~[na:1.8.0_151]
  | at java.lang.ClassLoader.loadClass(ClassLoader.java:424) ~[na:1.8.0_151]
  | at org.springframework.boot.loader.LaunchedURLClassLoader.loadClass(LaunchedURLClassLoader.java:94) ~[ocp-demo-frontend-0.1-SNAPSHOT.jar:na]
  | at java.lang.ClassLoader.loadClass(ClassLoader.java:357) ~[na:1.8.0_151]
  | ... 65 common frames omitted

tamilchiran avatar Feb 18 '20 11:02 tamilchiran

@leszko @mesutcelik any ideas on this one?

mmedenjak avatar Feb 18 '20 14:02 mmedenjak

Issue resolved after downgrading hazelcast version to 3.12.4 in module openshift with minor code changes.

tamilchiran avatar Feb 19 '20 07:02 tamilchiran

@hasancelik Have you had any issue when you worked on this recently?

mesutcelik avatar Mar 06 '20 18:03 mesutcelik

I'm fixing some code samples and I'll send a PR soon. I think this one is also fixed. The problem is that some of our plugins don't work with 4.0 which is used by most code samples.

mmedenjak avatar Mar 07 '20 07:03 mmedenjak

Thanks @mmedenjak !

mesutcelik avatar Mar 07 '20 12:03 mesutcelik