Bug #13357

Wrap read and write operations within the same transaction on nested set update task

Added by José Raddaoui Marín 4 months ago. Updated 3 months ago.

Status:VerifiedStart date:06/15/2020
Priority:MediumDue date:
Assignee:-% Done:

0%

Category:Data model / ORM
Target version:Release 2.6.0
Google Code Legacy ID: Tested version:2.5, 2.6
Sponsored:No Requires documentation:

Description

The read and write operation on the nested set update task don't happen within a transaction, which may lead to incorrect values if another process modifies the tree at the same time.

https://github.com/artefactual/atom/blob/qa/2.6.x/lib/task/propel/propelBuildNestedSetTask.class.php#L72-L129

History

#1 Updated by José Raddaoui Marín 4 months ago

  • Status changed from New to Code Review
  • Target version set to Release 2.6.0

#2 Updated by David Juhasz 4 months ago

  • Description updated (diff)

#3 Updated by José Raddaoui Marín 4 months ago

  • Status changed from Code Review to QA/Review

Merged in qa/2.6.x. Apart form verifying that the task works as expected, this one would be hard to test for an analyst, maybe another developer/sys. admin could use MySQL's general log to verify the read and writes are happening in the same transaction (3 transactions by default: IOs, terms and menus).

#4 Updated by José Raddaoui Marín 3 months ago

  • Status changed from QA/Review to Verified

Steve found an issue testing this, which was addressed in https://github.com/artefactual/atom/pull/1156 and retested.

Also available in: Atom PDF