5 Replies Latest reply on Mar 8, 2013 12:10 PM by dex chen

    What are implemented (or not) for cross site replication in 5.2.1 final?

    dex chen Novice

      I have been wating for the cross site replication feature for a while. It is great to see the features are in 5.2 now.

       

      But, I do not see detail descriptions about what is implemented or not in 5.2.  For example, in the following post (https://community.jboss.org/thread/220650?tstart=30), it stated that "intersite state transfer" is not implemented yet. 

       

      It seems to me the "intersite state transfer"  is a key feature for our user cases.

       

      I am planning to use the XStite replication feature to implement a "geo-distributed" actvive/active load distribution/fali over soultion. The solution will have data replicated bidirectionally between 2 sites:  site A <---repl--> site B. 

       

      Is it possible for me to implemenet the bidirectional replication between 2 sites with 5.2.1 release?  How do we ensure the cache data are synced/consistent between 2 sites?

       

      In addition, I noticed that in ISPN doc it states that manual steps (JMX commonds) are required to bring an offline site back online.  Does that mean we have to enable JMX? Is there any API to acomplish the same?

       

      Similaly, what API/command availabel to mark a cluster offline?

       

      Thanks.

        • 1. Re: What are implemented (or not) for cross site replication in 5.2.1 final?
          dex chen Novice

          anyone is using this xsite repl feature? could you share your experience?

          • 2. Re: What are implemented (or not) for cross site replication in 5.2.1 final?
            Mircea Markus Master

            Is it possible for me to implemenet the bidirectional replication between 2 sites with 5.2.1 release?  How do we ensure the cache data are synced/consistent between 2 sites?

            The cross site state transfer is schduled for Infinispan 5.3.

            As a workaround you can write a map reduce task that would iterate over the entries in the cache and re-write (potentially using the LOCAL invocation flag) them in order to enforce a remote migration of state.

            • 3. Re: What are implemented (or not) for cross site replication in 5.2.1 final?
              dex chen Novice

              Hi Mircea: Thanks for the response and great work on xsite repl.

               

              I have schedule issue here. We schedule to deliver the bi-driection replication between 2 site by the end of May, and probably 5.3 release is too late.

               

              At the same time, is there a way for us to check if the replication succeed or not?  For example, there are some events I can listen for to see if the replication is really made throguh to the other site or not. In case, the replication is failed, I can either try it again or do somthing outside ISPN. 

               

              Regarding MapReduce workaround (I have not looked into this), does this require remote cache client thing since the writing needs to happening on the remote site?

               

              Does the replication from one site to another (in 5.2.1) only replicate the difference from the previous replication state or send the whole data in the cache every time?

               

               

              I am at the point to make a call if we should go with the ISPN for our geo-distributed solution. Thanks for the help.

              Dex

              • 4. Re: What are implemented (or not) for cross site replication in 5.2.1 final?
                Mircea Markus Master

                At the same time, is there a way for us to check if the replication succeed or not?  For example, there are some events I can listen for to see if the replication is really made throguh to the other site or not. In case, the replication is failed, I can either try it again or do somthing outside ISPN.

                When you do a cache put, assuming that replication between sites is sync and the metod returned successfully you know that the values was backed up to the remote site.

                If the repl between sites is async, you can register an failurePolicyClass="org.infinispan.xsite.CountingCustomFailurePolicy" so that you'll know if things went wrong.

                 

                Regarding MapReduce workaround (I have not looked into this), does this require remote cache client thing since the writing needs to happening on the remote site?

                no, just re-writting the entries locally would trigger a remote replication as well.

                 

                Does the replication from one site to another (in 5.2.1) only replicate the difference from the previous replication state or send the whole data in the cache every time?

                It sends a message with every object you write to the cache...

                • 5. Re: What are implemented (or not) for cross site replication in 5.2.1 final?
                  dex chen Novice

                  Mircea:  your promt responses boosts my confidence on going with ISPN for our Geo-active-active fail over solution. Thanks.

                   

                  Using a customer failurePoliccyClass is a good idea, and I am going to try.

                   

                  One more thing:  I did not see any configuration for ASYNC replication, such as using replication queues, replication thread numbers, etc.  Is there any way to configure the ASYNC?

                   

                   

                  I did some simple test using the x-site feature. I noticed that the backup site needs to be up before the main site, otherwise, the main site takes long time to start and backup will not happen.

                   

                  Thanks again.

                   

                  dex