Uploaded image for project: 'Red Hat Data Grid'
  1. Red Hat Data Grid
  2. JDG-5442

Configuring memory max-size as non-byte value causes failure on CacheManager restart

    XMLWordPrintable

Details

    Description

      If a cache is created at runtime with <memory max-size="1GB" and global state is enabled, the org.infinispan.CONFIG cache will fail to startup with the following exception:

      13:35:32,367 ERROR (main) [org.infinispan.CONFIG] ISPN000660: DefaultCacheManager start failed, stopping any running components org.infinispan.commons.CacheConfigurationException: ISPN000500: Cannot create clustered configuration for cache 'cache01' because configuration 
      Configuration{simpleCache=simple-cache=false, clustering=ClusteringConfiguration = [mode=REPL_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=600000, 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=InvocationBatchingCon
      figuration = [enabled=false]], statistics=StatisticsConfiguration = [statistics=true, 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@1fca53a7, transaction-synchronizat
      ion-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@40dee07b, max-cleanup-delay=30000, tombstone-map-size=512000], memory=MemoryConfiguration{memoryStorageConfiguration=MemoryStorageConfiguration{attributes=MemoryStorageConfiguration = [size=1000000000, eviction=MEMORY, strategy=REMOVE, type=HEAP]}, attributes=MemoryConfiguration = [storage=HEAP, max-size=1GB, max-count=-1, when-full=REMOVE]}}
       is incompatible with the existing configuration 
      Configuration{simpleCache=simple-cache=false, clustering=ClusteringConfiguration = [mode=REPL_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=600000, 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=InvocationBatchingCon
      figuration = [enabled=false]], statistics=StatisticsConfiguration = [statistics=true, 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@1fca53a7, transaction-synchronizat
      ion-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@40dee07b, max-cleanup-delay=30000, tombstone-map-size=512000], memory=MemoryConfiguration{memoryStorageConfiguration=MemoryStorageConfiguration{attributes=MemoryStorageConfiguration = [size=1000000000, eviction=MEMORY, strategy=REMOVE, type=HEAP]}, attributes=MemoryConfiguration = [storage=HEAP, max-size=1000000000, max-count=-1, when-full=REMOVE]}}
      	at org.infinispan.globalstate.impl.GlobalConfigurationManagerImpl.ensureClusterCompatibility(GlobalConfigurationManagerImpl.java:154)
      	at org.infinispan.globalstate.impl.GlobalConfigurationManagerImpl.lambda$start$0(GlobalConfigurationManagerImpl.java:124)
      	at org.infinispan.cache.impl.EncoderCache.lambda$forEach$7(EncoderCache.java:740)
      	at java.base/java.util.concurrent.ConcurrentMap.forEach(ConcurrentMap.java:122)
      	at org.infinispan.cache.impl.AbstractDelegatingCache.forEach(AbstractDelegatingCache.java:471)
      	at org.infinispan.cache.impl.AbstractDelegatingCache.forEach(AbstractDelegatingCache.java:471)
      	at org.infinispan.cache.impl.EncoderCache.forEach(EncoderCache.java:737)
      	at org.infinispan.globalstate.impl.GlobalConfigurationManagerImpl.start(GlobalConfigurationManagerImpl.java:117)
      	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:410)
      	at org.infinispan.server.Bootstrap.runInternal(Bootstrap.java:173)
      	at org.infinispan.server.tool.Main.run(Main.java:98)
      	at org.infinispan.server.Bootstrap.main(Bootstrap.java:51)
      	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.run(Loader.java:106)
      	at org.infinispan.server.loader.Loader.main(Loader.java:51)
      

      The workaround is to specify max-size in bytes.

      Attachments

        Issue Links

          Activity

            People

              remerson@redhat.com Ryan Emerson
              remerson@redhat.com Ryan Emerson
              Gustavo Lira Silva Gustavo Lira Silva
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: