Details
-
Sub-task
-
Status: Resolved
-
Major
-
Resolution: Fixed
-
None
-
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
- links to