Description
Trying to start the redis service will often fail with the following error:
[vm1] [info 2020/01/27 15:58:40.542 PST <RMI TCP Connection(1)-127.0.0.1> tid=0x13] Initializing region ReDiS_MeTa_DaTa [vm1] [info 2020/01/27 15:58:40.544 PST <RMI TCP Connection(1)-127.0.0.1> tid=0x13] Initialization of region ReDiS_MeTa_DaTa completed [vm1] [warn 2020/01/27 15:58:40.546 PST <RMI TCP Connection(1)-127.0.0.1> tid=0x13] Cache service org.apache.geode.redis.internal.GeodeRedisService failed to initialize [vm1] java.lang.NullPointerException [vm1] at org.apache.geode.cache.query.internal.DefaultQueryService.<init>(DefaultQueryService.java:118) [vm1] at org.apache.geode.internal.cache.GemFireCacheImpl.getLocalQueryService(GemFireCacheImpl.java:4000) [vm1] at org.apache.geode.internal.cache.GemFireCacheImpl.getQueryService(GemFireCacheImpl.java:3977) [vm1] at org.apache.geode.redis.internal.RegionProvider.<init>(RegionProvider.java:104) [vm1] at org.apache.geode.redis.GeodeRedisServer.initializeRedis(GeodeRedisServer.java:446) [vm1] at org.apache.geode.redis.GeodeRedisServer.start(GeodeRedisServer.java:379) [vm1] at org.apache.geode.redis.internal.GeodeRedisService.startRedisServer(GeodeRedisService.java:61) [vm1] at org.apache.geode.redis.internal.GeodeRedisService.init(GeodeRedisService.java:35) [vm1] at org.apache.geode.internal.cache.GemFireCacheImpl.initializeServices(GemFireCacheImpl.java:1416) [vm1] at org.apache.geode.internal.cache.GemFireCacheImpl.initialize(GemFireCacheImpl.java:1358) [vm1] at org.apache.geode.internal.cache.InternalCacheBuilder.create(InternalCacheBuilder.java:191) [vm1] at org.apache.geode.internal.cache.InternalCacheBuilder.create(InternalCacheBuilder.java:158) [vm1] at org.apache.geode.cache.CacheFactory.create(CacheFactory.java:142) [vm1] at org.apache.geode.test.junit.rules.ServerStarterRule.startServer(ServerStarterRule.java:199) [vm1] at org.apache.geode.test.junit.rules.ServerStarterRule.before(ServerStarterRule.java:91) [vm1] at org.apache.geode.test.dunit.rules.ClusterStartupRule.lambda$startServerVM$729766c4$1(ClusterStartupRule.java:277) [vm1] at org.apache.geode.test.dunit.internal.IdentifiableCallable.call(IdentifiableCallable.java:41) [vm1] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) [vm1] at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) [vm1] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) [vm1] at java.lang.reflect.Method.invoke(Method.java:498) [vm1] at org.apache.geode.test.dunit.internal.MethodInvoker.executeObject(MethodInvoker.java:123) [vm1] at org.apache.geode.test.dunit.internal.RemoteDUnitVM.executeMethodOnObject(RemoteDUnitVM.java:78) [vm1] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) [vm1] at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) [vm1] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) [vm1] at java.lang.reflect.Method.invoke(Method.java:498) [vm1] at sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:357) [vm1] at sun.rmi.transport.Transport$1.run(Transport.java:200) [vm1] at sun.rmi.transport.Transport$1.run(Transport.java:197) [vm1] at java.security.AccessController.doPrivileged(Native Method) [vm1] at sun.rmi.transport.Transport.serviceCall(Transport.java:196) [vm1] at sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:573) [vm1] at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0(TCPTransport.java:834) [vm1] at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.lambda$run$0(TCPTransport.java:688) [vm1] at java.security.AccessController.doPrivileged(Native Method) [vm1] at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:687) [vm1] at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) [vm1] at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) [vm1] at java.lang.Thread.run(Thread.java:748)
This is because Redis startup sequence depends on the QueryService which has not been created at this point since {{CacheService}}s do not have any way of defining interdependencies.
Attachments
Issue Links
- links to