Uploaded image for project: 'Geode'
  1. Geode
  2. GEODE-7744

Redis module is unable to start

    XMLWordPrintableJSON

    Details

    • Type: Bug
    • Status: Closed
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: 1.12.0
    • Component/s: redis
    • Labels:
      None

      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

            Activity

              People

              • Assignee:
                echobravo Ernest Burghardt
                Reporter:
                jens.deppe Jens Deppe
              • Votes:
                0 Vote for this issue
                Watchers:
                2 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved:

                  Time Tracking

                  Estimated:
                  Original Estimate - Not Specified
                  Not Specified
                  Remaining:
                  Remaining Estimate - 0h
                  0h
                  Logged:
                  Time Spent - 2h
                  2h