Details

    • Type: Sub-task Sub-task
    • Status: Resolved
    • Priority: Major Major
    • Resolution: Duplicate
    • Affects Version/s: None
    • Fix Version/s: 0.92.0
    • Component/s: None
    • Labels:
      None

      Description

      There's nothing inherently wrong in the replication design that prevents master-master, but it was disabled in the code in order to reduce the scope of HBASE-2223. Specifically, this code from Replication just needs a simple 2 lines modification to always instantiate ReplicationSink if this.replication is true:

        public void startReplicationServices() throws IOException {
          if (this.replication) {
            if (this.replicationMaster) {
              this.replicationManager.init();
            } else {
              this.replicationSink =
                  new ReplicationSink(this.conf, this.stopRequested);
            }
          }
        }
      

      Enable and test.

        Activity

        Hide
        Jean-Daniel Cryans added a comment -

        You got it right Jeff, so currently you can do master-master as long as tables that are scoped for replication on one cluster aren't on the other. Also now you can chain replication (the code I quoted in the description of this jira is what prevented you from doing it before). For example, here at SU we replicate from the web-serving prod to a "backup" cluster, which also contains some tables that are scoped for replication to a "dev" cluster that our front-end engineers use for obvious reasons.

        Show
        Jean-Daniel Cryans added a comment - You got it right Jeff, so currently you can do master-master as long as tables that are scoped for replication on one cluster aren't on the other. Also now you can chain replication (the code I quoted in the description of this jira is what prevented you from doing it before). For example, here at SU we replicate from the web-serving prod to a "backup" cluster, which also contains some tables that are scoped for replication to a "dev" cluster that our front-end engineers use for obvious reasons.
        Hide
        Jeff Whiting added a comment -

        Sorry, I don't quite understand what you are saying JD. So can you do Master-Master replication? It would seem that HBASE-2195 would prevent you from doing master-master replication as it would perpetuate the changes forever (because it wont stop replication when it goes back to the original cluster). I might be missing something though...

        Show
        Jeff Whiting added a comment - Sorry, I don't quite understand what you are saying JD. So can you do Master-Master replication? It would seem that HBASE-2195 would prevent you from doing master-master replication as it would perpetuate the changes forever (because it wont stop replication when it goes back to the original cluster). I might be missing something though...
        Hide
        Jean-Daniel Cryans added a comment -

        This was "fixed" in the scope of HBASE-3060 so that replication chains can be created, but HBASE-2195 is still an issue.

        Show
        Jean-Daniel Cryans added a comment - This was "fixed" in the scope of HBASE-3060 so that replication chains can be created, but HBASE-2195 is still an issue.
        Hide
        Jean-Daniel Cryans added a comment -

        Moving out to 0.92.0 for the moment.

        Show
        Jean-Daniel Cryans added a comment - Moving out to 0.92.0 for the moment.
        Hide
        stack added a comment -

        This going to be done for 0.90? If not, can we move it out?

        Show
        stack added a comment - This going to be done for 0.90? If not, can we move it out?
        Hide
        stack added a comment -

        This is going to be done in the 0.90.0 timeframe? Otherwise, lets move it out?

        Show
        stack added a comment - This is going to be done in the 0.90.0 timeframe? Otherwise, lets move it out?

          People

          • Assignee:
            Jean-Daniel Cryans
            Reporter:
            Jean-Daniel Cryans
          • Votes:
            1 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved:

              Development