Skip to content

DAOS-19284 vos: check conflict among distributed transactions - #18814

Open
Nasf-Fan wants to merge 1 commit into
masterfrom
Nasf-Fan/DAOS-19284
Open

DAOS-19284 vos: check conflict among distributed transactions#18814
Nasf-Fan wants to merge 1 commit into
masterfrom
Nasf-Fan/DAOS-19284

Conversation

@Nasf-Fan

@Nasf-Fan Nasf-Fan commented Aug 7, 2026

Copy link
Copy Markdown
Contributor

For a distributed transaction, its epoch is generated by the first accessed server. So two distributed transactions may use the same epoch (if their first accessed servers are different) to operate the same set of object(s) by race. In theory, two read distributed transactions do not conflict with each other, but read maybe just part of the transaction, and there maybe update/punch in the same distributed transaction subsequently. Since we can keep only one (sponsor) timestamp for one TS entry, then have to request another one to restart. That may cause some fake conflict, but correctness is more important and such race is rare.

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

github-actions Bot commented Aug 7, 2026

Copy link
Copy Markdown

Ticket title is 'daos_test/dfs.py:DaosCoreTestDfs.test_daos_dfs_parallel - Failed concurrent rmdir'
Status is 'In Progress'
https://daosio.atlassian.net/browse/DAOS-19284

@Nasf-Fan
Nasf-Fan force-pushed the Nasf-Fan/DAOS-19284 branch from 46db500 to e148494 Compare August 7, 2026 17:04
@daosbuild3

Copy link
Copy Markdown
Collaborator

@daosbuild3

Copy link
Copy Markdown
Collaborator

Test stage Unit Test with memcheck completed with status UNSTABLE. https://jenkins-3.daos.hpc.amslabs.hpecorp.net/job/daos-stack/job/daos//view/change-requests/job/PR-18814/2/testReport/

@daosbuild3

Copy link
Copy Markdown
Collaborator

@daosbuild3

Copy link
Copy Markdown
Collaborator

Test stage Functional Cluster Box 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-18814/2/execution/node/1538/log

@Nasf-Fan
Nasf-Fan force-pushed the Nasf-Fan/DAOS-19284 branch from e148494 to 5a81751 Compare August 8, 2026 06:31
For a distributed transaction, its epoch is generated by the first
accessed server. So two distributed transactions may use the same
epoch (if their first accessed servers are different) to operate
the same set of object(s) by race. In theory, two read distributed
transactions do not conflict with each other, but read maybe just
part of the transaction, and there maybe update/punch in the same
distributed transaction subsequently. Since we can keep only one
(sponsor) timestamp for one TS entry, then have to request another
one to restart. That may cause some fake conflict, but correctness
is more important and such race is rare.

Signed-off-by: Fan Yong <fan.yong@hpe.com>
@Nasf-Fan
Nasf-Fan force-pushed the Nasf-Fan/DAOS-19284 branch from 5a81751 to 98d46b9 Compare August 8, 2026 12:54
@daosbuild3

Copy link
Copy Markdown
Collaborator

Test stage Functional Cluster Box 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-18814/3/execution/node/1519/log

@Nasf-Fan
Nasf-Fan marked this pull request as ready for review August 10, 2026 04:26
@Nasf-Fan
Nasf-Fan requested review from a team as code owners August 10, 2026 04:26
@Nasf-Fan
Nasf-Fan requested review from knard38 and liw August 10, 2026 04:26
Comment thread src/vos/vos_ts.h
return 0;

/* It is very rare, so warning message will not be much trouble. */
D_WARN("Refuse high read-TS update with the same epoch " DF_X64 " from multiple "

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.

[Nit] There seems to be no reason to warn users, because we can't tell if they have set up or done anything risky or wrong. I'd write D_DEBUG, but D_INFO might be tolerable too.

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