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

Prevent index from getting out of sync with data table under high concurrency

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Resolved
    • Major
    • Resolution: Fixed
    • None
    • 4.12.0
    • None

    Description

      Under high concurrency, we're still seeing the index get out of sync with the data table. It seems that the particular case is when the same Put occurs with the same time stamp from different clients, based on the locking we do, Phoenix thinks a different Put was the last one than HBase does, leading to inconsistencies.

      The solution is to timestamp the cells on the server-side after the lock has been taken. The new concurrent unit test passes 50x with this in place, while it otherwise fails 1/10 of the time (or more on HBase 1.3).

      Attachments

        1. PHOENIX-4089_4.x-HBase-0.98.patch
          22 kB
          James R. Taylor
        2. PHOENIX-4089_4.x-HBase-0.98_v2.patch
          35 kB
          James R. Taylor
        3. PHOENIX-4089_v1.patch
          33 kB
          James R. Taylor
        4. PHOENIX_4089_v2.patch
          44 kB
          James R. Taylor
        5. PHOENIX_4089_v3.patch
          45 kB
          James R. Taylor
        6. PHOENIX-4089_v4.patch
          54 kB
          James R. Taylor
        7. TestSecIndex.java
          7 kB
          Abhishek Talluri

        Issue Links

          Activity

            People

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

              Dates

                Created:
                Updated:
                Resolved: