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

Able to write indexed value to data table without writing to index table

    XMLWordPrintableJSON

    Details

    • Type: Bug
    • Status: Closed
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: 4.14.3
    • Fix Version/s: 4.15.0, 5.1.0
    • Component/s: None
    • Labels:
      None

      Description

      Using the 4.14.3 client, it still seems the IndexFailurePolicy is still kicking in, which disables the index on write failure. This means that while the index is in 'disabled' state, writes to the data table can happen without any writes to the index table. While in theory this might be ok since the rebuilder should eventually kick in and rebuild from the disable_timestamp, this breaks the new indexing design invariant that there should be no data table rows without a corresponding index row (potentially unverified), so this could potentially cause some unexpected behavior.

      Steps to repro:
      1) Create data table
      2) Create index table
      3) "close_region" on index region from hbase shell
      4) Upsert to data table
      Eventually after some number of retries, the index will get disabled, which means any other client can write to the data table without writing to the index table.

        Attachments

        1. PHOENIX-5515.master.001.patch
          39 kB
          Kadir OZDEMIR
        2. PHOENIX-5515.master.002.patch
          40 kB
          Kadir OZDEMIR
        3. PHOENIX-5515.master.addendum.patch
          2 kB
          Kadir OZDEMIR

          Issue Links

            Activity

              People

              • Assignee:
                kozdemir Kadir OZDEMIR
                Reporter:
                vincentpoon Vincent Poon
              • Votes:
                0 Vote for this issue
                Watchers:
                6 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