Uploaded image for project: 'Apache Ozone'
  1. Apache Ozone
  2. HDDS-6462 Phase II : Erasure Coding Offline Recovery & Read/Write Improvements
  3. HDDS-8698

EC: Avoid unbounded pipeline creation if all existing pipelines don't meet criteria

    XMLWordPrintableJSON

Details

    • Sub-task
    • Status: Resolved
    • Major
    • Resolution: Implemented
    • None
    • 1.4.0
    • None

    Description

      Currently, if the pipeline limit is not reached, when a new block is requested, a new pipeline is allocated and returned to the client.

      If the pipeline limit is reached, we attempt to return a pipeline from the existing set.

      If none of those pipelines meet the criteria, then we fall back to creating another pipeline. This could result in unbounded pipeline growth if a client is having problems.

      We should therefore limit the pipelines that can be created via this exceptional case.

      For example, if we close some pipelines when searching the existing list (due to them being full), we know we have freed up some capacity to create a new pipeline.

      Also, or alternative, we could allow the limit to be exceeded by some controlled factor - eg 10% and if the limit is beyond that, return a failure to the client.

      Attachments

        Issue Links

          Activity

            People

              sodonnell Stephen O'Donnell
              sodonnell Stephen O'Donnell
              Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: