[infinispan-issues] [JBoss JIRA] (ISPN-5568) KeyAffinityService race condition on view change

Bartosz Baranowski (JIRA) issues at jboss.org
Fri Jul 17 01:17:03 EDT 2015


     [ https://issues.jboss.org/browse/ISPN-5568?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Bartosz Baranowski updated ISPN-5568:
-------------------------------------
              Status: Pull Request Sent  (was: Open)
    Git Pull Request: https://github.com/infinispan/infinispan/pull/3590, https://github.com/infinispan/infinispan/pull/3589, https://github.com/infinispan/infinispan/pull/3588


> KeyAffinityService race condition on view change
> ------------------------------------------------
>
>                 Key: ISPN-5568
>                 URL: https://issues.jboss.org/browse/ISPN-5568
>             Project: Infinispan
>          Issue Type: Bug
>          Components: Core
>    Affects Versions: 5.2.11.Final
>            Reporter: Dennis Reed
>
> KeyAffinityService#getKeyForAddress runs in a tight loop looking for keys:
> {noformat}
>     queue = address2key.get(address)
>     while (result == null)
>         result = queue.poll()
> {noformat}
> KeyAffinityService#handleViewChange clears and resets the queue list on membership change:
> {noformat}
>     address2key.clear()
>     for each address
>         map.put(address, new queue)
> {noformat}
> If a view change comes in after getKeyForAddress gets the queue, and the queue is empty, it will get stuck in a tight loop looking at the wrong queue forever while new keys are added to the new queue.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


More information about the infinispan-issues mailing list