Skip to content

DAOS-19207 control: check redundancy factor early#18522

Open
janekmi wants to merge 21 commits into
masterfrom
janekmi/DAOS-19207-check-rd_fac-early
Open

DAOS-19207 control: check redundancy factor early#18522
janekmi wants to merge 21 commits into
masterfrom
janekmi/DAOS-19207-check-rd_fac-early

Conversation

@janekmi

@janekmi janekmi commented Jun 23, 2026

Copy link
Copy Markdown
Contributor

The "multi branch, no rank leaves" testcase got removed since it was unreconcilable with the assumption subtree.Depth() > 2 means performance domains exist. In this case a tree has performance domains defined but its depth is just 2 so there is no way of detecting these performance domains are there.

This assumption is not introduced by this change. But since this assumption takes part in the CompressedFaultDomainTree() call it has to play the same role when the redundancy factor check is re-implemented at this level. The CompressedFaultDomainTree() function serializes the domain tree for lower levels.


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

@janekmi janekmi requested review from a team as code owners June 23, 2026 07:29
@github-actions

github-actions Bot commented Jun 23, 2026

Copy link
Copy Markdown

Ticket title is 'Validate rd_fac on the dmg level to produce a clearer error message'
Status is 'In Review'
Job should run at elevated priority (1)
https://daosio.atlassian.net/browse/DAOS-19207

@janekmi janekmi marked this pull request as draft June 23, 2026 11:55
janekmi added 3 commits June 23, 2026 20:02
Signed-off-by: Jan Michalski <jan-marian.michalski@hpe.com>
Signed-off-by: Jan Michalski <jan-marian.michalski@hpe.com>
Signed-off-by: Jan Michalski <jan-marian.michalski@hpe.com>
@janekmi janekmi force-pushed the janekmi/DAOS-19207-check-rd_fac-early branch from fabaf57 to 6edfafd Compare June 23, 2026 20:02
Signed-off-by: Jan Michalski <jan-marian.michalski@hpe.com>
@janekmi janekmi marked this pull request as ready for review June 23, 2026 20:05
@github-actions github-actions Bot added the priority Ticket has high priority (automatically managed) label Jun 23, 2026
@daosbuild3

Copy link
Copy Markdown
Collaborator

Test stage Functional Hardware Medium MD on SSD completed with status UNSTABLE. https://jenkins-3.daos.hpc.amslabs.hpecorp.net/job/daos-stack/job/daos//view/change-requests/job/PR-18522/3/testReport/

janekmi added 2 commits June 24, 2026 12:55
Signed-off-by: Jan Michalski <jan-marian.michalski@hpe.com>
Signed-off-by: Jan Michalski <jan-marian.michalski@hpe.com>
@janekmi janekmi marked this pull request as draft June 25, 2026 13:15
janekmi added 5 commits June 29, 2026 07:19
Signed-off-by: Jan Michalski <jan-marian.michalski@hpe.com>
Signed-off-by: Jan Michalski <jan-marian.michalski@hpe.com>
Signed-off-by: Jan Michalski <jan-marian.michalski@hpe.com>
Signed-off-by: Jan Michalski <jan-marian.michalski@hpe.com>
Signed-off-by: Jan Michalski <jan-marian.michalski@hpe.com>
@janekmi janekmi marked this pull request as ready for review June 29, 2026 18:57
@daosbuild3

Copy link
Copy Markdown
Collaborator

Test stage Functional Hardware Medium Verbs Provider MD on SSD completed with status FAILURE. https://jenkins-3.daos.hpc.amslabs.hpecorp.net//job/daos-stack/job/daos/view/change-requests/job/PR-18522/9/execution/node/1329/log

…check-rd_fac-early

Signed-off-by: Jan Michalski <jan-marian.michalski@hpe.com>
Comment thread src/control/system/membership_test.go Outdated
Comment thread src/control/system/membership.go Outdated
@janekmi janekmi requested a review from kjacque July 2, 2026 10:27
... clean up unit tests.

Signed-off-by: Jan Michalski <jan-marian.michalski@hpe.com>
@janekmi

janekmi commented Jul 3, 2026

Copy link
Copy Markdown
Contributor Author

@kjacque thank you very much for finding time for a quick chat about this PR. I believe it sped up the review significantly. 👍

@daosbuild3

Copy link
Copy Markdown
Collaborator

@kjacque kjacque left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is basically what I was thinking. Thanks! This will make it easier to modify when extending fault domains.

Just a few small things, otherwise looks good.

Comment thread src/control/system/membership.go Outdated
Comment thread src/control/system/membership_test.go Outdated
Comment thread src/control/system/membership_test.go Outdated
Doc-only: true

Signed-off-by: Jan Michalski <jan-marian.michalski@hpe.com>
... numbering scheme.

Signed-off-by: Jan Michalski <jan-marian.michalski@hpe.com>
@janekmi janekmi requested a review from kjacque July 6, 2026 18:09
@daosbuild3

Copy link
Copy Markdown
Collaborator

janekmi added 3 commits July 7, 2026 10:13
... specified.

Signed-off-by: Jan Michalski <jan-marian.michalski@hpe.com>
Signed-off-by: Jan Michalski <jan-marian.michalski@hpe.com>
Signed-off-by: Jan Michalski <jan-marian.michalski@hpe.com>
@daosbuild3

Copy link
Copy Markdown
Collaborator

janekmi added 2 commits July 7, 2026 12:16
This reverts commit d423047.

Signed-off-by: Jan Michalski <jan-marian.michalski@hpe.com>
... the TestServer_MgmtSvc_PoolCreate test.

Signed-off-by: Jan Michalski <jan-marian.michalski@hpe.com>
kjacque
kjacque previously approved these changes Jul 7, 2026
@janekmi janekmi requested a review from grom72 July 8, 2026 12:40
Comment thread src/control/system/membership.go
Comment thread src/control/system/membership.go Outdated
Comment on lines +813 to +815
if level == 0 {
return 1
}

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can a tree be unbalanced?

Suggested change
if level == 0 {
return 1
}
if level == 1 {
return len(tree.Children)
}

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

No, it cannot.

Regarding your suggestion, please note this is exactly what is the for-loop below for.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes, I know, but it is not needed to call each tree leaf only to confirm that it is a leaf and return 1.

Comment thread src/control/system/membership.go
Signed-off-by: Jan Michalski <jan-marian.michalski@hpe.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

priority Ticket has high priority (automatically managed)

Development

Successfully merging this pull request may close these issues.

4 participants