Skip to content

DAOS-18779 client: reset per-thread based variable after fork - b28#17936

Open
Nasf-Fan wants to merge 1 commit intorelease/2.8from
Nasf-Fan/DAOS-18779_b28
Open

DAOS-18779 client: reset per-thread based variable after fork - b28#17936
Nasf-Fan wants to merge 1 commit intorelease/2.8from
Nasf-Fan/DAOS-18779_b28

Conversation

@Nasf-Fan
Copy link
Copy Markdown
Contributor

@Nasf-Fan Nasf-Fan commented Apr 8, 2026

DAOS maintains some per-thread based variables on client. They are usually used to distinguish current process from the others. If application creates new process (such as via fork()), these per-thread variables will inherit the values from parents, and if without reset, we cannot distinguish the children processes from the parents via these per-thread based variables. That is not only confused but also may cause correctness issues.

The patch offers related reset interfaces, and application can trigger them via after_fork() callback.

Allow-unstable-test: 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).

@github-actions
Copy link
Copy Markdown

github-actions Bot commented Apr 8, 2026

Ticket title is 'Per-thread based variables maybe stable for the child process after fork'
Status is 'Awaiting backport'
Labels: 'request_for_2.8'
https://daosio.atlassian.net/browse/DAOS-18779

@Nasf-Fan Nasf-Fan force-pushed the Nasf-Fan/DAOS-18779_b28 branch 3 times, most recently from 35cc870 to 2e61649 Compare April 11, 2026 05:38
@daosbuild3
Copy link
Copy Markdown
Collaborator

Test stage Functional Hardware Large 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-17936/3/execution/node/1329/log

@daosbuild3
Copy link
Copy Markdown
Collaborator

Test stage Functional Hardware Medium 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-17936/3/execution/node/1278/log

@Nasf-Fan Nasf-Fan force-pushed the Nasf-Fan/DAOS-18779_b28 branch from 2e61649 to 6135ca3 Compare April 13, 2026 12:13
@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-17936/5/testReport/

@Nasf-Fan
Copy link
Copy Markdown
Contributor Author

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-17936/5/testReport/

test_dfuse_daos_build_wb failed for DAOS-18813, not related with the patch.

@Nasf-Fan Nasf-Fan marked this pull request as ready for review April 16, 2026 04:30
@Nasf-Fan Nasf-Fan requested review from a team as code owners April 16, 2026 04:30
@Nasf-Fan Nasf-Fan force-pushed the Nasf-Fan/DAOS-18779_b28 branch 2 times, most recently from caa7d40 to 1c97cc7 Compare April 24, 2026 02:05
@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-17936/9/execution/node/419/log

@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-17936/9/testReport/

@Nasf-Fan Nasf-Fan force-pushed the Nasf-Fan/DAOS-18779_b28 branch from 1c97cc7 to 6fb1d12 Compare April 28, 2026 06:15
@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-17936/10/testReport/

DAOS maintains some per-thread based variables on client. They
are usually used to distinguish current process from the others.
If application creates new process (such as via fork()), these
per-thread variables will inherit the values from parents, and
if without reset, we cannot distinguish the children processes
from the parents via these per-thread based variables. That is
not only confused but also may cause correctness issues.

The patch offers related reset interfaces, and application can
trigger them via after_fork() callback.

Allow-unstable-test: true

Signed-off-by: Fan Yong <fan.yong@hpe.com>
@Nasf-Fan Nasf-Fan force-pushed the Nasf-Fan/DAOS-18779_b28 branch from 6fb1d12 to efef39a Compare May 6, 2026 03:23
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.

3 participants