Uploaded image for project: 'Red Hat Data Grid'
  1. Red Hat Data Grid
  2. JDG-434

Client topologies not updated when cache topology loaded from persistent state



      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.

        Gliffy Diagrams


            Issue Links



                • Assignee:
                  dan.berindei Dan Berindei
                  galder.zamarreno Galder ZamarreƱo
                • Votes:
                  0 Vote for this issue
                  1 Start watching this issue


                  • Created: