Uploaded image for project: 'HBase'
  1. HBase
  2. HBASE-12751 Allow RowLock to be reader writer
  3. HBASE-14465

Backport 'Allow rowlock to be reader/write' to branch-1

    XMLWordPrintableJSON

Details

    • Sub-task
    • Status: Closed
    • Major
    • Resolution: Fixed
    • None
    • 1.2.0, 1.3.0
    • regionserver
    • None
    • Incompatible change, Reviewed
    • Hide
      Locks on row are now reader/writer rather than exclusive.

      Moves sequenceid out of HRegion and into MVCC class; MVCC is now in charge. A WAL append is still stamped in same way (we pass MVCC context in a few places where we previously we did not).

      MVCC methods cleaned up. Make a bit more sense now. Less of them.

      Simplifies our update of MemStore/WAL. Now we update memstore AFTER we add to WAL (but before we sync). This fixes possible dataloss when two edits came in with same coordinates; we could order the edits in memstore differently to how they arrived in the WAL.

      Marked as an incompatible change because it breaks Distributed Log Replay, a feature we'd determined already was unreliable and to be removed (See http://search-hadoop.com/m/YGbbhTJpoal8GD1).
      Show
      Locks on row are now reader/writer rather than exclusive. Moves sequenceid out of HRegion and into MVCC class; MVCC is now in charge. A WAL append is still stamped in same way (we pass MVCC context in a few places where we previously we did not). MVCC methods cleaned up. Make a bit more sense now. Less of them. Simplifies our update of MemStore/WAL. Now we update memstore AFTER we add to WAL (but before we sync). This fixes possible dataloss when two edits came in with same coordinates; we could order the edits in memstore differently to how they arrived in the WAL. Marked as an incompatible change because it breaks Distributed Log Replay, a feature we'd determined already was unreliable and to be removed (See http://search-hadoop.com/m/YGbbhTJpoal8GD1) .

    Description

      Backport to branch-1.

      You want this in 1.2 busbey? Its cleanup and fixes a possible dataloss. On other hand, its a bit of refactoring.

      Attachments

        1. 14465.txt
          270 kB
          Michael Stack
        2. 14465.branch-1.v9.txt
          289 kB
          Michael Stack
        3. 14465.branch-1.v9.txt
          289 kB
          Michael Stack
        4. 14465.branch-1.v9.txt
          289 kB
          Michael Stack
        5. 14465.branch-1.v5.txt
          288 kB
          Michael Stack
        6. 14465.branch-1.v5.txt
          288 kB
          Michael Stack
        7. 14465.branch-1.v4.txt
          270 kB
          Michael Stack
        8. 14465.branch-1.v4.txt
          270 kB
          Michael Stack
        9. 14465.branch-1.v4.txt
          270 kB
          Michael Stack
        10. 14465.branch-1.v3.txt
          270 kB
          Michael Stack
        11. 14465.branch-1.v3.txt
          270 kB
          Michael Stack
        12. 14465.branch-1.v2.txt
          270 kB
          Michael Stack
        13. 14465.branch-1.v2.txt
          270 kB
          Michael Stack
        14. 14465.branch-1.v2.txt
          270 kB
          Michael Stack
        15. 14465.branch-1.txt
          270 kB
          Michael Stack

        Issue Links

          Activity

            People

              stack Michael Stack
              stack Michael Stack
              Votes:
              0 Vote for this issue
              Watchers:
              11 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: