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

Simplifying concurrent mutation handling for global Indexes

    XMLWordPrintableJSON

Details

    • Improvement
    • Status: Resolved
    • Major
    • Resolution: Fixed
    • 5.0.0, 4.15.0
    • 5.1.0, 4.16.0
    • None
    • None

    Description

      Please see the attached design document for the proposed simplification. The proposed design is simpler to understand and does not require a special handling of partial concurrent updates without indexed columns.

      One of the desired features for global indexes is to support atomic operations (ON_DUPLICATE_KEY statements). We have found that it is quite difficult to build such a feature on the current design as we need to add more case handling to the current design to handle data table update ordering issues. The proposed design does not require us to do changes on concurrent mutation handling for such features.

      The proposed design almost eliminates unverified index rows due to concurrent mutations. The index rows are left unverified only when batches fail to complete the data table updates. This leads to read performance improvement as repairing unverified rows is costly and each row repair adds several tens of milliseconds to the overall scan latency.

      Attachments

        1. PHOENIX-6160.4.x.001.patch
          21 kB
          Kadir OZDEMIR
        2. PHOENIX-6160.4.x.002.patch
          22 kB
          Kadir OZDEMIR
        3. PHOENIX-6160.master.001.patch
          27 kB
          Kadir OZDEMIR

        Issue Links

          Activity

            People

              kozdemir Kadir OZDEMIR
              kozdemir Kadir OZDEMIR
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: