Uploaded image for project: 'HBase'
  1. HBase
  2. HBASE-3584 Allow atomic put/delete in one call
  3. HBASE-5203

Group atomic put/delete operation into a single WALEdit to handle region server failures.

    XMLWordPrintableJSON

Details

    • Reviewed

    Description

      HBASE-3584 does not not provide fully atomic operation in case of region server failures (see explanation there).

      What should happen is that either (1) all edits are applied via a single WALEdit, or (2) the WALEdits are applied in async mode and then sync'ed together.

      For #1 it is not clear whether it is advisable to manage multiple different operations (Put/Delete) via a single WAL edit. A quick check reveals that WAL replay on region startup would work, but that replication would need to be adapted. The refactoring needed would be non-trivial.

      #2 Might actually not work, as another operation could request sync'ing a later edit and hence flush these entries out as well.

      Addendum:
      The attached patch implements #1 and fixes replication to be able to deal with different operations being grouped in one WALEdit.

      Attachments

        1. 5203-v3.txt
          26 kB
          Lars Hofhansl
        2. 5203.txt
          23 kB
          Lars Hofhansl

        Activity

          People

            larsh Lars Hofhansl
            larsh Lars Hofhansl
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: