Uploaded image for project: 'Phoenix'
  1. Phoenix
  2. PHOENIX-5748 Simplify index update generation code for consistent global indexes
  3. PHOENIX-5709

Base changes for simplifying index update generation code for consistent global indexes

    XMLWordPrintableJSON

Details

    • Sub-task
    • Status: Resolved
    • Major
    • Resolution: Fixed
    • 5.0.0, 4.14.3
    • 5.0.0, 4.14.3
    • None
    • None

    Description

      The implementation of the new global index design by PHOENIX-5156 essentially introduced two coprocessors, IndexRegionObserver and GlobalIndexChecker. IndexRegionObserver is the counterpart of the existing Indexer coprocessor that the previous global indexing feature uses. It implements the indexing write path. GlobalIndexChecker implements the read verification and read repair that happens on the read path. One of the main objectives of the design behind new global indexing was to leverage as much existing indexing code as possible. This objective has been achieved greatly as the entire index table update generation code implemented by various classes (including PhoenixIndexBuilder, CachedLocalTable, NonTxIndexBuilder, IndexUpdateManager,  LocalTableState, ScannerBuilder, IndexMemStore and PhoenixIndexCodec) is leveraged as it is mainly. This objective has served us well to deliver the new indexing feature quickly. The leveraged code is very complex, over engineered, and inefficient, and is not bug free. It is very hard to maintain. It is time to replace the complex set of classes with something drastically simpler and more efficient for the new design.

      Attachments

        1. PHOENIX-5709.PHOENIX-5748-4.x-HBase-1.5.001.patch
          141 kB
          Kadir OZDEMIR
        2. PHOENIX-5709.master.016.patch
          62 kB
          Kadir OZDEMIR
        3. PHOENIX-5709.PHOENIX-5748-4.x-HBase-1.5.001.patch
          141 kB
          Kadir OZDEMIR
        4. PHOENIX-5709.4.x-HBase-1.3.011.patch
          141 kB
          Kadir OZDEMIR
        5. PHOENIX-5709.master.015.patch
          137 kB
          Kadir OZDEMIR
        6. PHOENIX-5709.4.x-HBase-1.3.010.patch
          176 kB
          Kadir OZDEMIR
        7. PHOENIX-5709.master.014.patch
          137 kB
          Kadir OZDEMIR
        8. PHOENIX-5709.4.x-HBase-1.3.009.patch
          135 kB
          Kadir OZDEMIR
        9. PHOENIX-5709.4.x-HBase-1.3.008.patch
          135 kB
          Kadir OZDEMIR
        10. PHOENIX-5709.4.x-HBase-1.3.007.patch
          133 kB
          Kadir OZDEMIR
        11. PHOENIX-5709.4.x-HBase-1.3.006.patch
          122 kB
          Kadir OZDEMIR
        12. PHOENIX-5709.master.013.patch
          127 kB
          Kadir OZDEMIR
        13. PHOENIX-5709.master.012.patch
          124 kB
          Kadir OZDEMIR
        14. PHOENIX-5709.master.011.patch
          109 kB
          Kadir OZDEMIR
        15. PHOENIX-5709.4.x-HBase-1.3.005.patch
          66 kB
          Kadir OZDEMIR
        16. PHOENIX-5709.master.010.patch
          68 kB
          Kadir OZDEMIR
        17. PHOENIX-5709.4.x-HBase-1.3.004.patch
          66 kB
          Kadir OZDEMIR
        18. PHOENIX-5709.master.009.patch
          68 kB
          Kadir OZDEMIR
        19. PHOENIX-5709.master.008.patch
          68 kB
          Kadir OZDEMIR
        20. PHOENIX-5709.4.x-HBase-1.3.003.patch
          66 kB
          Kadir OZDEMIR
        21. PHOENIX-5709.4.x-HBase-1.3.002.patch
          65 kB
          Kadir OZDEMIR
        22. PHOENIX-5709.4.x-HBase-1.3.001.patch
          42 kB
          Kadir OZDEMIR
        23. PHOENIX-5709.master.007.patch
          44 kB
          Kadir OZDEMIR
        24. PHOENIX-5709.master.006.patch
          44 kB
          Kadir OZDEMIR
        25. PHOENIX-5709.master.005.patch
          41 kB
          Kadir OZDEMIR
        26. PHOENIX-5709.master.004.patch
          41 kB
          Kadir OZDEMIR
        27. PHOENIX-5709.master.003.patch
          37 kB
          Kadir OZDEMIR
        28. PHOENIX-5709.master.002.patch
          34 kB
          Kadir OZDEMIR
        29. PHOENIX-5709.master.001.patch
          33 kB
          Kadir OZDEMIR

        Issue Links

          Activity

            People

              kozdemir Kadir OZDEMIR
              kozdemir Kadir OZDEMIR
              Votes:
              0 Vote for this issue
              Watchers:
              1 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 - 11h 20m
                  11h 20m