hazelcast / hazelcast-code-samples

Hazelcast Code Samples
www.hazelcast.org
547 stars 594 forks source link

Unable to run ocp-demo-frontend in OpenShift #388

Open tamilchiran opened 4 years ago

tamilchiran commented 4 years ago

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
mmedenjak commented 4 years ago

@leszko @mesutcelik any ideas on this one?

tamilchiran commented 4 years ago

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

mesutcelik commented 4 years ago

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

mmedenjak commented 4 years ago

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.

mesutcelik commented 4 years ago

Thanks @mmedenjak !