Uploaded image for project: 'HBase'
  1. HBase
  2. HBASE-24588

Normalizer plan execution is not consistent between plan types

    XMLWordPrintableJSON

Details

    • Reviewed

    Description

      I left a comment on a merged commit where a little discussion has blossomed. Right now the normalizer produces two types of plans: "split" or "merge". The master receives the list of plans and executes them in a simple loop. The way it does the actual execution is delegated off to the plan implementation.

      The bug I noticed is that the two implementations are subtly different. Both use async APIs to submit procedures, but "split" blocks on completion while "merge" does not. Furthermore, because "split" blocks, it's able to capture any exception that's thrown, while "merge" cannot.

      These implementations should be made consistent. My thinking at the moment is this execute method should instead be named submit, creating and returning the Future that represents whatever work it submitted, and the calling context should handle the resolution of those futures in a single place.

      Attachments

        Issue Links

          Activity

            People

              vjasani Viraj Jasani
              ndimiduk Nick Dimiduk
              Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: