Uploaded image for project: 'Infinispan'
  1. Infinispan
  2. ISPN-11461

Failed server startup corrupts the global persistent data because no UUID is generated

    Details

      Description

      I was starting the server multiple times while running the manual tests on the console. A couple of times I supplied a bad set of parameters that did not work. For example I tried starting the server with the following command: bin/server.sh -b 0.0.0.0 which is an example from the README.md file. The server failed to start, because it could not bind to all of the interfaces on the machine. However the next time I tried to start the server with this command bin/server.sh, I got the following exceptions and the server did not start:

      15:28:32,195 INFO  (main) [org.infinispan.CONTAINER] ISPN000390: Persisted state, version=10.1.3.ER4-redhat-00001 timestamp=2020-03-11T19:28:32.190142Z
      15:28:32,209 FATAL (main) [org.infinispan.SERVER] ISPN080028: Red Hat Data Grid Server failed to start java.util.concurrent.ExecutionException: org.infinispan.manager.EmbeddedCacheManagerStartupException: org.infinispan.commons.CacheConfigurationException: ISPN000516: The state file for '___global' is invalid. Startup halted to prevent further corruption of persistent state
      	at java.base/java.util.concurrent.CompletableFuture.reportGet(CompletableFuture.java:395)
      	at java.base/java.util.concurrent.CompletableFuture.get(CompletableFuture.java:1999)
      	at org.infinispan.server.Bootstrap.runInternal(Bootstrap.java:135)
      	at org.infinispan.server.tool.Main.run(Main.java:98)
      	at org.infinispan.server.Bootstrap.main(Bootstrap.java:39)
      	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.infinispan.server.loader.Loader.main(Loader.java:52)
      Caused by: org.infinispan.manager.EmbeddedCacheManagerStartupException: org.infinispan.commons.CacheConfigurationException: ISPN000516: The state file for '___global' is invalid. Startup halted to prevent further corruption of persistent state
      	at org.infinispan.manager.DefaultCacheManager.internalStart(DefaultCacheManager.java:747)
      	at org.infinispan.manager.DefaultCacheManager.start(DefaultCacheManager.java:713)
      	at org.infinispan.server.SecurityActions.lambda$startCacheManager$2(SecurityActions.java:52)
      	at org.infinispan.security.Security.doPrivileged(Security.java:47)
      	at org.infinispan.server.SecurityActions.doPrivileged(SecurityActions.java:32)
      	at org.infinispan.server.SecurityActions.startCacheManager(SecurityActions.java:55)
      	at org.infinispan.server.Server.run(Server.java:283)
      	... 8 more
      Caused by: org.infinispan.commons.CacheConfigurationException: ISPN000516: The state file for '___global' is invalid. Startup halted to prevent further corruption of persistent state
      	at org.infinispan.topology.LocalTopologyManagerImpl.prepareForRestore(LocalTopologyManagerImpl.java:772)
      	at org.infinispan.globalstate.impl.GlobalStateManagerImpl.registerStateProvider(GlobalStateManagerImpl.java:186)
      	at org.infinispan.topology.LocalTopologyManagerImpl.preStart(LocalTopologyManagerImpl.java:107)
      	at org.infinispan.topology.CorePackageImpl$5.start(CorePackageImpl.java:114)
      	at org.infinispan.topology.CorePackageImpl$5.start(CorePackageImpl.java:101)
      	at org.infinispan.factories.impl.BasicComponentRegistryImpl.invokeStart(BasicComponentRegistryImpl.java:587)
      	at org.infinispan.factories.impl.BasicComponentRegistryImpl.doStartWrapper(BasicComponentRegistryImpl.java:578)
      	at org.infinispan.factories.impl.BasicComponentRegistryImpl.startWrapper(BasicComponentRegistryImpl.java:547)
      	at org.infinispan.factories.impl.BasicComponentRegistryImpl.access$700(BasicComponentRegistryImpl.java:30)
      	at org.infinispan.factories.impl.BasicComponentRegistryImpl$ComponentWrapper.running(BasicComponentRegistryImpl.java:770)
      	at org.infinispan.factories.impl.BasicComponentRegistryImpl.startDependencies(BasicComponentRegistryImpl.java:605)
      	at org.infinispan.factories.impl.BasicComponentRegistryImpl.doStartWrapper(BasicComponentRegistryImpl.java:569)
      	at org.infinispan.factories.impl.BasicComponentRegistryImpl.startWrapper(BasicComponentRegistryImpl.java:547)
      	at org.infinispan.factories.impl.BasicComponentRegistryImpl.access$700(BasicComponentRegistryImpl.java:30)
      	at org.infinispan.factories.impl.BasicComponentRegistryImpl$ComponentWrapper.running(BasicComponentRegistryImpl.java:770)
      	at org.infinispan.factories.AbstractComponentRegistry.internalStart(AbstractComponentRegistry.java:344)
      	at org.infinispan.factories.AbstractComponentRegistry.start(AbstractComponentRegistry.java:240)
      	at org.infinispan.manager.DefaultCacheManager.internalStart(DefaultCacheManager.java:742)
      	... 14 more
      

      The global persistent data is corrupt, because a UUID was not successfully generated. In this situation, the global data should not be created at all.

        Gliffy Diagrams

          Attachments

            Activity

              People

              • Assignee:
                NadirX Tristan Tarrant
                Reporter:
                afield Alan Field
              • Votes:
                0 Vote for this issue
                Watchers:
                1 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: