]
Tristan Tarrant updated ISPN-11461:
-----------------------------------
Status: Pull Request Sent (was: Open)
Git Pull Request:
Failed server startup corrupts the global persistent data because no
UUID is generated
--------------------------------------------------------------------------------------
Key: ISPN-11461
URL:
https://issues.redhat.com/browse/ISPN-11461
Project: Infinispan
Issue Type: Bug
Components: Server
Affects Versions: 10.1.3.Final, 11.0.0.Alpha2
Reporter: Alan Field
Assignee: Tristan Tarrant
Priority: Minor
Fix For: 10.1.4.Final, 11.0.0.Dev03
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:
{noformat}
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
{noformat}
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.