2 Replies Latest reply on Sep 22, 2005 1:43 PM by pdebelen

    Fail-over when loosing TCP/IP connection.

    pdebelen

      Hi All,

      We're running jboss tree cache 1.2.3 in a 2 computers cluster environment. We configured jgroups in order to have a TCP/IP link between the two machines, Group management behing handelg by TCPPING.

      When the TCP/IP connection is stoped (for example by a firewall timeout), two subgroups are created and then merged later thanks to MERGE2. Everything is fine here (at least since 2.2.8).

      My concerned is that when the two subgroups are merged, their cache is not synchronized (as it would if one computer crashed and restarted). Could Tree Cache listen to the groups modification and synchronize the cache of all node joining the group?

      I don't really know what criteria could be used to choose the cache reference that would overide others caches, but I would say (without thinking too much):
      - If groups have the same node numbers => random
      - If group A node number > group B node number => B get cache state form A.

      Thanks,

      Pierre


        • 1. Re: Fail-over when loosing TCP/IP connection.
          belaban

          This is not as simple as suggested, state merging is largely an application responsibility. I have a JIRA issue (http://jira.jboss.com/jira/browse/JBCACHE-8) which tackles this, but it will come down to policy-based state merging. So we call the application, which then needs to handle the state merge. JGroups merges the partitioned subgroups back into a single group, but state merging cannot be done by JGroups because we don't know your state.
          What you suggested will probably *one* merge policy that JBossCache ships with, but there will be are others, and application programmers concerned about partitions/merging will be able to provide their own policies.

          • 2. Re: Fail-over when loosing TCP/IP connection.
            pdebelen

            Thanks a lot for your prompt answer !
            I guess we will handle this case at the application level then :)

            Thanks,

            Pierre

            PS: TreeCache and jgroups are really great products !