Uploaded image for project: 'Hive'
  1. Hive
  2. HIVE-14589

add consistent node replacement to LLAP for splits

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Major
    • Resolution: Fixed
    • None
    • 2.2.0
    • None
    • None

    Description

      See HIVE-14574. (copied from the comment below) This basically creates the nodes in ZK for "slots" in the cluster. The LLAPs try to take the lowest available slot, starting from 0. Unlike worker-... nodes, the slots are reused, which is the intent. The LLAPs are always sorted by the slot number for splits.
      The idea is that as long as LLAP is running, it will retain the same position in the ordering, regardless of other LLAPs restarting, without knowing about each other, the predecessors location (if restarted in a different place), or the total size of the cluster.
      The restarting LLAPs may not take the same positions as their predecessors (i.e. if two LLAPs restart they can swap slots) but it shouldn't matter because they have lost their cache anyway.
      I.e. if you have LLAPs with slots 1-2-3-4 and I nuke and restart 1, 2, and 4, they will take whatever slots, but 3 will stay the 3rd and retain cache locality.

      This also handles size increase, as new LLAPs will always be added to the end of the sequence, which is what consistent hashing needs.

      One case it doesn't handle is permanent cluster size reduction. There will be a permanent gap if LLAPs are removed that have the slots in the middle; until some are restarted, it will result in misses

      Attachments

        1. HIVE-14589.01.patch
          39 kB
          Sergey Shelukhin
        2. HIVE-14589.02.patch
          39 kB
          Sergey Shelukhin
        3. HIVE-14589.03.patch
          51 kB
          Sergey Shelukhin
        4. HIVE-14589.04.patch
          51 kB
          Sergey Shelukhin
        5. HIVE-14589.patch
          46 kB
          Sergey Shelukhin

        Issue Links

          Activity

            People

              sershe Sergey Shelukhin
              sershe Sergey Shelukhin
              Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: