[JBoss JIRA] (ISPN-12221) Add zero-capacity-node support for Replicated caches
by Tristan Tarrant (Jira)
[ https://issues.redhat.com/browse/ISPN-12221?page=com.atlassian.jira.plugi... ]
Tristan Tarrant updated ISPN-12221:
-----------------------------------
Fix Version/s: 12.0.0.Dev03
(was: 12.0.0.Dev02)
> Add zero-capacity-node support for Replicated caches
> ----------------------------------------------------
>
> Key: ISPN-12221
> URL: https://issues.redhat.com/browse/ISPN-12221
> Project: Infinispan
> Issue Type: Enhancement
> Components: Core
> Affects Versions: 12.0.0.Dev01
> Reporter: Ryan Emerson
> Priority: Major
> Fix For: 12.0.0.Dev03
>
>
> Currently if a container is configured to have {{zero-capacity-node=true}} this only applies to distributed caches. To prevent state-transfer for replicated caches, we should modify {{ReplicatedConsistentHashFactory}} and {{ReplicatedConsistentHash}} to allow a node to be a member without also being an owner.
--
This message was sent by Atlassian Jira
(v7.13.8#713008)
5 years, 7 months
[JBoss JIRA] (ISPN-12102) Validate configuration before storing it
by Tristan Tarrant (Jira)
[ https://issues.redhat.com/browse/ISPN-12102?page=com.atlassian.jira.plugi... ]
Tristan Tarrant updated ISPN-12102:
-----------------------------------
Fix Version/s: 12.0.0.Dev03
(was: 12.0.0.Dev02)
> Validate configuration before storing it
> ----------------------------------------
>
> Key: ISPN-12102
> URL: https://issues.redhat.com/browse/ISPN-12102
> Project: Infinispan
> Issue Type: Bug
> Components: Core
> Affects Versions: 11.0.1.Final
> Reporter: Pedro Ruivo
> Assignee: Pedro Ruivo
> Priority: Major
> Fix For: 12.0.0.Dev03
>
>
> Although {{ConfigurationBuilder}} does some validation, sometimes it needs something more. As an example, the cross-site replication needs a running {{Transport}} to check if xsite is really supported.
> As a side effect, the console is broken when you try to define the following cache without {{RELAY2}} being present in the JGroups stack.
> {code:xml}
> <infinispan>
> <cache-container>
> <distributed-cache name="xsite">
> <backups>
> <backup site="site2"/>
> </backups>
> </distributed-cache>
> </cache-container>
> </infinispan>
> {code}
> This happens because the {{Configuration}} is stored and the {{Cache}} with the exception is stored as well.
> The fix proposed it adds a method to {{ModuleLifecyle}} where the {{Configuration}} can be validated before it is store in the "global state".
--
This message was sent by Atlassian Jira
(v7.13.8#713008)
5 years, 7 months
[JBoss JIRA] (ISPN-12231) Cache fails to start with IllegalStateException: We already had a newer topology
by Tristan Tarrant (Jira)
[ https://issues.redhat.com/browse/ISPN-12231?page=com.atlassian.jira.plugi... ]
Tristan Tarrant updated ISPN-12231:
-----------------------------------
Fix Version/s: 12.0.0.Dev03
(was: 12.0.0.Dev02)
> Cache fails to start with IllegalStateException: We already had a newer topology
> --------------------------------------------------------------------------------
>
> Key: ISPN-12231
> URL: https://issues.redhat.com/browse/ISPN-12231
> Project: Infinispan
> Issue Type: Bug
> Components: Core
> Affects Versions: 11.0.3.Final
> Reporter: Dan Berindei
> Assignee: Dan Berindei
> Priority: Major
> Fix For: 12.0.0.Dev03
>
>
> {{LocalTopologyManagerImpl.join()}} registers the {{LocalCacheStatus}} outside the {{ActionSequencer}} call, allowing another topology update command to install a topology before the join response is processed.
> This is very unlikely to happen outside of tests, but I was able to reproduce it reliably when starting lots of nodes in parallel.
> {noformat}
> org.infinispan.commons.CacheConfigurationException: Error starting component org.infinispan.statetransfer.StateTransferManager
> at org.infinispan.factories.impl.BasicComponentRegistryImpl.startWrapper(BasicComponentRegistryImpl.java:560)
> at org.infinispan.factories.impl.BasicComponentRegistryImpl.access$700(BasicComponentRegistryImpl.java:30)
> at org.infinispan.factories.impl.BasicComponentRegistryImpl$ComponentWrapper.running(BasicComponentRegistryImpl.java:775)
> at org.infinispan.factories.AbstractComponentRegistry.internalStart(AbstractComponentRegistry.java:341)
> at org.infinispan.factories.AbstractComponentRegistry.start(AbstractComponentRegistry.java:237)
> at org.infinispan.factories.ComponentRegistry.start(ComponentRegistry.java:210)
> at org.infinispan.cache.impl.CacheImpl.start(CacheImpl.java:1008)
> at org.infinispan.cache.impl.AbstractDelegatingCache.start(AbstractDelegatingCache.java:512)
> at org.infinispan.manager.DefaultCacheManager.wireAndStartCache(DefaultCacheManager.java:697)
> at org.infinispan.manager.DefaultCacheManager.createCache(DefaultCacheManager.java:643)
> at org.infinispan.manager.DefaultCacheManager.internalGetCache(DefaultCacheManager.java:532)
> at org.infinispan.manager.DefaultCacheManager.getCache(DefaultCacheManager.java:510)
> at org.infinispan.stress.LargeClusterStressTest.lambda$testLargeClusterStart$0(LargeClusterStressTest.java:92)
> at java.base/java.util.concurrent.FutureTask.run$$$capture(FutureTask.java:264)
> at java.base/java.util.concurrent.FutureTask.run(FutureTask.java)
> at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515)
> at java.base/java.util.concurrent.FutureTask.run$$$capture(FutureTask.java:264)
> at java.base/java.util.concurrent.FutureTask.run(FutureTask.java)
> at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1130)
> at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:630)
> at java.base/java.lang.Thread.run(Thread.java:832)
> Caused by: java.util.concurrent.CompletionException: java.lang.IllegalStateException: We already had a newer topology by the time we received the join response
> at org.infinispan.util.concurrent.CompletionStages.join(CompletionStages.java:82)
> at org.infinispan.statetransfer.StateTransferManagerImpl.start(StateTransferManagerImpl.java:133)
> at org.infinispan.statetransfer.CorePackageImpl$1.start(CorePackageImpl.java:48)
> at org.infinispan.statetransfer.CorePackageImpl$1.start(CorePackageImpl.java:27)
> at org.infinispan.factories.impl.BasicComponentRegistryImpl.invokeStart(BasicComponentRegistryImpl.java:592)
> at org.infinispan.factories.impl.BasicComponentRegistryImpl.doStartWrapper(BasicComponentRegistryImpl.java:583)
> at org.infinispan.factories.impl.BasicComponentRegistryImpl.startWrapper(BasicComponentRegistryImpl.java:552)
> ... 20 more
> Caused by: java.lang.IllegalStateException: We already had a newer topology by the time we received the join response
> at org.infinispan.topology.LocalTopologyManagerImpl.lambda$handleJoinResponse$5(LocalTopologyManagerImpl.java:227)
> at java.base/java.util.concurrent.CompletableFuture.uniComposeStage(CompletableFuture.java:1183)
> at java.base/java.util.concurrent.CompletableFuture.thenCompose(CompletableFuture.java:2299)
> at java.base/java.util.concurrent.CompletableFuture.thenCompose(CompletableFuture.java:143)
> at org.infinispan.topology.LocalTopologyManagerImpl.handleJoinResponse(LocalTopologyManagerImpl.java:225)
> at org.infinispan.topology.LocalTopologyManagerImpl.lambda$join$0(LocalTopologyManagerImpl.java:161)
> at java.base/java.util.concurrent.CompletableFuture$UniCompose.tryFire(CompletableFuture.java:1146)
> at java.base/java.util.concurrent.CompletableFuture.postComplete(CompletableFuture.java:506)
> at java.base/java.util.concurrent.CompletableFuture.complete(CompletableFuture.java:2137)
> at org.infinispan.remoting.transport.AbstractRequest.complete(AbstractRequest.java:67)
> at org.infinispan.remoting.transport.impl.SingleTargetRequest.onResponse(SingleTargetRequest.java:45)
> at org.infinispan.remoting.transport.impl.RequestRepository.addResponse(RequestRepository.java:52)
> at org.infinispan.remoting.transport.jgroups.JGroupsTransport.processResponse(JGroupsTransport.java:1405)
> at org.infinispan.remoting.transport.jgroups.JGroupsTransport.processMessage(JGroupsTransport.java:1308)
> {noformat}
--
This message was sent by Atlassian Jira
(v7.13.8#713008)
5 years, 7 months
[JBoss JIRA] (ISPN-12205) Add RocksDB Meta Column Family
by Tristan Tarrant (Jira)
[ https://issues.redhat.com/browse/ISPN-12205?page=com.atlassian.jira.plugi... ]
Tristan Tarrant updated ISPN-12205:
-----------------------------------
Fix Version/s: 12.0.0.Dev03
(was: 12.0.0.Dev02)
> Add RocksDB Meta Column Family
> ------------------------------
>
> Key: ISPN-12205
> URL: https://issues.redhat.com/browse/ISPN-12205
> Project: Infinispan
> Issue Type: Enhancement
> Components: Loaders and Stores
> Affects Versions: 12.0.0.Dev01
> Reporter: Ryan Emerson
> Assignee: Ryan Emerson
> Priority: Major
> Fix For: 12.0.0.Dev03
>
>
> Currently there is no way to determine what version of Infinispan created a RocksDb store, which makes it difficult/impossible to migrate stored data from one Infinispan version to another if a binary incompatibility is introduced.
> We should add an additional column family to store such metadata.
--
This message was sent by Atlassian Jira
(v7.13.8#713008)
5 years, 7 months
[JBoss JIRA] (ISPN-12204) Add JDBC Meta Table
by Tristan Tarrant (Jira)
[ https://issues.redhat.com/browse/ISPN-12204?page=com.atlassian.jira.plugi... ]
Tristan Tarrant updated ISPN-12204:
-----------------------------------
Fix Version/s: 12.0.0.Dev03
(was: 12.0.0.Dev02)
> Add JDBC Meta Table
> -------------------
>
> Key: ISPN-12204
> URL: https://issues.redhat.com/browse/ISPN-12204
> Project: Infinispan
> Issue Type: Enhancement
> Components: Loaders and Stores
> Affects Versions: 12.0.0.Dev01
> Reporter: Ryan Emerson
> Assignee: Ryan Emerson
> Priority: Major
> Fix For: 12.0.0.Dev03
>
>
> Currently there is no way to determine what version of Infinispan created a Jdbc store, which makes it difficult/impossible to migrate stored data from one Infinispan version to another if a binary incompatibility is introduced.
> Similarly it's not possible for us to verify that the configured number of segments match those present in an existing store.
> We should add an additional table to store such metadata.
--
This message was sent by Atlassian Jira
(v7.13.8#713008)
5 years, 7 months
[JBoss JIRA] (ISPN-12231) Cache fails to start with IllegalStateException: We already had a newer topology
by Dan Berindei (Jira)
[ https://issues.redhat.com/browse/ISPN-12231?page=com.atlassian.jira.plugi... ]
Dan Berindei updated ISPN-12231:
--------------------------------
Status: Pull Request Sent (was: Open)
Git Pull Request: https://github.com/infinispan/infinispan/pull/8624
> Cache fails to start with IllegalStateException: We already had a newer topology
> --------------------------------------------------------------------------------
>
> Key: ISPN-12231
> URL: https://issues.redhat.com/browse/ISPN-12231
> Project: Infinispan
> Issue Type: Bug
> Components: Core
> Affects Versions: 11.0.3.Final
> Reporter: Dan Berindei
> Assignee: Dan Berindei
> Priority: Major
> Fix For: 12.0.0.Dev02
>
>
> {{LocalTopologyManagerImpl.join()}} registers the {{LocalCacheStatus}} outside the {{ActionSequencer}} call, allowing another topology update command to install a topology before the join response is processed.
> This is very unlikely to happen outside of tests, but I was able to reproduce it reliably when starting lots of nodes in parallel.
> {noformat}
> org.infinispan.commons.CacheConfigurationException: Error starting component org.infinispan.statetransfer.StateTransferManager
> at org.infinispan.factories.impl.BasicComponentRegistryImpl.startWrapper(BasicComponentRegistryImpl.java:560)
> at org.infinispan.factories.impl.BasicComponentRegistryImpl.access$700(BasicComponentRegistryImpl.java:30)
> at org.infinispan.factories.impl.BasicComponentRegistryImpl$ComponentWrapper.running(BasicComponentRegistryImpl.java:775)
> at org.infinispan.factories.AbstractComponentRegistry.internalStart(AbstractComponentRegistry.java:341)
> at org.infinispan.factories.AbstractComponentRegistry.start(AbstractComponentRegistry.java:237)
> at org.infinispan.factories.ComponentRegistry.start(ComponentRegistry.java:210)
> at org.infinispan.cache.impl.CacheImpl.start(CacheImpl.java:1008)
> at org.infinispan.cache.impl.AbstractDelegatingCache.start(AbstractDelegatingCache.java:512)
> at org.infinispan.manager.DefaultCacheManager.wireAndStartCache(DefaultCacheManager.java:697)
> at org.infinispan.manager.DefaultCacheManager.createCache(DefaultCacheManager.java:643)
> at org.infinispan.manager.DefaultCacheManager.internalGetCache(DefaultCacheManager.java:532)
> at org.infinispan.manager.DefaultCacheManager.getCache(DefaultCacheManager.java:510)
> at org.infinispan.stress.LargeClusterStressTest.lambda$testLargeClusterStart$0(LargeClusterStressTest.java:92)
> at java.base/java.util.concurrent.FutureTask.run$$$capture(FutureTask.java:264)
> at java.base/java.util.concurrent.FutureTask.run(FutureTask.java)
> at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515)
> at java.base/java.util.concurrent.FutureTask.run$$$capture(FutureTask.java:264)
> at java.base/java.util.concurrent.FutureTask.run(FutureTask.java)
> at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1130)
> at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:630)
> at java.base/java.lang.Thread.run(Thread.java:832)
> Caused by: java.util.concurrent.CompletionException: java.lang.IllegalStateException: We already had a newer topology by the time we received the join response
> at org.infinispan.util.concurrent.CompletionStages.join(CompletionStages.java:82)
> at org.infinispan.statetransfer.StateTransferManagerImpl.start(StateTransferManagerImpl.java:133)
> at org.infinispan.statetransfer.CorePackageImpl$1.start(CorePackageImpl.java:48)
> at org.infinispan.statetransfer.CorePackageImpl$1.start(CorePackageImpl.java:27)
> at org.infinispan.factories.impl.BasicComponentRegistryImpl.invokeStart(BasicComponentRegistryImpl.java:592)
> at org.infinispan.factories.impl.BasicComponentRegistryImpl.doStartWrapper(BasicComponentRegistryImpl.java:583)
> at org.infinispan.factories.impl.BasicComponentRegistryImpl.startWrapper(BasicComponentRegistryImpl.java:552)
> ... 20 more
> Caused by: java.lang.IllegalStateException: We already had a newer topology by the time we received the join response
> at org.infinispan.topology.LocalTopologyManagerImpl.lambda$handleJoinResponse$5(LocalTopologyManagerImpl.java:227)
> at java.base/java.util.concurrent.CompletableFuture.uniComposeStage(CompletableFuture.java:1183)
> at java.base/java.util.concurrent.CompletableFuture.thenCompose(CompletableFuture.java:2299)
> at java.base/java.util.concurrent.CompletableFuture.thenCompose(CompletableFuture.java:143)
> at org.infinispan.topology.LocalTopologyManagerImpl.handleJoinResponse(LocalTopologyManagerImpl.java:225)
> at org.infinispan.topology.LocalTopologyManagerImpl.lambda$join$0(LocalTopologyManagerImpl.java:161)
> at java.base/java.util.concurrent.CompletableFuture$UniCompose.tryFire(CompletableFuture.java:1146)
> at java.base/java.util.concurrent.CompletableFuture.postComplete(CompletableFuture.java:506)
> at java.base/java.util.concurrent.CompletableFuture.complete(CompletableFuture.java:2137)
> at org.infinispan.remoting.transport.AbstractRequest.complete(AbstractRequest.java:67)
> at org.infinispan.remoting.transport.impl.SingleTargetRequest.onResponse(SingleTargetRequest.java:45)
> at org.infinispan.remoting.transport.impl.RequestRepository.addResponse(RequestRepository.java:52)
> at org.infinispan.remoting.transport.jgroups.JGroupsTransport.processResponse(JGroupsTransport.java:1405)
> at org.infinispan.remoting.transport.jgroups.JGroupsTransport.processMessage(JGroupsTransport.java:1308)
> {noformat}
--
This message was sent by Atlassian Jira
(v7.13.8#713008)
5 years, 7 months