DAOS-19207 control: check redundancy factor early#18522
Conversation
|
Ticket title is 'Validate rd_fac on the dmg level to produce a clearer error message' |
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>
fabaf57 to
6edfafd
Compare
Signed-off-by: Jan Michalski <jan-marian.michalski@hpe.com>
|
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/ |
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>
Signed-off-by: Jan Michalski <jan-marian.michalski@hpe.com>
Signed-off-by: Jan Michalski <jan-marian.michalski@hpe.com>
|
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>
... clean up unit tests. Signed-off-by: Jan Michalski <jan-marian.michalski@hpe.com>
|
@kjacque thank you very much for finding time for a quick chat about this PR. I believe it sped up the review significantly. 👍 |
|
Test stage Unit Test completed with status UNSTABLE. https://jenkins-3.daos.hpc.amslabs.hpecorp.net/job/daos-stack/job/daos//view/change-requests/job/PR-18522/11/testReport/ |
kjacque
left a comment
There was a problem hiding this comment.
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.
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>
|
Test stage Unit Test completed with status UNSTABLE. https://jenkins-3.daos.hpc.amslabs.hpecorp.net/job/daos-stack/job/daos//view/change-requests/job/PR-18522/12/testReport/ |
... 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>
|
Test stage Unit Test completed with status UNSTABLE. https://jenkins-3.daos.hpc.amslabs.hpecorp.net/job/daos-stack/job/daos//view/change-requests/job/PR-18522/13/testReport/ |
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>
| if level == 0 { | ||
| return 1 | ||
| } |
There was a problem hiding this comment.
Can a tree be unbalanced?
| if level == 0 { | |
| return 1 | |
| } | |
| if level == 1 { | |
| return len(tree.Children) | |
| } |
There was a problem hiding this comment.
No, it cannot.
Regarding your suggestion, please note this is exactly what is the for-loop below for.
There was a problem hiding this comment.
Yes, I know, but it is not needed to call each tree leaf only to confirm that it is a leaf and return 1.
Signed-off-by: Jan Michalski <jan-marian.michalski@hpe.com>
The "multi branch, no rank leaves" testcase got removed since it was unreconcilable with the assumption
subtree.Depth() > 2means 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. TheCompressedFaultDomainTree()function serializes the domain tree for lower levels.Steps for the author:
After all prior steps are complete: