Skip to content

DAOS-17772 rebuild: refine some rebuild/EC agg/EC deg fetch process - #16755

Open
liuxuezhao wants to merge 5 commits into
release/2.6from
lxz/ec_agg_epoch_rdb_26
Open

liuxuezhao wants to merge 5 commits into
release/2.6from
lxz/ec_agg_epoch_rdb_26

Conversation

@liuxuezhao

@liuxuezhao liuxuezhao commented Aug 21, 2025 •

Copy link
Copy Markdown
Contributor
  1. add container RDB KV ds_cont_prop_ec_agg_eph for EC aggregation epoch boundary, store it when bump and load it after restart.
  2. synchronize the ec agg boundary before rebuild
  3. change ec agg boundary IV refresh to be EAGER sync
  4. wait discard's completion in ds_pool_tgt_discard_handler()
  5. fix a cart IV sync bug that ignored GRP_VER err case's err code
  6. fetch ec agg boundary IV in fetch RPC handler when it is zero
  7. fix an EC agg partial update stripe processing bug
  8. fix a sgl sg_nr_out and iov_len process bug
  9. fix a EC degraded fetch bug related with punch extent
  10. some refines for rebuild upbound epoch
    1. rename rebuild stable epoch to rebuild upbound epoch
    2. select "current hlc + epsilon" (ds_rebuild_get_upbound_eph())
      as the rebuild upbound epoch.
    3. use the global consistent rebuild upbound epoch as rebuild fence
      to avoid VOS aggregation cross the epoch.

Steps for the author:

  • Commit message follows the guidelines.
  • Appropriate Features or Test-tag pragmas were used.
  • Appropriate Functional Test Stages were run.
  • At least two positive code reviews including at least one code owner from each category referenced in the PR.
  • Testing is complete. If necessary, forced-landing label added and a reason added in a comment.

After all prior steps are complete:

  • Gatekeeper requested (daos-gatekeeper added as a reviewer).

@liuxuezhao
liuxuezhao requested review from a team as code owners August 21, 2025 10:12
@liuxuezhao
liuxuezhao requested review from a team August 21, 2025 10:12
@github-actions

Copy link
Copy Markdown

Errors are Unable to load ticket data
https://daosio.atlassian.net/browse/DAOS-17772

@liuxuezhao
liuxuezhao force-pushed the lxz/ec_agg_epoch_rdb_26 branch from e4d3d89 to 7f83180 Compare August 21, 2025 10:20
Comment thread src/pool/srv_target.c
Comment thread src/container/container_iv.c
NiuYawei
NiuYawei previously approved these changes Aug 21, 2025
@liuxuezhao
liuxuezhao requested a review from Nasf-Fan August 21, 2025 15:20
Comment thread src/container/srv_container.c Outdated
Comment thread src/rebuild/srv.c
liw
liw previously approved these changes Aug 22, 2025
@liuxuezhao
liuxuezhao dismissed stale reviews from liw and NiuYawei via c88834a August 22, 2025 08:02
@liuxuezhao
liuxuezhao requested review from NiuYawei and liw August 22, 2025 08:06
Comment thread src/container/srv_container.c Outdated
Comment thread src/pool/srv_target.c
@Nasf-Fan
Nasf-Fan self-requested a review August 22, 2025 16:18
@daosbuild3

Copy link
Copy Markdown
Collaborator

liw
liw previously approved these changes Aug 25, 2025
Nasf-Fan
Nasf-Fan previously approved these changes Aug 25, 2025
Comment thread src/container/container_iv.c
@liuxuezhao
liuxuezhao dismissed stale reviews from Nasf-Fan and liw via d5db351 August 25, 2025 08:54
@liuxuezhao
liuxuezhao force-pushed the lxz/ec_agg_epoch_rdb_26 branch from d5db351 to ab5c2e2 Compare August 25, 2025 08:56
@liuxuezhao

Copy link
Copy Markdown
Contributor Author

adding the 4th commit for Mahamad's testing.

@liuxuezhao
liuxuezhao requested a review from a team as a code owner August 26, 2025 10:34
Comment thread src/rebuild/srv.c Outdated
Comment thread src/rebuild/rebuild_iv.c
Comment thread src/pool/srv_pool.c Outdated
Comment thread src/object/srv_obj.c
Comment thread src/object/srv_ec_aggregate.c
Comment thread src/object/cli_ec.c
Comment thread src/container/srv_container.c
@liuxuezhao

Copy link
Copy Markdown
Contributor Author

@reviewers, sorry that as with too many original commits, I recombined some commits together to make 5 a little bit clearer PRs/commits so did not keep original commit history.

@liuxuezhao liuxuezhao changed the title DAOS-17772 rebuild: refine EC agg epoch boundary process DAOS-17772 rebuild: refine some rebuild/EC aggregation/EC degraded fetch code Sep 24, 2025
@liuxuezhao liuxuezhao changed the title DAOS-17772 rebuild: refine some rebuild/EC aggregation/EC degraded fetch code DAOS-17772 rebuild: refine some rebuild/EC agg/EC deg fetch process Sep 24, 2025
kccain
kccain previously approved these changes Sep 24, 2025
1. add container RDB KV ds_cont_prop_ec_agg_eph for EC aggregation epoch
   boundary, store it when bump and load it after restart.
2. synchronize the ec agg boundary before rebuild
3. wait discard's completion in ds_pool_tgt_discard_handler()
4. fix a crt IV bug that ignored IV sync's GRP_VER err case

Signed-off-by: Xuezhao Liu <xuezhao.liu@hpe.com>
Signed-off-by: Wang Shilong <shilong.wang@hpe.com>
Signed-off-by: Xuezhao Liu <xuezhao.liu@hpe.com>
Differentiate punch record with normal hole for degraded fetch.

Signed-off-by: Xuezhao Liu <xuezhao.liu@hpe.com>
1. rename rebuild stable epoch to rebuild upbound epoch
2. select "current hlc + epsilon" (ds_rebuild_get_upbound_eph())
   as the rebuild upbound epoch.
3. use the global consistent rebuild upbound epoch as rebuild fence
   to avoid VOS aggregation cross the epoch.
4. several naming refine and cleanup.
5. delay rebuild 200S for restart

Signed-off-by: Xuezhao Liu <xuezhao.liu@hpe.com>
@liuxuezhao
liuxuezhao removed request for a team, gnailzenh and liw October 13, 2025 13:34

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Development

Successfully merging this pull request may close these issues.

6 participants