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

GlobalIndexChecker should treat the rows created by the previous design as unverified

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Major
    • Resolution: Fixed
    • 5.0.0, 4.14.2
    • 4.15.0, 5.1.0
    • None
    • None

    Description

      For the ease of transition from the old global secondary index design to the new one (without having read performance impact), GlobalIndexChecker treats existing index rows (i.e., the rows created by the previous design) as verified. We have discovered that this would lead to keeping stale index rows around forever and including them in the result of queries. A stale index row is a row for which we do not have the corresponding data table row. The reason that we do not have the data table row is either the row is deleted (but not the corresponding index row(s)), or the data table and index rows are written with different timestamps. The assumption was that such rows would be fixed by index rebuild. Unfortunately, without dropping or truncating index tables, these stale rows may not be fixed by index rebuild. Thus, GlobalIndexChecker should treat the rows created by the previous design as unverified.

      Attachments

        1. PHOENIX-5373.4.x-HBase-1.4.002.patch
          17 kB
          Kadir OZDEMIR
        2. PHOENIX-5373.master.002.patch
          16 kB
          Kadir OZDEMIR
        3. PHOENIX-5373.4.x-HBase-1.4.001.patch
          17 kB
          Kadir OZDEMIR
        4. PHOENIX-5373.master.001.patch
          16 kB
          Kadir OZDEMIR

        Issue Links

          Activity

            People

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

              Dates

                Created:
                Updated:
                Resolved:

                Time Tracking

                  Estimated:
                  Original Estimate - Not Specified
                  Not Specified
                  Remaining:
                  Remaining Estimate - 0h
                  0h
                  Logged:
                  Time Spent - 1h 50m
                  1h 50m