Uploaded image for project: 'HBase'
  1. HBase
  2. HBASE-21856

Consider Causal Replication Ordering

    XMLWordPrintableJSON

    Details

    • Type: Brainstorming
    • Status: Open
    • Priority: Major
    • Resolution: Unresolved
    • Affects Version/s: None
    • Fix Version/s: None
    • Component/s: Replication
    • Labels:

      Description

      We've had various efforts to improve the ordering guarantees for HBase replication, most notably Serial Replication.

      I think in many cases guaranteeing a Total Replication Order is not required, but a simpler Causal Replication Order is sufficient.
      Specifically we would guarantee causal ordering for a single Rowkey. Any changes to a Row - Puts, Deletes, etc - would be replicated in the exact order in which they occurred in the source system.

      Unlike total ordering this can be accomplished with only local region server control.

      I don't have a full design in mind, let's discuss here. It should be sufficient to to the following:

      1. RegionServers only adopt the replication queues from other RegionServers for regions they (now) own. This requires log splitting for replication.
      2. RegionServers ship all edits for queues adopted from other servers before any of their "own" edits are shipped.

      It's probably a bit more involved, but should be much cheaper that the total ordering provided by serial replication.

        Attachments

          Activity

            People

            • Assignee:
              bharathv Bharath Vissapragada
              Reporter:
              larsh Lars Hofhansl
            • Votes:
              0 Vote for this issue
              Watchers:
              20 Start watching this issue

              Dates

              • Created:
                Updated: