Skip to content

GitLab

  • Projects
  • Groups
  • Snippets
  • Help
    • Loading...
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in / Register
Z zodbtools
  • Project overview
    • Project overview
    • Details
    • Activity
    • Releases
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Labels
    • Labels
  • Merge requests 4
    • Merge requests 4
  • Analytics
    • Analytics
    • Repository
    • Value Stream
  • Snippets
    • Snippets
  • Members
    • Members
  • Activity
  • Graph
  • Commits
Collapse sidebar
  • nexedi
  • zodbtools
  • Merge requests
  • !24

Closed
Created Sep 01, 2023 by Jérome Perrin@jeromeOwner
  • Report abuse
Report abuse

zodbcommit: include the status of transaction

  • Overview 7
  • Commits 3
  • Changes 12

even though the interface of IStorageRestorable.tpc_begin does not have a "status" argument, it is described in the notes below that the actual implementation uses it:

https://github.com/zopefoundation/ZODB/blob/0632974d/src/ZODB/interfaces.py#L950-L956

This is used by FileStorage:

https://github.com/zopefoundation/ZODB/blob/0632974d/src/ZODB/FileStorage/format.py#L30-L39

and the storage methods seem to accept this argument:

https://github.com/zopefoundation/ZODB/blob/0632974d/src/ZODB/BaseStorage.py#L182 https://github.com/zopefoundation/ZEO/blob/e5637818/src/ZEO/ClientStorage.py#L888 https://lab.nexedi.com/nexedi/neoppod/blob/fd87e153/neo/client/app.py#L473

Propagating the status fixes some cases where restoring commits did not recreate a storage that is byte-to-byte equivalent. This happened with a FileStorage that was packed and contained transactions with "p" status.

Assignee
Assign to
Reviewer
Request review from
None
Milestone
None
Assign milestone
Time tracking
Source branch: fix/commit_status
GitLab Nexedi Edition | About GitLab | About Nexedi | 沪ICP备2021021310号-2 | 沪ICP备2021021310号-7