[infinispan-issues] [JBoss JIRA] (ISPN-7554) JGroupsTransport should expose the cluster view information atomically

Dan Berindei (JIRA) issues at jboss.org
Thu Mar 2 13:16:00 EST 2017


    [ https://issues.jboss.org/browse/ISPN-7554?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13371777#comment-13371777 ] 

Dan Berindei commented on ISPN-7554:
------------------------------------

Example log:

{noformat}
15:22:12,525 INFO  (testng-Test:[]) [JGroupsTransport] ISPN000094: Received new cluster view for channel ISPN: [Test-NodeM-31573|3] (4) [Test-NodeM-31573, Test-NodeN-49223, Test-NodeO-46628, Test-NodeP-46363]
15:22:12,683 TRACE (ForkThread-1,Test:[cluster-listener]) [StateTransferManagerImpl] StateTransferManager of cache cluster-listener on node Test-NodeP-46363 received initial topology CacheTopology{id=5, rebalanceId=3, currentCH=DefaultConsistentHash{ns=256, owners = (3)[Test-NodeM-31573: 89+82, Test-NodeN-49223: 90+84, Test-NodeO-46628: 77+90]}, pendingCH=null, unionCH=null, actualMembers=[Test-NodeM-31573, Test-NodeN-49223, Test-NodeO-46628], persistentUUIDs=[bac87619-e272-4144-a501-c6f125bb3651, 24a62a07-8c3d-466c-9e2c-c23bdb13052d, 901123cc-cd87-4d75-8cd8-9e0da48fede8]}
15:22:12,683 TRACE (ForkThread-1,Test:[cluster-listener]) [JGroupsTransport] dests=[Test-NodeM-31573], command=CacheTopologyControlCommand{cache=cluster-listener, type=POLICY_GET_STATUS, sender=Test-NodeP-46363, joinInfo=null, topologyId=0, rebalanceId=0, currentCH=null, pendingCH=null, availabilityMode=null, actualMembers=null, throwable=null, viewId=4}, mode=SYNCHRONOUS, timeout=240000
15:22:12,683 TRACE (ForkThread-1,Test:[cluster-listener]) [LocalTopologyManagerImpl] Coordinator left the cluster while querying rebalancing status, retrying
15:22:12,683 TRACE (ForkThread-1,Test:[cluster-listener]) [JGroupsTransport] Waiting on view 5 being accepted
15:22:12,691 INFO  (jgroups-4,Test-NodeP-46363:[]) [JGroupsTransport] ISPN000094: Received new cluster view for channel ISPN: [Test-NodeN-49223|4] (3) [Test-NodeN-49223, Test-NodeO-46628, Test-NodeP-46363]
{noformat}

> JGroupsTransport should expose the cluster view information atomically
> ----------------------------------------------------------------------
>
>                 Key: ISPN-7554
>                 URL: https://issues.jboss.org/browse/ISPN-7554
>             Project: Infinispan
>          Issue Type: Bug
>            Reporter: Dan Berindei
>            Assignee: Dan Berindei
>
> Currently the view is updated while holding a lock, but reading the view id, members, or coordinator is done without a lock. This means when a thread sends a request and receives a {{SuspectException}}, it cannot simply wait for a new view before retrying: the initial request may have used the latest view, and only the members list could be outdated (even if read later).
> To allow atomically reading the view id and the member list, we should use an immutable structure similar to {{CacheTopology}}.



--
This message was sent by Atlassian JIRA
(v7.2.3#72005)


More information about the infinispan-issues mailing list