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

Upgrades from 13.0.x to 14.0.0 fail with persistence cache configurations

XMLWordPrintable

    • Hide
      Index: core/src/test/java/org/infinispan/configuration/ConfigurationMatchesTest.java
      IDEA additional info:
      Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP
      <+>UTF-8
      ===================================================================
      diff --git a/core/src/test/java/org/infinispan/configuration/ConfigurationMatchesTest.java b/core/src/test/java/org/infinispan/configuration/ConfigurationMatchesTest.java
      new file mode 100644
      --- /dev/null	(date 1658397013522)
      +++ b/core/src/test/java/org/infinispan/configuration/ConfigurationMatchesTest.java	(date 1658397013522)
      @@ -0,0 +1,48 @@
      +package org.infinispan.configuration;
      +
      +import org.infinispan.configuration.cache.Configuration;
      +import org.infinispan.configuration.parsing.ConfigurationBuilderHolder;
      +import org.infinispan.configuration.parsing.ParserRegistry;
      +import org.infinispan.test.AbstractInfinispanTest;
      +import org.testng.AssertJUnit;
      +import org.testng.annotations.Test;
      +
      +/**
      + * @author Ryan Emerson
      + * @since 14.0
      + */
      +@Test(groups = "functional", testName= "configuration.ConfigurationMatchesTest")
      +public class ConfigurationMatchesTest extends AbstractInfinispanTest {
      +   public void testOldConfigurationMatches() {
      +      String cacheName = "someCache";
      +      ParserRegistry parserRegistry = new ParserRegistry();
      +      ConfigurationBuilderHolder oldHolder = parserRegistry.parse("<?xml version=\"1.0\"?>\n" +
      +            "<infinispan xmlns=\"urn:infinispan:config:13.0\">\n" +
      +            "    <cache-container>\n" +
      +            "        <caches>\n" +
      +            "            <distributed-cache name=\"someCache\" mode=\"SYNC\">\n" +
      +            "                <persistence>\n" +
      +            "                    <file-store/>\n" +
      +            "                </persistence>\n" +
      +            "            </distributed-cache>\n" +
      +            "        </caches>\n" +
      +            "    </cache-container>\n" +
      +            "</infinispan>\n");
      +
      +      ConfigurationBuilderHolder newHolder = parserRegistry.parse("<?xml version=\"1.0\"?>\n" +
      +            "<infinispan xmlns=\"urn:infinispan:config:13.0\">\n" +
      +            "    <cache-container>\n" +
      +            "        <caches>\n" +
      +            "            <distributed-cache name=\"someCache\" mode=\"SYNC\">\n" +
      +            "                <persistence>\n" +
      +            "                    <file-store/>\n" +
      +            "                </persistence>\n" +
      +            "            </distributed-cache>\n" +
      +            "        </caches>\n" +
      +            "    </cache-container>\n" +
      +            "</infinispan>\n");
      +      Configuration oldConfig = oldHolder.getNamedConfigurationBuilders().get(cacheName).build();
      +      Configuration newConfig = newHolder.getNamedConfigurationBuilders().get(cacheName).build();
      +      AssertJUnit.assertTrue(oldConfig.matches(newConfig));
      +   }
      +}
      
      
      Show
      Index: core/src/test/java/org/infinispan/configuration/ConfigurationMatchesTest.java IDEA additional info: Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP <+>UTF-8 =================================================================== diff --git a/core/src/test/java/org/infinispan/configuration/ConfigurationMatchesTest.java b/core/src/test/java/org/infinispan/configuration/ConfigurationMatchesTest.java new file mode 100644 --- /dev/ null (date 1658397013522) +++ b/core/src/test/java/org/infinispan/configuration/ConfigurationMatchesTest.java (date 1658397013522) @@ -0,0 +1,48 @@ + package org.infinispan.configuration; + + import org.infinispan.configuration.cache.Configuration; + import org.infinispan.configuration.parsing.ConfigurationBuilderHolder; + import org.infinispan.configuration.parsing.ParserRegistry; + import org.infinispan.test.AbstractInfinispanTest; + import org.testng.AssertJUnit; + import org.testng.annotations.Test; + +/** + * @author Ryan Emerson + * @since 14.0 + */ +@Test(groups = "functional" , testName= "configuration.ConfigurationMatchesTest" ) + public class ConfigurationMatchesTest extends AbstractInfinispanTest { + public void testOldConfigurationMatches() { + String cacheName = "someCache" ; + ParserRegistry parserRegistry = new ParserRegistry(); + ConfigurationBuilderHolder oldHolder = parserRegistry.parse( "<?xml version=\" 1.0\ "?>\n" + + "<infinispan xmlns=\" urn:infinispan:config:13.0\ ">\n" + + " <cache-container>\n" + + " <caches>\n" + + " <distributed-cache name=\" someCache\ " mode=\" SYNC\ ">\n" + + " <persistence>\n" + + " <file-store/>\n" + + " </persistence>\n" + + " </distributed-cache>\n" + + " </caches>\n" + + " </cache-container>\n" + + "</infinispan>\n" ); + + ConfigurationBuilderHolder newHolder = parserRegistry.parse( "<?xml version=\" 1.0\ "?>\n" + + "<infinispan xmlns=\" urn:infinispan:config:13.0\ ">\n" + + " <cache-container>\n" + + " <caches>\n" + + " <distributed-cache name=\" someCache\ " mode=\" SYNC\ ">\n" + + " <persistence>\n" + + " <file-store/>\n" + + " </persistence>\n" + + " </distributed-cache>\n" + + " </caches>\n" + + " </cache-container>\n" + + "</infinispan>\n" ); + Configuration oldConfig = oldHolder.getNamedConfigurationBuilders().get(cacheName).build(); + Configuration newConfig = newHolder.getNamedConfigurationBuilders().get(cacheName).build(); + AssertJUnit.assertTrue(oldConfig.matches(newConfig)); + } +}

      It's not possible to upgrade clusters from 13.0.x to 14.0.0 if any cache configurations with persistence exist in `caches.xml`. The following exception is thrown on startup of 14.0.0.Dev03 when trying to upgrade a cluster with the following caches.xml:

      <?xml version="1.0"?>
      <infinispan xmlns="urn:infinispan:config:13.0">
          <cache-container>
              <caches>
                  <distributed-cache name="someCache" mode="SYNC">
                      <persistence>
                          <file-store/>
                      </persistence>
                  </distributed-cache>
              </caches>
          </cache-container>
      </infinispan>
      
      09:04:07,826 INFO  (main) [BOOT] JVM OpenJDK 64-Bit Server VM Red Hat, Inc. 17.0.3+7-LTS
      09:04:07,832 INFO  (main) [BOOT] JVM arguments = [-server, --add-exports, java.naming/com.sun.jndi.ldap=ALL-UNNAMED, -Xmx512m, -XX:+ExitOnOutOfMemoryError, -XX:MetaspaceSize=32m, -XX:MaxMetaspaceSize=96m, -Djava.net.preferIPv4Stack=true, -Djava.awt.headless=true, -agentlib:jdwp=transport=dt_socket,address=8787,server=y,suspend=n, -Dvisualvm.display.name=infinispan-server, -Djava.util.logging.manager=org.apache.logging.log4j.jul.LogManager, -Dinfinispan.server.home.path=/opt/infinispan, -classpath, :/opt/infinispan/boot/infinispan-server-runtime-14.0.0.Dev03-loader.jar, org.infinispan.server.loader.Loader, org.infinispan.server.Bootstrap, --bind-address=0.0.0.0, -l, /opt/infinispan/server/conf/operator/log4j.xml, -c, operator/infinispan-base.xml, -c, operator/infinispan-admin.xml]
      09:04:07,835 INFO  (main) [BOOT] PID = 166
      09:04:07,862 INFO  (main) [org.infinispan.SERVER] ISPN080000: Infinispan Server 14.0.0.Dev03 starting
      09:04:07,862 INFO  (main) [org.infinispan.SERVER] ISPN080017: Server configuration: operator/infinispan-base.xml
      09:04:07,862 INFO  (main) [org.infinispan.SERVER] ISPN080017: Server configuration: operator/infinispan-admin.xml
      09:04:07,862 INFO  (main) [org.infinispan.SERVER] ISPN080032: Logging configuration: /opt/infinispan/server/conf/operator/log4j.xml
      09:04:08,323 INFO  (main) [org.infinispan.SERVER] ISPN080027: Loaded extension 'query-dsl-filter-converter-factory'
      09:04:08,323 INFO  (main) [org.infinispan.SERVER] ISPN080027: Loaded extension 'continuous-query-filter-converter-factory'
      09:04:08,325 INFO  (main) [org.infinispan.SERVER] ISPN080027: Loaded extension 'iteration-filter-converter-factory'
      09:04:08,326 WARN  (main) [org.infinispan.SERVER] ISPN080059: No script engines are available
      09:04:08,789 WARN  (main) [org.infinispan.PERSISTENCE] ISPN000554: jboss-marshalling is deprecated and planned for removal
      09:04:08,825 INFO  (main) [org.infinispan.CONTAINER] ISPN000556: Starting user marshaller 'org.infinispan.commons.marshall.ImmutableProtoStreamMarshaller'
      09:04:09,326 WARN  (main) [org.infinispan.protostream.impl.AnnotatedDescriptorImpl] Encountered and ignored and unknown annotation "Scope" on org.infinispan.persistence.query.core.LocalQueryStatistics
      09:04:09,330 INFO  (main) [org.infinispan.CONTAINER] ISPN000389: Loaded global state, version=14.0.0.Dev03 timestamp=2022-07-21T09:03:17.863111740Z
      09:04:09,609 INFO  (main) [org.infinispan.CLUSTER] ISPN000078: Starting JGroups channel `test-upgrade` with stack `image-tcp`
      09:04:09,734 INFO  (main) [org.jgroups.JChannel] local_addr: 8543edd1-b69b-4215-9533-57b01efda2a0, name: test-upgrade-0-10865
      09:04:11,749 INFO  (main) [org.jgroups.protocols.pbcast.GMS] test-upgrade-0-10865: no members discovered after 2004 ms: creating cluster as coordinator
      09:04:11,775 INFO  (main) [org.infinispan.CLUSTER] ISPN000094: Received new cluster view for channel test-upgrade: [test-upgrade-0-10865|0] (1) [test-upgrade-0-10865]
      09:04:11,831 INFO  (main) [org.infinispan.CLUSTER] ISPN000079: Channel `test-upgrade` local address is `test-upgrade-0-10865`, physical addresses are `[10.244.0.67:7800]`
      09:04:12,089 INFO  (main) [org.jboss.threads] JBoss Threads version 2.3.3.Final
      09:04:12,152 INFO  (main) [org.infinispan.CONTAINER] ISPN000104: Using EmbeddedTransactionManager
      09:04:12,400 WARN  (blocking-thread--p3-t1) [org.infinispan.encoding.impl.StorageConfigurationManager] ISPN000599: Configuration for cache 'someCache' does not define the encoding for keys or values. If you use operations that require data conversion or queries, you should configure the cache with a specific MediaType for keys or values.
      09:04:12,450 ERROR (main) [org.infinispan.interceptors.impl.InvocationContextInterceptor] ISPN000136: Error executing command PutKeyValueCommand on Cache 'org.infinispan.CONFIG', writing keys [ScopedState{scope='cache', name='someCache'}] org.infinispan.commons.CacheListenerException: ISPN000280: Caught exception [org.infinispan.commons.CacheConfigurationException] while invoking method [public java.util.concurrent.CompletionStage org.infinispan.globalstate.impl.GlobalConfigurationStateListener.handleCreate(org.infinispan.notifications.cachelistener.event.CacheEntryCreatedEvent)] on listener instance: org.infinispan.globalstate.impl.GlobalConfigurationStateListener@422ba9b7
      	at org.infinispan.notifications.impl.AbstractListenerImpl$ListenerInvocationImpl.lambda$invoke$1(AbstractListenerImpl.java:430)
      	at org.infinispan.notifications.impl.AbstractListenerImpl$ListenerInvocationImpl.invoke(AbstractListenerImpl.java:450)
      	at org.infinispan.notifications.cachelistener.CacheNotifierImpl$BaseCacheEntryListenerInvocation.doRealInvocation(CacheNotifierImpl.java:1793)
      	at org.infinispan.notifications.cachelistener.CacheNotifierImpl$BaseCacheEntryListenerInvocation.doRealInvocation(CacheNotifierImpl.java:1789)
      	at org.infinispan.notifications.cachelistener.CacheNotifierImpl$BaseCacheEntryListenerInvocation.invokeNoChecks(CacheNotifierImpl.java:1784)
      	at org.infinispan.notifications.cachelistener.CacheNotifierImpl$BaseCacheEntryListenerInvocation.invoke(CacheNotifierImpl.java:1757)
      	at org.infinispan.notifications.cachelistener.CacheNotifierImpl.doNotifyCreated(CacheNotifierImpl.java:428)
      	at org.infinispan.notifications.cachelistener.CacheNotifierImpl.notifyCacheEntryCreated(CacheNotifierImpl.java:410)
      	at org.infinispan.notifications.cachelistener.NotifyHelper.entryCommitted(NotifyHelper.java:63)
      	at org.infinispan.interceptors.locking.ClusteringDependentLogic$ReplicationLogic.commitSingleEntry(ClusteringDependentLogic.java:561)
      	at org.infinispan.interceptors.locking.ClusteringDependentLogic$AbstractClusteringDependentLogic.commitEntry(ClusteringDependentLogic.java:243)
      	at org.infinispan.interceptors.impl.EntryWrappingInterceptor.commitContextEntry(EntryWrappingInterceptor.java:612)
      	at org.infinispan.interceptors.impl.EntryWrappingInterceptor.commitEntryIfNeeded(EntryWrappingInterceptor.java:885)
      	at org.infinispan.interceptors.impl.EntryWrappingInterceptor.commitContextEntries(EntryWrappingInterceptor.java:592)
      	at org.infinispan.interceptors.impl.EntryWrappingInterceptor.applyChanges(EntryWrappingInterceptor.java:686)
      	at org.infinispan.interceptors.impl.EntryWrappingInterceptor.applyAndFixVersion(EntryWrappingInterceptor.java:738)
      	at org.infinispan.interceptors.SyncInvocationStage.thenApply(SyncInvocationStage.java:44)
      	at org.infinispan.interceptors.impl.EntryWrappingInterceptor.setSkipRemoteGetsAndInvokeNextForDataCommand(EntryWrappingInterceptor.java:733)
      	at org.infinispan.interceptors.impl.EntryWrappingInterceptor.visitPutKeyValueCommand(EntryWrappingInterceptor.java:336)
      	at org.infinispan.commands.write.PutKeyValueCommand.acceptVisitor(PutKeyValueCommand.java:63)
      	at org.infinispan.interceptors.BaseAsyncInterceptor.invokeNextAndFinally(BaseAsyncInterceptor.java:155)
      	at org.infinispan.interceptors.locking.AbstractLockingInterceptor.lambda$nonTxLockAndInvokeNext$3(AbstractLockingInterceptor.java:318)
      	at org.infinispan.interceptors.SyncInvocationStage.andHandle(SyncInvocationStage.java:69)
      	at org.infinispan.interceptors.locking.AbstractLockingInterceptor.nonTxLockAndInvokeNext(AbstractLockingInterceptor.java:313)
      	at org.infinispan.interceptors.locking.AbstractLockingInterceptor.visitNonTxDataWriteCommand(AbstractLockingInterceptor.java:138)
      	at org.infinispan.interceptors.locking.NonTransactionalLockingInterceptor.visitDataWriteCommand(NonTransactionalLockingInterceptor.java:41)
      	at org.infinispan.interceptors.locking.AbstractLockingInterceptor.visitPutKeyValueCommand(AbstractLockingInterceptor.java:82)
      	at org.infinispan.commands.write.PutKeyValueCommand.acceptVisitor(PutKeyValueCommand.java:63)
      	at org.infinispan.interceptors.BaseAsyncInterceptor.invokeNextAndHandle(BaseAsyncInterceptor.java:188)
      	at org.infinispan.statetransfer.StateTransferInterceptor.handleNonTxWriteCommand(StateTransferInterceptor.java:312)
      	at org.infinispan.statetransfer.StateTransferInterceptor.handleWriteCommand(StateTransferInterceptor.java:256)
      	at org.infinispan.statetransfer.StateTransferInterceptor.visitPutKeyValueCommand(StateTransferInterceptor.java:96)
      	at org.infinispan.commands.write.PutKeyValueCommand.acceptVisitor(PutKeyValueCommand.java:63)
      	at org.infinispan.interceptors.BaseAsyncInterceptor.invokeNext(BaseAsyncInterceptor.java:59)
      	at org.infinispan.interceptors.impl.CacheMgmtInterceptor.updateStoreStatistics(CacheMgmtInterceptor.java:265)
      	at org.infinispan.interceptors.impl.CacheMgmtInterceptor.visitPutKeyValueCommand(CacheMgmtInterceptor.java:224)
      	at org.infinispan.commands.write.PutKeyValueCommand.acceptVisitor(PutKeyValueCommand.java:63)
      	at org.infinispan.interceptors.BaseAsyncInterceptor.invokeNext(BaseAsyncInterceptor.java:59)
      	at org.infinispan.interceptors.DDAsyncInterceptor.handleDefault(DDAsyncInterceptor.java:54)
      	at org.infinispan.interceptors.DDAsyncInterceptor.visitPutKeyValueCommand(DDAsyncInterceptor.java:60)
      	at org.infinispan.commands.write.PutKeyValueCommand.acceptVisitor(PutKeyValueCommand.java:63)
      	at org.infinispan.interceptors.BaseAsyncInterceptor.invokeNextAndExceptionally(BaseAsyncInterceptor.java:128)
      	at org.infinispan.interceptors.impl.InvocationContextInterceptor.visitCommand(InvocationContextInterceptor.java:89)
      	at org.infinispan.interceptors.impl.AsyncInterceptorChainImpl.invokeAsync(AsyncInterceptorChainImpl.java:220)
      	at org.infinispan.cache.impl.InvocationHelper.doInvokeAsync(InvocationHelper.java:318)
      	at org.infinispan.cache.impl.InvocationHelper.invokeAsync(InvocationHelper.java:156)
      	at org.infinispan.cache.impl.InvocationHelper.invokeAsync(InvocationHelper.java:139)
      	at org.infinispan.cache.impl.CacheImpl.putIfAbsentAsync(CacheImpl.java:1476)
      	at org.infinispan.cache.impl.CacheImpl.putIfAbsentAsync(CacheImpl.java:1469)
      	at org.infinispan.cache.impl.CacheImpl.putIfAbsentAsync(CacheImpl.java:446)
      	at org.infinispan.cache.impl.AbstractDelegatingCache.putIfAbsentAsync(AbstractDelegatingCache.java:203)
      	at org.infinispan.cache.impl.AbstractDelegatingCache.putIfAbsentAsync(AbstractDelegatingCache.java:203)
      	at org.infinispan.cache.impl.EncoderCache.putIfAbsentAsync(EncoderCache.java:296)
      	at org.infinispan.globalstate.impl.GlobalConfigurationManagerImpl.createCache(GlobalConfigurationManagerImpl.java:271)
      	at org.infinispan.globalstate.impl.GlobalConfigurationManagerImpl.getOrCreateCache(GlobalConfigurationManagerImpl.java:215)
      	at org.infinispan.globalstate.impl.GlobalConfigurationManagerImpl.lambda$start$1(GlobalConfigurationManagerImpl.java:136)
      	at java.base/java.util.HashMap.forEach(HashMap.java:1421)
      	at org.infinispan.globalstate.impl.GlobalConfigurationManagerImpl.start(GlobalConfigurationManagerImpl.java:131)
      	at org.infinispan.globalstate.impl.CorePackageImpl$2.start(CorePackageImpl.java:60)
      	at org.infinispan.globalstate.impl.CorePackageImpl$2.start(CorePackageImpl.java:48)
      	at org.infinispan.factories.impl.BasicComponentRegistryImpl.invokeStart(BasicComponentRegistryImpl.java:617)
      	at org.infinispan.factories.impl.BasicComponentRegistryImpl.doStartWrapper(BasicComponentRegistryImpl.java:608)
      	at org.infinispan.factories.impl.BasicComponentRegistryImpl.startWrapper(BasicComponentRegistryImpl.java:577)
      	at org.infinispan.factories.impl.BasicComponentRegistryImpl$ComponentWrapper.running(BasicComponentRegistryImpl.java:808)
      	at org.infinispan.factories.AbstractComponentRegistry.internalStart(AbstractComponentRegistry.java:357)
      	at org.infinispan.factories.AbstractComponentRegistry.start(AbstractComponentRegistry.java:250)
      	at org.infinispan.manager.DefaultCacheManager.internalStart(DefaultCacheManager.java:769)
      	at org.infinispan.manager.DefaultCacheManager.start(DefaultCacheManager.java:737)
      	at org.infinispan.server.SecurityActions.lambda$startCacheManager$1(SecurityActions.java:68)
      	at org.infinispan.security.Security.doPrivileged(Security.java:56)
      	at org.infinispan.server.SecurityActions.doPrivileged(SecurityActions.java:40)
      	at org.infinispan.server.SecurityActions.startCacheManager(SecurityActions.java:71)
      	at org.infinispan.server.Server.run(Server.java:409)
      	at org.infinispan.server.Bootstrap.runInternal(Bootstrap.java:168)
      	at org.infinispan.server.tool.Main.run(Main.java:98)
      	at org.infinispan.server.Bootstrap.main(Bootstrap.java:50)
      	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
      	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
      	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
      	at java.base/java.lang.reflect.Method.invoke(Method.java:568)
      	at org.infinispan.server.loader.Loader.run(Loader.java:106)
      	at org.infinispan.server.loader.Loader.main(Loader.java:51)
      Caused by: org.infinispan.commons.CacheConfigurationException: ISPN000500: Cannot create clustered configuration for cache 'someCache' because configuration 
      Configuration{simpleCache=simple-cache=false, clustering=ClusteringConfiguration = [mode=DIST_SYNC, remote-timeout=15000, invalidation-batch-size=128, bias-acquisition=ON_WRITE, bias-lifespan=300000], customInterceptors=CustomInterceptorsConfiguration [interceptors=[]], encodingConfiguration= EncodingConfiguration = [media-type=null], expiration=ExpirationConfiguration = [lifespan=-1, max-idle=-1, reaperEnabled=true, interval=60000, touch=SYNC], indexing=IndexingConfiguration{readerConfiguration=IndexReaderConfiguration = [refresh-interval=0], writerConfiguration=IndexWriterConfiguration = [thread-pool-size=1, queue-count=1, queue-size=null, commit-interval=null, ram-buffer-size=null, max-buffered-entries=null, low-level-trace=false], attributes=IndexingConfiguration = [properties={}, index=null, auto-config=false, key-transformers={}, indexed-entities=[], enabled=false, storage=filesystem, startup-mode=NONE, path=null]}, invocationBatching=InvocationBatchingConfiguration [attributes=InvocationBatchingConfiguration = [enabled=false]], statistics=StatisticsConfiguration = [statistics=false, statistics-available=true], persistence=PersistenceConfiguration [attributes=PersistenceConfiguration = [passivation=false, availability-interval=1000, connection-attempts=10, connection-interval=50], stores=[SoftIndexFileStore [attributes=SoftIndexFileStoreConfiguration = [purge=false, read-only=false, write-only=false, preload=false, shared=false, transactional=false, max-batch-size=100, segmented=true, properties={}, open-files-limit=1000, compaction-threshold=0.5]]]], locking=LockingConfiguration = [concurrency-level=32, isolation=REPEATABLE_READ, acquire-timeout=10000, striping=false], modules={}, security=SecurityConfiguration [authorization=AuthorizationConfiguration = [enabled=false, roles=[]]], transaction=TransactionConfiguration = [auto-commit=true, stop-timeout=30000, locking=OPTIMISTIC, transaction-manager-lookup=org.infinispan.transaction.lookup.GenericTransactionManagerLookup@3359c3f6, transaction-synchronization-registry-lookup=null, mode=NON_TRANSACTIONAL, synchronization=false, single-phase-auto-commit=false, reaper-interval=30000, complete-timeout=60000, notifications=true], unsafe=UnsafeConfiguration = [unreliable-return-values=false], sites=SitesConfiguration = [merge-policy=org.infinispan.xsite.spi.DefaultXSiteEntryMergePolicy@3d3b272a, max-cleanup-delay=30000, tombstone-map-size=512000], memory=MemoryConfiguration{memoryStorageConfiguration=MemoryStorageConfiguration{attributes=MemoryStorageConfiguration = [size=-1, eviction=COUNT, strategy=NONE, type=HEAP]}, attributes=MemoryConfiguration = [storage=HEAP, max-size=null, max-count=-1, when-full=NONE]}}
       is incompatible with the existing configuration 
      Configuration{simpleCache=simple-cache=false, clustering=ClusteringConfiguration = [mode=DIST_SYNC, remote-timeout=15000, invalidation-batch-size=128, bias-acquisition=ON_WRITE, bias-lifespan=300000], customInterceptors=CustomInterceptorsConfiguration [interceptors=[]], encodingConfiguration= EncodingConfiguration = [media-type=null], expiration=ExpirationConfiguration = [lifespan=-1, max-idle=-1, reaperEnabled=true, interval=60000, touch=SYNC], indexing=IndexingConfiguration{readerConfiguration=IndexReaderConfiguration = [refresh-interval=0], writerConfiguration=IndexWriterConfiguration = [thread-pool-size=1, queue-count=1, queue-size=null, commit-interval=null, ram-buffer-size=null, max-buffered-entries=null, low-level-trace=false], attributes=IndexingConfiguration = [properties={}, index=null, auto-config=false, key-transformers={}, indexed-entities=[], enabled=false, storage=filesystem, startup-mode=NONE, path=null]}, invocationBatching=InvocationBatchingConfiguration [attributes=InvocationBatchingConfiguration = [enabled=false]], statistics=StatisticsConfiguration = [statistics=false, statistics-available=true], persistence=PersistenceConfiguration [attributes=PersistenceConfiguration = [passivation=false, availability-interval=1000, connection-attempts=10, connection-interval=50], stores=[SoftIndexFileStore [attributes=SoftIndexFileStoreConfiguration = [purge=false, read-only=false, write-only=false, preload=false, shared=false, transactional=false, max-batch-size=100, segmented=true, properties={}, open-files-limit=1000, compaction-threshold=0.5]]]], locking=LockingConfiguration = [concurrency-level=32, isolation=REPEATABLE_READ, acquire-timeout=10000, striping=false], modules={}, security=SecurityConfiguration [authorization=AuthorizationConfiguration = [enabled=false, roles=[]]], transaction=TransactionConfiguration = [auto-commit=true, stop-timeout=30000, locking=OPTIMISTIC, transaction-manager-lookup=org.infinispan.transaction.lookup.GenericTransactionManagerLookup@3359c3f6, transaction-synchronization-registry-lookup=null, mode=NON_TRANSACTIONAL, synchronization=false, single-phase-auto-commit=false, reaper-interval=30000, complete-timeout=60000, notifications=true], unsafe=UnsafeConfiguration = [unreliable-return-values=false], sites=SitesConfiguration = [merge-policy=org.infinispan.xsite.spi.DefaultXSiteEntryMergePolicy@3d3b272a, max-cleanup-delay=30000, tombstone-map-size=512000], memory=MemoryConfiguration{memoryStorageConfiguration=MemoryStorageConfiguration{attributes=MemoryStorageConfiguration = [size=-1, eviction=COUNT, strategy=NONE, type=HEAP]}, attributes=MemoryConfiguration = [storage=HEAP, max-size=null, max-count=-1, when-full=NONE]}}
      	at org.infinispan.globalstate.impl.VolatileLocalConfigurationStorage.createCache(VolatileLocalConfigurationStorage.java:80)
      	at org.infinispan.globalstate.impl.OverlayLocalConfigurationStorage.createCache(OverlayLocalConfigurationStorage.java:83)
      	at org.infinispan.globalstate.impl.GlobalConfigurationManagerImpl.createCacheLocally(GlobalConfigurationManagerImpl.java:295)
      	at org.infinispan.globalstate.impl.GlobalConfigurationManagerImpl.createCacheLocally(GlobalConfigurationManagerImpl.java:290)
      	at org.infinispan.globalstate.impl.GlobalConfigurationStateListener.handleCreate(GlobalConfigurationStateListener.java:46)
      	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
      	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
      	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
      	at java.base/java.lang.reflect.Method.invoke(Method.java:568)
      	at org.infinispan.notifications.impl.AbstractListenerImpl$ListenerInvocationImpl.lambda$invoke$1(AbstractListenerImpl.java:424)
      	... 81 more
      

      The root cause is that the configuration created for the 13.0 schema uses org.infinispan.configuration.parsing.SFSToSIFSConfiguration whereas 14.0 uses org.infinispan.persistence.sifs.configuration.SoftIndexFileStoreConfiguration, causing the call to Configuration#matches in GlobalConfigurationManagerImpl#ensureClusterCompatibility to return false and an exception thrown.

            remerson@redhat.com Ryan Emerson
            remerson@redhat.com Ryan Emerson
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

              Created:
              Updated:
              Resolved: