Skip to content

DAOS-19591 container: re-send EC agg boundary to ranks waiting for it - #19304

Merged
mchaarawi merged 1 commit into
mschaara/19591-2.6.5from
mschaara/ec_agg_boundary
Oct 16, 2026
Merged

mchaarawi merged 1 commit into
mschaara/19591-2.6.5from
mschaara/ec_agg_boundary

Conversation

@mchaarawi

Copy link
Copy Markdown
Contributor

A reintegrated rank that gets the VOS container after the leader's last boundary refresh never starts EC aggregation: it waits for a refresh to set sc_ec_agg_eph_valid, while its eph 0 report pins the leader's min_eph to ea_rdb_eph == ea_current_eph, so cont_agg_eph_sync() skips the refresh as unchanged. The boundary is stuck for the whole pool and space is not reclaimed until all engines restart.

Treat an eph 0 report as a request for the boundary and re-send it in the next cont_agg_eph_sync() round even if min_eph did not change.

Also suppress the false "Sluggish EC boundary reporting" warning for boundary jumps that predate this leader (backport of #19015).

Features: container rebuild

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).

A reintegrated rank that gets the VOS container after the leader's last
boundary refresh never starts EC aggregation: it waits for a refresh to
set sc_ec_agg_eph_valid, while its eph 0 report pins the leader's
min_eph to ea_rdb_eph == ea_current_eph, so cont_agg_eph_sync() skips
the refresh as unchanged. The boundary is stuck for the whole pool and
space is not reclaimed until all engines restart.

Treat an eph 0 report as a request for the boundary and re-send it in
the next cont_agg_eph_sync() round even if min_eph did not change.

Also suppress the false "Sluggish EC boundary reporting" warning for
boundary jumps that predate this leader (backport of #19015).

Features: container rebuild

Signed-off-by: Mohamad Chaarawi <mohamad.chaarawi@hpe.com>
@github-actions

Copy link
Copy Markdown

Ticket title is 'Aurora daos_user: engine printing continuously in log "cont_agg_eph_sync() 66e9ae82/2416cc43: Sluggish EC boundary report from rank 117, 165933 Seconds." '
Status is 'In Review'
Labels: 'ALCF'
https://daosio.atlassian.net/browse/DAOS-19591

@daosbuild3

Copy link
Copy Markdown
Collaborator

@mchaarawi
mchaarawi marked this pull request as ready for review October 16, 2026 20:58
@mchaarawi
mchaarawi requested review from a team as code owners October 16, 2026 20:58
@mchaarawi
mchaarawi merged commit 93ed6e0 into mschaara/19591-2.6.5 Oct 16, 2026
36 of 41 checks passed
@mchaarawi
mchaarawi deleted the mschaara/ec_agg_boundary branch October 16, 2026 20:58
mchaarawi added a commit that referenced this pull request Oct 16, 2026
…#19304)

A reintegrated rank that gets the VOS container after the leader's last
boundary refresh never starts EC aggregation: it waits for a refresh to
set sc_ec_agg_eph_valid, while its eph 0 report pins the leader's
min_eph to ea_rdb_eph == ea_current_eph, so cont_agg_eph_sync() skips
the refresh as unchanged. The boundary is stuck for the whole pool and
space is not reclaimed until all engines restart.

Treat an eph 0 report as a request for the boundary and re-send it in
the next cont_agg_eph_sync() round even if min_eph did not change.

Also suppress the false "Sluggish EC boundary reporting" warning for
boundary jumps that predate this leader (backport of #19015).

Features: container rebuild

Signed-off-by: Mohamad Chaarawi <mohamad.chaarawi@hpe.com>
liuxuezhao pushed a commit that referenced this pull request Oct 19, 2026
…#19304)

A reintegrated rank that gets the VOS container after the leader's last
boundary refresh never starts EC aggregation: it waits for a refresh to
set sc_ec_agg_eph_valid, while its eph 0 report pins the leader's
min_eph to ea_rdb_eph == ea_current_eph, so cont_agg_eph_sync() skips
the refresh as unchanged. The boundary is stuck for the whole pool and
space is not reclaimed until all engines restart.

Treat an eph 0 report as a request for the boundary and re-send it in
the next cont_agg_eph_sync() round even if min_eph did not change.

Also suppress the false "Sluggish EC boundary reporting" warning for
boundary jumps that predate this leader (backport of #19015).

Features: container rebuild

Signed-off-by: Mohamad Chaarawi <mohamad.chaarawi@hpe.com>
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.

2 participants