Project

General

Profile

Actions

Bug #91881

closed

Massive load when deleting sys_workspace record on pid 0

Added by Christian Kuhn over 3 years ago. Updated over 3 years ago.

Status:
Closed
Priority:
Must have
Assignee:
-
Category:
Workspaces
Target version:
Start date:
2020-07-28
Due date:
% Done:

100%

Estimated time:
TYPO3 Version:
10
PHP Version:
Tags:
Complexity:
hard
Is Regression:
Yes
Sprint Focus:

Description

This is a regression introduced by #89555 in v10 & master.

Reproduce:
  • Create a sys_workspace record on pid 0
  • Delete this sys_workspace record on pid 0

-> The database throws a massive party with all live records of all tables as guests :)

Goal:
When deleting a sys_workspace record, all records of this workspace should be deleted (soft/hard delete, depending on table TCA).

Issue:
With #89555 the restrictions of the underlying query that should find and delete all records of this workspace has been changed to also include all live records of all tables. Luckily, this does not lead to delete hazard since a check at a later point in version_clearWSID() prevents live records from being deleted within workspaces. That check however creates a log entry for each live invalid party guest ... and it happily tells the user about each one with a notice in the top right corner. That corner is too small for many thousands guests ;)

Fix:
Add a proper database restriction again. Support that with some functional test to verify correct rows are deleted.


Related issues 3 (0 open3 closed)

Related to TYPO3 Core - Bug #69310: Attempt to reset workspace failedClosed2015-08-25

Actions
Related to TYPO3 Core - Bug #61719: Warnings on flushing whole workspace with localizationsClosedOliver Hader2014-09-18

Actions
Follows TYPO3 Core - Bug #89555: Querying records in workspaces does not return all proper values due to "pid=-1" databaseClosedBenni Mack2019-09-132019-09-13

Actions
Actions

Also available in: Atom PDF