Skip to content

DAOS-19284 vos: check conflict among distributed transactions - b28 - #18843

Open
Nasf-Fan wants to merge 1 commit into
release/2.8from
Nasf-Fan/DAOS-19284_b28
Open

DAOS-19284 vos: check conflict among distributed transactions - b28#18843
Nasf-Fan wants to merge 1 commit into
release/2.8from
Nasf-Fan/DAOS-19284_b28

Conversation

@Nasf-Fan

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

Copy link
Copy Markdown

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

knard38
knard38 previously approved these changes Aug 12, 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-18843/2/testReport/

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_b28 branch from dcf0faf to 68f2c04 Compare August 13, 2026 14:04
@Nasf-Fan
Nasf-Fan marked this pull request as ready for review August 16, 2026 02:22
@Nasf-Fan
Nasf-Fan requested review from a team as code owners August 16, 2026 02:22
@Nasf-Fan
Nasf-Fan requested review from NiuYawei, knard38 and liw August 18, 2026 01:14

@knard38 knard38 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.

Quickly checked as it is a clean cherry-pick from what I have seen.

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.

4 participants