Uploaded image for project: 'Apache Ozone'
  1. Apache Ozone
  2. HDDS-3816 Erasure Coding
  3. HDDS-6364

EC: Discard pre-allocated blocks to eliminate worthless retries.

    XMLWordPrintableJSON

Details

    • Sub-task
    • Status: Resolved
    • Major
    • Resolution: Fixed
    • None
    • EC-Branch
    • None

    Description

      When we meet failures during a stripe write, we'll rewrite the stripe into a new block group, this new block group should be from a different pipeline with some different DNs to ensure that we have a good chance to succeed at the next retry.

      But there are pre-allocated block groups when we create a new EC key, for a large EC key there will be at most 64 pre-allocated blocks(ozone.key.preallocation.max.blocks = 64, by default), and we've only got 10 retries(ozone.client.max.ec.stripe.write.retries = 10) for EC stripe write, so the pre-allocated blocks came from the same pipeline as the failed block group should be discarded to prevent worthless retries.

      Attachments

        Issue Links

          Activity

            People

              markgui Mark Gui
              markgui Mark Gui
              Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: