[
https://issues.jboss.org/browse/ISPN-5268?page=com.atlassian.jira.plugin....
]
Dan Berindei resolved ISPN-5268.
--------------------------------
Fix Version/s: 7.0.0.Final
Resolution: Done
This IllegalArgumentException was breaking the topology update handling:
{noformat}
2014/07/31:11:16:11,110 WARN [org.infinispan.topology.CacheTopologyControlCommand]
(remote-thread-931) ISPN000071: Caught exception when handling command
CacheTopologyControlCommand{cache=cache, type=CH_UPDATE, sender=node01, joinInfo=null,
topologyId=61, currentCH=DefaultConsistentHash{numSegments=240, numOwners=2,
members=[...]}, pendingCH=null, throwable=null, viewId=32}:
java.lang.IllegalArgumentException: Node node04 is not a member
at
org.infinispan.distribution.ch.DefaultConsistentHash.getSegmentsForOwner(DefaultConsistentHash.java:87)
[infinispan-core-6.1.0.Final-redhat-4.jar:6.1.0.Final-redhat-4]
at
org.infinispan.statetransfer.StateConsumerImpl.onTopologyUpdate(StateConsumerImpl.java:457)
[infinispan-core-6.1.0.Final-redhat-4.jar:6.1.0.Final-redhat-4]
at
org.infinispan.statetransfer.StateTransferManagerImpl.doTopologyUpdate(StateTransferManagerImpl.java:199)
[infinispan-core-6.1.0.Final-redhat-4.jar:6.1.0.Final-redhat-4]
at
org.infinispan.statetransfer.StateTransferManagerImpl.access$000(StateTransferManagerImpl.java:39)
[infinispan-core-6.1.0.Final-redhat-4.jar:6.1.0.Final-redhat-4]
at
org.infinispan.statetransfer.StateTransferManagerImpl$1.updateConsistentHash(StateTransferManagerImpl.java:104)
[infinispan-core-6.1.0.Final-redhat-4.jar:6.1.0.Final-redhat-4]
at
org.infinispan.topology.LocalTopologyManagerImpl.handleConsistentHashUpdate(LocalTopologyManagerImpl.java:201)
[infinispan-core-6.1.0.Final-redhat-4.jar:6.1.0.Final-redhat-4]
at
org.infinispan.topology.CacheTopologyControlCommand.doPerform(CacheTopologyControlCommand.java:152)
[infinispan-core-6.1.0.Final-redhat-4.jar:6.1.0.Final-redhat-4]
at
org.infinispan.topology.CacheTopologyControlCommand.perform(CacheTopologyControlCommand.java:124)
[infinispan-core-6.1.0.Final-redhat-4.jar:6.1.0.Final-redhat-4]
at
org.infinispan.remoting.transport.jgroups.CommandAwareRpcDispatcher$4.run(CommandAwareRpcDispatcher.java:270)
[infinispan-core-6.1.0.Final-redhat-4.jar:6.1.0.Final-redhat-4]
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
[rt.jar:1.7.0_65]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
[rt.jar:1.7.0_65]
at java.lang.Thread.run(Thread.java:745) [rt.jar:1.7.0_65]
{noformat}
The exception appears because the node had a previous consistent hash, but it was not a
member of it (perhaps after a merge). The ISPN-4852 fix avoids the
IllegalArgumentException by replacing the direct call to
DefaultConsistentHash.getSegmentsForOwner() with a call to getOwnedSegments().
Backup segments may not be removed after failed state transfer
---------------------------------------------------------------
Key: ISPN-5268
URL:
https://issues.jboss.org/browse/ISPN-5268
Project: Infinispan
Issue Type: Bug
Components: Core
Reporter: Tristan Tarrant
Assignee: Dan Berindei
Fix For: 7.0.0.Final
Dist cache can lost data if the primary and all backups are lost at the same time. To
detect such data loss, they are monitoring the tatal sum of entries from all nodes using
JMX. If the sum reduces by a considerable ammount, data loss (by lost a segment) is
concluded. But they found a case that the sum increases, not decreases, after failed
state transfer. This is probably caused by an extra backup segment that hasn't been
cleaned up when the last state transfer failed.
--
This message was sent by Atlassian JIRA
(v6.3.15#6346)