hazelcast-docker-swarm-discovery-spi
hazelcast-docker-swarm-discovery-spi copied to clipboard
Is Compatibility with Hazelcast v4.x planned?
- hazelcast-docker-swarm-discovery-spi: 1.0-RC14-20210205
- hazelcast: 4.0.3
- Docker Engine: 20.10.6
I am trying the binding via DockerDNSRRMemberAddressProvider with the configuration indicated above and member are correctly resolved but then nodes cannot join the cluster because com.hazelcast.nio.Address class has been moved to com.hazelcast.cluster.Address in version 4.0.3.
Then, I am wondering if a compatible version of hazelcast-docker-swarm-discovery-spi with Hazelcast v4.x is planned, which it would be great.
Please find below some related logging:
2021-06-25 09:48:24.458 INFO 1 --- [main] s.d.s.d.DockerDNSRRMemberAddressProvider : Resolved domain name 'rdd-ngame-consumer-dev_rdd-ngame-consumer-service' to address(es): [rdd-ngame-consumer-dev_rdd-ngame-consumer-service/10.0.80.235, rdd-ngame-consumer-dev_rdd-ngame-consumer-service/10.0.80.236, rdd-ngame-consumer-dev_rdd-ngame-consumer-service/10.0.80.237] 2021-06-25 09:48:24.460 INFO 1 --- [main] s.d.s.d.DockerDNSRRMemberAddressProvider : Checking address /172.19.0.11 2021-06-25 09:48:24.460 INFO 1 --- [main] s.d.s.d.DockerDNSRRMemberAddressProvider : Checking address /10.0.80.235 2021-06-25 09:48:24.467 DEBUG 1 --- [main] com.hazelcast.instance.AddressPicker : [LOCAL] [dev] [4.0.3] Trying to bind inet socket address: /10.0.80.235:5701 2021-06-25 09:48:24.468 DEBUG 1 --- [main] com.hazelcast.instance.AddressPicker : [LOCAL] [dev] [4.0.3] Bind successful to inet socket address: /10.0.80.235:5701 2021-06-25 09:48:24.470 INFO 1 --- [ main] com.hazelcast.instance.AddressPicker : [LOCAL] [dev] [4.0.3] Using bind address: /10.0.80.235:5701 2021-06-25 09:48:24.470 INFO 1 --- [main] com.hazelcast.instance.AddressPicker : [LOCAL] [dev] [4.0.3] Using public address: /10.0.80.235:5701 2021-06-25 09:48:25.751 INFO 1 --- [main] c.h.s.d.integration.DiscoveryService : [10.0.80.235]:5701 [dev] [4.0.3] Resolved domain name 'rdd-ngame-consumer' to address(es): [rdd-ngame-consumer/10.0.80.235] 2021-06-25 09:48:25.752 ERROR 1 --- [main] c.h.i.cluster.impl.DiscoveryJoiner : [10.0.80.235]:5701 [dev] [4.0.3] com/hazelcast/nio/Address java.lang.NoClassDefFoundError: com/hazelcast/nio/Address at org.bitsofinfo.hazelcast.spi.docker.swarm.dnsrr.discovery.DockerDNSRRDiscoveryStrategy.discoverNodes(DockerDNSRRDiscoveryStrategy.java:124) at com.hazelcast.spi.discovery.impl.DefaultDiscoveryService.discoverNodes(DefaultDiscoveryService.java:71) at com.hazelcast.internal.cluster.impl.DiscoveryJoiner.getPossibleAddresses(DiscoveryJoiner.java:69) at com.hazelcast.internal.cluster.impl.DiscoveryJoiner.getPossibleAddressesForInitialJoin(DiscoveryJoiner.java:58) at com.hazelcast.internal.cluster.impl.TcpIpJoiner.joinViaPossibleMembers(TcpIpJoiner.java:136) at com.hazelcast.internal.cluster.impl.TcpIpJoiner.doJoin(TcpIpJoiner.java:96) at com.hazelcast.internal.cluster.impl.AbstractJoiner.join(AbstractJoiner.java:137) at com.hazelcast.instance.impl.Node.join(Node.java:809) at com.hazelcast.instance.impl.Node.start(Node.java:464) at com.hazelcast.instance.impl.HazelcastInstanceImpl.(HazelcastInstanceImpl.java:122) at com.hazelcast.instance.impl.HazelcastInstanceFactory.constructHazelcastInstance(HazelcastInstanceFactory.java:211) at com.hazelcast.instance.impl.HazelcastInstanceFactory.getOrCreateHazelcastInstance(HazelcastInstanceFactory.java:108) at com.hazelcast.core.Hazelcast.getOrCreateHazelcastInstance(Hazelcast.java:165) at org.springframework.boot.autoconfigure.hazelcast.HazelcastServerConfiguration.getHazelcastInstance(HazelcastServerConfiguration.java:52) at org.springframework.boot.autoconfigure.hazelcast.HazelcastServerConfiguration.access$000(HazelcastServerConfiguration.java:46) at org.springframework.boot.autoconfigure.hazelcast.HazelcastServerConfiguration$HazelcastServerConfigFileConfiguration.hazelcastInstance(HazelcastServerConfiguration.java:68) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:566) at org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:154) at org.springframework.beans.factory.support.ConstructorResolver.instantiate(ConstructorResolver.java:653) at org.springframework.beans.factory.support.ConstructorResolver.instantiateUsingFactoryMethod(ConstructorResolver.java:638) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateUsingFactoryMethod(AbstractAutowireCapableBeanFactory.java:1334) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1177) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:564) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:524) at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:335) at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234) at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:333) at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:208) at org.springframework.beans.factory.config.DependencyDescriptor.resolveCandidate(DependencyDescriptor.java:276) at org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:1380) at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:1300) at org.springframework.beans.factory.support.ConstructorResolver.resolveAutowiredArgument(ConstructorResolver.java:887) at org.springframework.beans.factory.support.ConstructorResolver.createArgumentArray(ConstructorResolver.java:791) at org.springframework.beans.factory.support.ConstructorResolver.instantiateUsingFactoryMethod(ConstructorResolver.java:541) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateUsingFactoryMethod(AbstractAutowireCapableBeanFactory.java:1334) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1177) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:564) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:524) at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:335) at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234) at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:333) at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:208) at org.springframework.beans.factory.config.DependencyDescriptor.resolveCandidate(DependencyDescriptor.java:276) at org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:1380) at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:1300) at org.springframework.beans.factory.support.ConstructorResolver.resolveAutowiredArgument(ConstructorResolver.java:887) at org.springframework.beans.factory.support.ConstructorResolver.createArgumentArray(ConstructorResolver.java:791) at org.springframework.beans.factory.support.ConstructorResolver.instantiateUsingFactoryMethod(ConstructorResolver.java:541) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateUsingFactoryMethod(AbstractAutowireCapableBeanFactory.java:1334) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1177) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:564) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:524) at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:335) at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234) at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:333) at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:208) at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:944) at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:918) at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:583) at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.refresh(ServletWebServerApplicationContext.java:144) at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:771) at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:763) at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:438) at org.springframework.boot.SpringApplication.run(SpringApplication.java:339) at org.springframework.boot.SpringApplication.run(SpringApplication.java:1329) at org.springframework.boot.SpringApplication.run(SpringApplication.java:1318) at realtimedatadelivery.ngameconsumer.NGameConsumerServiceApplication.main(NGameConsumerServiceApplication.java:33) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:566) at org.springframework.boot.loader.MainMethodRunner.run(MainMethodRunner.java:49) at org.springframework.boot.loader.Launcher.launch(Launcher.java:108) at org.springframework.boot.loader.Launcher.launch(Launcher.java:58) at org.springframework.boot.loader.JarLauncher.main(JarLauncher.java:88) Caused by: java.lang.ClassNotFoundException: com.hazelcast.nio.Address at java.base/java.net.URLClassLoader.findClass(URLClassLoader.java:471) at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:589) at org.springframework.boot.loader.LaunchedURLClassLoader.loadClass(LaunchedURLClassLoader.java:135) at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:522) ... 78 common frames omitted 2021-06-25 09:48:25.753 DEBUG 1 --- [main] c.h.i.cluster.impl.DiscoveryJoiner : [10.0.80.235]:5701 [dev] [4.0.3] PostJoin master: null, isMaster: false 2021-06-25 09:48:25.754 ERROR 1 --- [main] com.hazelcast.instance.impl.Node : [10.0.80.235]:5701 [dev] [4.0.3] Could not join cluster. Shutting down now! 2021-06-25 09:48:25.755 INFO 1 --- [main] com.hazelcast.core.LifecycleService : [10.0.80.235]:5701 [dev] [4.0.3] [10.0.80.235]:5701 is SHUTTING_DOWN
Thanks.