Uploaded image for project: 'Phoenix'
  1. Phoenix
  2. PHOENIX-4053

Lock row exclusively when necessary for mutable secondary indexing

    XMLWordPrintableJSON

    Details

    • Type: Bug
    • Status: Resolved
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: 4.12.0
    • Component/s: None
    • Labels:

      Description

      From HBase 1.2 on, rows are not exclusively locked when the preBatchMutate call is made (see HBASE-18474). The mutable secondary index (global and local) depend on this to get a consistent snapshot of a row between the point when the current row value is looked up, and when the new row is written, until the mvcc is advanced. Otherwise, a subsequent update to a row may not see the current row state. Even with pre HBase 1.2 releases, the lock isn't held long enough for us. We need to hold the locks from the start of the preBatchMutate (when we read the data table to get the prior row values) until the mvcc is advanced (beginning of postBatchMutateIndispensably).

      Given the above, it's best if Phoenix manages the row locking itself (mimicing the current HBase mechanism).

        Attachments

        1. PHOENIX-4053_4.x-HBase-0.98_v2.patch
          34 kB
          James R. Taylor
        2. PHOENIX-4053_4.x-HBase-0.98_v3.patch
          36 kB
          James R. Taylor
        3. PHOENIX-4053_v2.patch
          34 kB
          James R. Taylor
        4. PHOENIX-4053_v3.patch
          36 kB
          James R. Taylor
        5. PHOENIX-4053_v4.patch
          38 kB
          James R. Taylor
        6. PHOENIX-4053_v5.patch
          38 kB
          James R. Taylor
        7. PHOENIX-4053_v6.patch
          38 kB
          James R. Taylor
        8. PHOENIX-4053_v7.patch
          39 kB
          James R. Taylor
        9. PHOENIX-4053_wip.patch
          4 kB
          James R. Taylor
        10. PHOENIX-4053-4.x-HBase-0.98_v4.patch
          38 kB
          James R. Taylor
        11. PHOENIX-4053-4.x-HBase-0.98_v6.patch
          38 kB
          James R. Taylor

          Issue Links

            Activity

              People

              • Assignee:
                jamestaylor James R. Taylor
                Reporter:
                jamestaylor James R. Taylor
              • Votes:
                0 Vote for this issue
                Watchers:
                6 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: