[JBoss JIRA] (ISPN-9061) X-site replication with functional commands throws NullPointerException
by Dan Berindei (JIRA)
Dan Berindei created ISPN-9061:
----------------------------------
Summary: X-site replication with functional commands throws NullPointerException
Key: ISPN-9061
URL: https://issues.jboss.org/browse/ISPN-9061
Project: Infinispan
Issue Type: Bug
Components: Cross-Site Replication
Affects Versions: 9.2.1.Final
Reporter: Dan Berindei
{{CacheOperationsTest.testFunctional()}} checks that some keys do not exist in the cache by calling {{evalMany}} on a read-write map, but with a read-only lambda.
This creates a {{VersionedRepeatableReadEntry(value=null)}} in the tx invocation context, and {{BackupSenderImpl.filterModifications()}} sends that to the remote site as a {{PutKeyValueCommand(value=null)}}. On the remote site this is translated as {{cache.put(key, null)}}, which finally throws a {{NullPointerException}}:
{noformat}
15:18:54,543 WARN (remote-thread-CacheOperationsTest[REPL_SYNC, tx=true, lockingMode=OPTIMISTIC, 2PC]-NodeD-p40433-t6:[]) [GlobalInboundInvocationHandler] ISPN000071: Caught exception when handling command SingleXSiteRpcCommand{command=PrepareCommand {modifications=[PutKeyValueCommand{key=MagicKey#k2{1910/3D34DA4D/67@CacheOperationsTest[REPL_SYNC, tx=true, lockingMode=OPTIMISTIC, 2PC]-NodeB-4295}, value=null, flags=[], commandInvocationId=CommandInvocation:local:0, putIfAbsent=false, valueMatcher=MATCH_ALWAYS, metadata=EmbeddedMetadata{version=SimpleClusteredVersion{topologyId=0, version=0}}, successful=true, topologyId=-1}, PutKeyValueCommand{key=MagicKey#k0{190E/360DCEC7/18@CacheOperationsTest[REPL_SYNC, tx=true, lockingMode=OPTIMISTIC, 2PC]-NodeA-60870}, value=null, flags=[], commandInvocationId=CommandInvocation:local:0, putIfAbsent=false, valueMatcher=MATCH_ALWAYS, metadata=EmbeddedMetadata{version=SimpleClusteredVersion{topologyId=0, version=0}}, successful=true, topologyId=-1}, PutKeyValueCommand{key=MagicKey#k1{190F/71AF2073/6@CacheOperationsTest[REPL_SYNC, tx=true, lockingMode=OPTIMISTIC, 2PC]-NodeB-4295}, value=null, flags=[], commandInvocationId=CommandInvocation:local:0, putIfAbsent=false, valueMatcher=MATCH_ALWAYS, metadata=EmbeddedMetadata{version=SimpleClusteredVersion{topologyId=0, version=0}}, successful=true, topologyId=-1}], onePhaseCommit=false, retried=false, gtx=GlobalTx:CacheOperationsTest[REPL_SYNC, tx=true, lockingMode=OPTIMISTIC, 2PC]-NodeA-60870:26069, cacheName='___defaultcache', topologyId=-1}}
java.lang.NullPointerException: Null values are not supported!
at java.util.Objects.requireNonNull(Objects.java:228) ~[?:1.8.0_152]
at org.infinispan.cache.impl.CacheImpl.assertValueNotNull(CacheImpl.java:199) ~[classes/:?]
at org.infinispan.cache.impl.CacheImpl.assertKeyValueNotNull(CacheImpl.java:204) ~[classes/:?]
at org.infinispan.cache.impl.CacheImpl.put(CacheImpl.java:1331) ~[classes/:?]
at org.infinispan.cache.impl.DecoratedCache.put(DecoratedCache.java:654) ~[classes/:?]
at org.infinispan.cache.impl.AbstractDelegatingAdvancedCache.put(AbstractDelegatingAdvancedCache.java:355) ~[classes/:?]
at org.infinispan.cache.impl.EncoderCache.put(EncoderCache.java:425) ~[classes/:?]
at org.infinispan.xsite.BaseBackupReceiver$BackupCacheUpdater.visitPutKeyValueCommand(BaseBackupReceiver.java:110) ~[classes/:?]
at org.infinispan.commands.write.PutKeyValueCommand.acceptVisitor(PutKeyValueCommand.java:67) ~[classes/:?]
at org.infinispan.xsite.BaseBackupReceiver$BackupCacheUpdater.replayModifications(BaseBackupReceiver.java:259) ~[classes/:?]
at org.infinispan.xsite.BaseBackupReceiver$BackupCacheUpdater.visitPrepareCommand(BaseBackupReceiver.java:155) ~[classes/:?]
at org.infinispan.commands.tx.PrepareCommand.acceptVisitor(PrepareCommand.java:185) ~[classes/:?]
at org.infinispan.xsite.BaseBackupReceiver.handleRemoteCommand(BaseBackupReceiver.java:76) ~[classes/:?]
at org.infinispan.xsite.SingleXSiteRpcCommand.performInLocalSite(SingleXSiteRpcCommand.java:37) ~[classes/:?]
at org.infinispan.remoting.inboundhandler.GlobalInboundInvocationHandler.runXSiteReplicableCommand(GlobalInboundInvocationHandler.java:126) ~[classes/:?]
at org.infinispan.remoting.inboundhandler.GlobalInboundInvocationHandler.lambda$handleFromRemoteSite$0(GlobalInboundInvocationHandler.java:95) ~[classes/:?]
{noformat}
There's no exception on the local node, maybe because entries with null values are not committed regardless of what their flags say.
--
This message was sent by Atlassian JIRA
(v7.5.0#75005)
7 years, 9 months
[JBoss JIRA] (ISPN-9045) Failure to change 'protocolVersion' in RemoteStoreConfiguration
by Tristan Tarrant (JIRA)
[ https://issues.jboss.org/browse/ISPN-9045?page=com.atlassian.jira.plugin.... ]
Tristan Tarrant updated ISPN-9045:
----------------------------------
Status: Resolved (was: Pull Request Sent)
Fix Version/s: 9.3.0.Alpha1
Resolution: Done
> Failure to change 'protocolVersion' in RemoteStoreConfiguration
> ---------------------------------------------------------------
>
> Key: ISPN-9045
> URL: https://issues.jboss.org/browse/ISPN-9045
> Project: Infinispan
> Issue Type: Bug
> Components: Hot Rod
> Affects Versions: 9.2.0.Final, 9.2.1.Final
> Reporter: Radoslav Husar
> Assignee: Radoslav Husar
> Fix For: 9.3.0.Alpha1
>
>
> {noformat}
> 14:51:28,266 ERROR [org.jboss.msc.service.fail] (MSC service thread 1-1) MSC000001: Failed to start service org.wildfly.clustering.infinispan.cache.store.web.dist: org.jboss.msc.service.StartException in service org.wildfly.clustering.infinispan.cache.store.web.dist: Failed to start service
> at org.jboss.msc.service.ServiceControllerImpl$StartTask.execute(ServiceControllerImpl.java:1706)
> at org.jboss.msc.service.ServiceControllerImpl$ControllerTask.run(ServiceControllerImpl.java:1540)
> at org.jboss.threads.ContextClassLoaderSavingRunnable.run(ContextClassLoaderSavingRunnable.java:35)
> at org.jboss.threads.EnhancedQueueExecutor.safeRun(EnhancedQueueExecutor.java:1985)
> at org.jboss.threads.EnhancedQueueExecutor$ThreadBody.doRunTask(EnhancedQueueExecutor.java:1487)
> at org.jboss.threads.EnhancedQueueExecutor$ThreadBody.run(EnhancedQueueExecutor.java:1364)
> at java.lang.Thread.run(Thread.java:748)
> Caused by: java.lang.IllegalArgumentException: No enum constant org.infinispan.client.hotrod.ProtocolVersion.2.5
> at java.lang.Enum.valueOf(Enum.java:238)
> at org.infinispan.configuration.parsing.XmlConfigHelper.valueConverter(XmlConfigHelper.java:406)
> at org.infinispan.configuration.parsing.XmlConfigHelper.setAttributes(XmlConfigHelper.java:418)
> at org.infinispan.configuration.cache.AbstractStoreConfigurationBuilder.withProperties(AbstractStoreConfigurationBuilder.java:149)
> at org.jboss.as.clustering.infinispan.subsystem.StoreBuilder.getValue(StoreBuilder.java:103)
> at org.jboss.as.clustering.infinispan.subsystem.StoreBuilder.getValue(StoreBuilder.java:54)
> at org.jboss.msc.service.ValueService.start(ValueService.java:49)
> at org.jboss.msc.service.ServiceControllerImpl$StartTask.startService(ServiceControllerImpl.java:1714)
> at org.jboss.msc.service.ServiceControllerImpl$StartTask.execute(ServiceControllerImpl.java:1693)
> ... 6 more
> {noformat}
--
This message was sent by Atlassian JIRA
(v7.5.0#75005)
7 years, 9 months
[JBoss JIRA] (ISPN-8528) Move FailoverRequestBalancingStrategy to public package
by Tristan Tarrant (JIRA)
[ https://issues.jboss.org/browse/ISPN-8528?page=com.atlassian.jira.plugin.... ]
Tristan Tarrant updated ISPN-8528:
----------------------------------
Status: Resolved (was: Pull Request Sent)
Fix Version/s: 9.3.0.Alpha1
9.3.0.Final
Resolution: Done
> Move FailoverRequestBalancingStrategy to public package
> -------------------------------------------------------
>
> Key: ISPN-8528
> URL: https://issues.jboss.org/browse/ISPN-8528
> Project: Infinispan
> Issue Type: Task
> Components: Remote Protocols
> Affects Versions: 9.2.0.Alpha2
> Reporter: Radim Vansa
> Fix For: 9.3.0.Alpha1, 9.3.0.Final
>
>
> {{FailoverRequestBalancingStrategy}} currently lives in {{org.infinispan.client.hotrod.impl.transport.tcp}} while it is referenced in configuration - this is an API leak. Move that to {{org.infinispan.client.hotrod.configuration}} or a transport-dedicated *public* package.
--
This message was sent by Atlassian JIRA
(v7.5.0#75005)
7 years, 9 months
[JBoss JIRA] (ISPN-8782) Occasional NPE on PersistentUUIDManagerImpl.mapAddresses
by Dan Berindei (JIRA)
[ https://issues.jboss.org/browse/ISPN-8782?page=com.atlassian.jira.plugin.... ]
Dan Berindei commented on ISPN-8782:
------------------------------------
The problem is that {{LocalTopologyManagerImpl.stop()}} removes the local node's persistent UUID from the map, and this happens before {{ClusterTopologyManagerImpl}} stops.
> Occasional NPE on PersistentUUIDManagerImpl.mapAddresses
> --------------------------------------------------------
>
> Key: ISPN-8782
> URL: https://issues.jboss.org/browse/ISPN-8782
> Project: Infinispan
> Issue Type: Bug
> Components: Core
> Reporter: Sanne Grinovero
> Assignee: Dan Berindei
> Fix For: 9.3.0.Final
>
>
> When running the testsuite I occasionally see stacktraces such as:
> 23:47:50,649 FATAL (transport-thread-RetryMechanismTest[null, tx=false]-NodeT-p64820-t5) [PersistentUUIDManagerImpl] Cannot find mapping for address RetryMechanismTest[null, tx=false]-NodeT-51212 java.lang.NullPointerException
> at org.infinispan.topology.PersistentUUIDManagerImpl.mapAddresses(PersistentUUIDManagerImpl.java:70)
> at org.infinispan.topology.ClusterCacheStatus.startQueuedRebalance(ClusterCacheStatus.java:824)
> at org.infinispan.topology.ClusterCacheStatus.queueRebalance(ClusterCacheStatus.java:125)
> at org.infinispan.partitionhandling.impl.PreferAvailabilityStrategy.onPartitionMerge(PreferAvailabilityStrategy.java:232)
> at org.infinispan.topology.ClusterCacheStatus.doMergePartitions(ClusterCacheStatus.java:597)
> at org.infinispan.topology.ClusterTopologyManagerImpl.lambda$recoverClusterStatus$6(ClusterTopologyManagerImpl.java:519)
> at org.infinispan.executors.LimitedExecutor.runTasks(LimitedExecutor.java:144)
> at org.infinispan.executors.LimitedExecutor.access$100(LimitedExecutor.java:33)
> at org.infinispan.executors.LimitedExecutor$Runner.run(LimitedExecutor.java:174)
> They seem harmless as it seems like the test results aren't affected, but it's still looking quite bad. Would be best if someone had a look.
--
This message was sent by Atlassian JIRA
(v7.5.0#75005)
7 years, 9 months
[JBoss JIRA] (ISPN-8782) Occasional NPE on PersistentUUIDManagerImpl.mapAddresses
by Dan Berindei (JIRA)
[ https://issues.jboss.org/browse/ISPN-8782?page=com.atlassian.jira.plugin.... ]
Dan Berindei reassigned ISPN-8782:
----------------------------------
Assignee: Dan Berindei
> Occasional NPE on PersistentUUIDManagerImpl.mapAddresses
> --------------------------------------------------------
>
> Key: ISPN-8782
> URL: https://issues.jboss.org/browse/ISPN-8782
> Project: Infinispan
> Issue Type: Bug
> Components: Core
> Reporter: Sanne Grinovero
> Assignee: Dan Berindei
> Fix For: 9.3.0.Final
>
>
> When running the testsuite I occasionally see stacktraces such as:
> 23:47:50,649 FATAL (transport-thread-RetryMechanismTest[null, tx=false]-NodeT-p64820-t5) [PersistentUUIDManagerImpl] Cannot find mapping for address RetryMechanismTest[null, tx=false]-NodeT-51212 java.lang.NullPointerException
> at org.infinispan.topology.PersistentUUIDManagerImpl.mapAddresses(PersistentUUIDManagerImpl.java:70)
> at org.infinispan.topology.ClusterCacheStatus.startQueuedRebalance(ClusterCacheStatus.java:824)
> at org.infinispan.topology.ClusterCacheStatus.queueRebalance(ClusterCacheStatus.java:125)
> at org.infinispan.partitionhandling.impl.PreferAvailabilityStrategy.onPartitionMerge(PreferAvailabilityStrategy.java:232)
> at org.infinispan.topology.ClusterCacheStatus.doMergePartitions(ClusterCacheStatus.java:597)
> at org.infinispan.topology.ClusterTopologyManagerImpl.lambda$recoverClusterStatus$6(ClusterTopologyManagerImpl.java:519)
> at org.infinispan.executors.LimitedExecutor.runTasks(LimitedExecutor.java:144)
> at org.infinispan.executors.LimitedExecutor.access$100(LimitedExecutor.java:33)
> at org.infinispan.executors.LimitedExecutor$Runner.run(LimitedExecutor.java:174)
> They seem harmless as it seems like the test results aren't affected, but it's still looking quite bad. Would be best if someone had a look.
--
This message was sent by Atlassian JIRA
(v7.5.0#75005)
7 years, 9 months
[JBoss JIRA] (ISPN-8782) Occasional NPE on PersistentUUIDManagerImpl.mapAddresses
by Dan Berindei (JIRA)
[ https://issues.jboss.org/browse/ISPN-8782?page=com.atlassian.jira.plugin.... ]
Dan Berindei updated ISPN-8782:
-------------------------------
Status: Open (was: New)
> Occasional NPE on PersistentUUIDManagerImpl.mapAddresses
> --------------------------------------------------------
>
> Key: ISPN-8782
> URL: https://issues.jboss.org/browse/ISPN-8782
> Project: Infinispan
> Issue Type: Bug
> Components: Core
> Reporter: Sanne Grinovero
> Assignee: Dan Berindei
> Fix For: 9.3.0.Final
>
>
> When running the testsuite I occasionally see stacktraces such as:
> 23:47:50,649 FATAL (transport-thread-RetryMechanismTest[null, tx=false]-NodeT-p64820-t5) [PersistentUUIDManagerImpl] Cannot find mapping for address RetryMechanismTest[null, tx=false]-NodeT-51212 java.lang.NullPointerException
> at org.infinispan.topology.PersistentUUIDManagerImpl.mapAddresses(PersistentUUIDManagerImpl.java:70)
> at org.infinispan.topology.ClusterCacheStatus.startQueuedRebalance(ClusterCacheStatus.java:824)
> at org.infinispan.topology.ClusterCacheStatus.queueRebalance(ClusterCacheStatus.java:125)
> at org.infinispan.partitionhandling.impl.PreferAvailabilityStrategy.onPartitionMerge(PreferAvailabilityStrategy.java:232)
> at org.infinispan.topology.ClusterCacheStatus.doMergePartitions(ClusterCacheStatus.java:597)
> at org.infinispan.topology.ClusterTopologyManagerImpl.lambda$recoverClusterStatus$6(ClusterTopologyManagerImpl.java:519)
> at org.infinispan.executors.LimitedExecutor.runTasks(LimitedExecutor.java:144)
> at org.infinispan.executors.LimitedExecutor.access$100(LimitedExecutor.java:33)
> at org.infinispan.executors.LimitedExecutor$Runner.run(LimitedExecutor.java:174)
> They seem harmless as it seems like the test results aren't affected, but it's still looking quite bad. Would be best if someone had a look.
--
This message was sent by Atlassian JIRA
(v7.5.0#75005)
7 years, 9 months
[JBoss JIRA] (ISPN-9060) AsynchronousInvocationTest.testNonCacheRpcCommands always takes 30 seconds
by Dan Berindei (JIRA)
[ https://issues.jboss.org/browse/ISPN-9060?page=com.atlassian.jira.plugin.... ]
Dan Berindei commented on ISPN-9060:
------------------------------------
Apparently {{GlobalInboundInvocationHandler.invokeReplicableCommand}} assumes {{PER_SENDER}} ordered commands do not need responses, which is true in our production code, but not in {{AsyncInvocationTest}}.
{{testCacheRpcCommands}} invokes a {{StreamRequestCommand}} without a type, causing a {{NullPointerException}}, but the response is never checked so the test passes.
> AsynchronousInvocationTest.testNonCacheRpcCommands always takes 30 seconds
> --------------------------------------------------------------------------
>
> Key: ISPN-9060
> URL: https://issues.jboss.org/browse/ISPN-9060
> Project: Infinispan
> Issue Type: Bug
> Components: Test Suite - Core
> Affects Versions: 9.2.1.Final
> Reporter: Dan Berindei
> Assignee: Dan Berindei
> Fix For: 9.3.0.Alpha1
>
>
> The test should fail, but {{CountDownLatchResponse}} uses {{CountDownLatch.await()}} and doesn't check the result.
--
This message was sent by Atlassian JIRA
(v7.5.0#75005)
7 years, 9 months
[JBoss JIRA] (ISPN-9058) Auto-start feature/flag for nodes added from Management Console
by Ryan Emerson (JIRA)
[ https://issues.jboss.org/browse/ISPN-9058?page=com.atlassian.jira.plugin.... ]
Ryan Emerson resolved ISPN-9058.
--------------------------------
Fix Version/s: 9.2.2.Final
9.3.0.Alpha1
Resolution: Done
> Auto-start feature/flag for nodes added from Management Console
> ---------------------------------------------------------------
>
> Key: ISPN-9058
> URL: https://issues.jboss.org/browse/ISPN-9058
> Project: Infinispan
> Issue Type: Enhancement
> Components: Console
> Affects Versions: 9.2.1.Final
> Reporter: Vladimir Blagojevic
> Assignee: Vladimir Blagojevic
> Priority: Minor
> Fix For: 9.2.2.Final, 9.3.0.Alpha1
>
>
> Currently when a new Infinispan node is added via the management console on any of the configured hosts and when the entire Infnispan cluster including the domain controller is reboot for any reason, the nodes added via the management console would not come up by default. This is because the host.xml got updated with the server entry but the *auto-start* attribute on the *<server>* was not set to *true*.
--
This message was sent by Atlassian JIRA
(v7.5.0#75005)
7 years, 9 months
[JBoss JIRA] (ISPN-9058) Auto-start feature/flag for nodes added from Management Console
by Ryan Emerson (JIRA)
[ https://issues.jboss.org/browse/ISPN-9058?page=com.atlassian.jira.plugin.... ]
Ryan Emerson updated ISPN-9058:
-------------------------------
Affects Version/s: 9.2.1.Final
> Auto-start feature/flag for nodes added from Management Console
> ---------------------------------------------------------------
>
> Key: ISPN-9058
> URL: https://issues.jboss.org/browse/ISPN-9058
> Project: Infinispan
> Issue Type: Enhancement
> Components: Console
> Affects Versions: 9.2.1.Final
> Reporter: Vladimir Blagojevic
> Assignee: Vladimir Blagojevic
> Priority: Minor
> Fix For: 9.2.2.Final, 9.3.0.Alpha1
>
>
> Currently when a new Infinispan node is added via the management console on any of the configured hosts and when the entire Infnispan cluster including the domain controller is reboot for any reason, the nodes added via the management console would not come up by default. This is because the host.xml got updated with the server entry but the *auto-start* attribute on the *<server>* was not set to *true*.
--
This message was sent by Atlassian JIRA
(v7.5.0#75005)
7 years, 9 months