Skip to content

DAOS-19396 test: suite.yaml fix libfabric warning log routing - #19111

Open
kccain wants to merge 3 commits into
release/2.6from
kccain/daos_19396_config_rel2p6
Open

kccain wants to merge 3 commits into
release/2.6from
kccain/daos_19396_config_rel2p6

Conversation

@kccain

@kccain kccain commented Sep 17, 2026

Copy link
Copy Markdown
Contributor

Before this change, daos_test invocations from suite.py/yaml relied on FI_LOG_LEVEL and D_LOG_STDERR_IN_LOG environment variables in an attempt to capture libfabric-level warnings. However, that configuration seems to be ineffective - i.e., it is seen in test results that no such warnings are saved in engine logs.

With this change, HG_LOG_SUBSYS (with value including 'libfabric') and HG_LOG_LEVEL environnment variables are set to correctly capture libfabric warnings - e.g., to log entries like the following:

mercury->libfabric [warning] ... rxm_handle_error() fi_eq_readerr ...

Test-tag: daos_core_test
Skip-unit-tests: true
Skip-fault-injection-test: true
Skip-test-rpms: true

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

Before this change, daos_test invocations from suite.py/yaml
relied on FI_LOG_LEVEL and D_LOG_STDERR_IN_LOG environment
variables in an attempt to capture libfabric-level warnings.
However, that configuration seems to be ineffective - i.e.,
it is seen in test results that no such warnings are saved
in engine logs.

With this change, HG_LOG_SUBSYS (with value including 'libfabric')
and HG_LOG_LEVEL environnment variables are set to correctly
capture libfabric warnings - e.g., to log entries like the following:

mercury->libfabric [warning] ... rxm_handle_error() fi_eq_readerr ...

Test-tag: daos_core_test
Skip-unit-tests: true
Skip-fault-injection-test: true
Skip-test-rpms: true

Signed-off-by: Kenneth Cain <kenneth.cain@hpe.com>
@github-actions

Copy link
Copy Markdown

Ticket title is 'daos_test/suite.py:DaosCoreTest.test_daos_rebuild_ec - pool reintegrate timeout'
Status is 'Awaiting backport'
Labels: '2.6.5.p2rc1,pr_test,request_for_2.8.2,testp1'
https://daosio.atlassian.net/browse/DAOS-19396

@daosbuild3

Copy link
Copy Markdown
Collaborator

Test stage Functional Hardware Medium Verbs Provider completed with status FAILURE. https://jenkins-3.daos.hpc.amslabs.hpecorp.net//job/daos-stack/job/daos/view/change-requests/job/PR-19111/1/execution/node/881/log

and is never invalidated on a transient SWIM death+restart. RPCs then take
the cache-hit path and reuse a possibly-stale endpoint from the peer's
previous incarnation, which can silently fail (e.g. a CORPC timing out to a
just-restarted rank) with no CaRT-level indication of the cause.

Add a diagnostic-only D_WARN, emitted when a peer's incarnation increases
(i.e. it restarted) while a cached address for it is still present for
ctx0/tag0. The check is read-only and does not change behavior.

The incarnation increase can be observed on either of two paths, and which
one records it first is a race:
  - crt_swim_set_member_state() (SWIM gossip), and
  - crt_swim_rank_check() (primary-group membership / rejoin update).
The warning is emitted from both sites so it fires regardless of which path
observes the restart first. The gossip-path check is gated on a real
incarnation increase and a transition to ALIVE to keep it low-volume (once
per restart, not per ping).

This is intended to be combined with HG_LOG_SUBSYS/HG_LOG_LEVEL and the
existing RPC timeout logs to correlate a stale-endpoint reuse at runtime.

Test-tag: daos_core_test
Skip-unit-tests: true
Skip-fault-injection-test: true
Skip-test-rpms: true

Signed-off-by: Kenneth Cain <kenneth.cain@hpe.com>
Test-tag: daos_core_test
Skip-unit-tests: true
Skip-fault-injection-test: true
Skip-test-rpms: true

Signed-off-by: Kenneth Cain <kenneth.cain@hpe.com>
@kccain kccain added clean-cherry-pick Cherry-pick from another branch that did not require additional edits forced-landing The PR has known failures or has intentionally reduced testing, but should still be landed. labels Sep 29, 2026
@kccain
kccain marked this pull request as ready for review September 29, 2026 18:36
@kccain
kccain requested review from a team as code owners September 29, 2026 18:36
@kccain
kccain requested a review from a team October 16, 2026 19:27

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

clean-cherry-pick Cherry-pick from another branch that did not require additional edits forced-landing The PR has known failures or has intentionally reduced testing, but should still be landed. release-2.6.6 waiting-for-merge-approval Waiting for merge approval

Development

Successfully merging this pull request may close these issues.

3 participants