Uploaded image for project: 'Infinispan'
  1. Infinispan
  2. ISPN-6740

Client topologies not updated when cache topology loaded from persistent state

This issue belongs to an archived project. You can view it, but you can't modify it. Learn more

XMLWordPrintable

    Infinispan Caches now support storing persistent views. When these are loaded, these might be loaded with topology ID 0:

    2016-05-31 10:20:04,254 INFO  [org.infinispan.globalstate.impl.GlobalStateManagerImpl] (MSC service thread 1-3) 
    ISPN000389: Loaded global state, version=9.0.0-SNAPSHOT timestamp=2016-05-30T12:03:33.822Z
    ....
    2016-05-31 10:20:07,867 TRACE [org.infinispan.statetransfer.StateTransferManagerImpl] (MSC service thread 1-6) 
    Installing new cache topology CacheTopology{id=0, rebalanceId=0, currentCH=DefaultConsistentHash{ns=20, owners = (3)[node5: 7+5, node4: 7+7, node6: 6+8]}, 
    pendingCH=null, unionCH=null, actualMembers=[node5, node4, node6], persistentUUIDs=[
    bb76729d-2b30-4e54-8108-4ac1db9a04cf, bb76729d-2b30-4e54-8108-4ac1db9a04cf, bb76729d-2b30-4e54-8108-4ac1db9a04cf]} on cache default
    

    If there's no further view changes, the topology ID will remain 0. When a Hot Rod client first connects, it sends its view topology as 0 so that it receives a newly installed topology, but if the topology is already 0 in the server, the server won't send the installed topology, even though it should be newer than having no topology.

    We should start numbering topologies in server starting from 1 instead. That avoids this issue. This is easier than forcing clients to send -1 as initial topology because the topology ID is currently defined as VInt that can only 0 or positive number.

    Also, some extra log messages indicating that the cache topology installed comes from persisted state would be handy for debugging.

            dberinde@redhat.com Dan Berindei (Inactive)
            rh-ee-galder Galder ZamarreƱo
            Archiver:
            rhn-support-adongare Amol Dongare

              Created:
              Updated:
              Resolved:
              Archived: