Feature #47712

Refactor Locking

Added by Daniel Hürtgen over 2 years ago. Updated 4 months ago.

Status:Resolved Start date:2013-02-08
Priority:Should have Due date:
Assigned To:Markus Klein % Done:

100%

Category:Backend API Spent time: -
Target version:7.2 (Frontend)
PHP Version:5.5 Sprint Focus:Remote Sprint
Complexity:hard

Description

-- to be continued --


Related issues

related to Core - Bug #55099: PHP Warnings after clearing configuration cache in BE Resolved 2014-01-17
related to Core - Bug #66503: Core: Error handler (FE): PHP Warning: sem_get(): failed ... Resolved 2015-04-20
related to Core - Bug #55294: Under heavy load, two request can simultaneously write to... Closed 2014-01-24
precedes Core - Bug #66411: New locking API exceptions too generic Resolved 2015-04-14

Associated revisions

Revision 889d9d09
Added by Markus Klein 4 months ago

[FEATURE] Add Locking API

This patch adds a flexible locking API, which allows to be
extended by extensions.

It also deprecates the old API and adjusts all Core usages.

Resolves: #47712
Releases: master
Change-Id: Iff144b4dd7d5d3fed357380f1669a92dece04c2c
Reviewed-on: http://review.typo3.org/37700
Reviewed-by: Helmut Hummel <>
Tested-by: Helmut Hummel <>
Reviewed-by: Alexander Opitz <>
Tested-by: Alexander Opitz <>

Revision f51c1996
Added by Mathias Brodala 4 months ago

[FOLLOWUP][TASK] Add meaningful exceptions to new locking API

This adds dedicated exceptions to the new locking API which
vastly simplifies usage workflows.

Since the new API was not yet released, this is a non-breaking
change.

Resolves: #66411
Related: #47712
Releases: master
Change-Id: Iae44eaa121562469b64222f5837f7a48e6d9fc14
Reviewed-on: http://review.typo3.org/38683
Reviewed-by: Markus Klein <>
Tested-by: Markus Klein <>
Reviewed-by: Jigal van Hemert <>
Tested-by: Jigal van Hemert <>

History

#1 Updated by Gerrit Code Review about 2 years ago

  • Status changed from New to Under Review

Patch set 1 for branch master has been pushed to the review server.
It is available at https://review.typo3.org/20681

#2 Updated by Gerrit Code Review almost 2 years ago

Patch set 2 for branch master has been pushed to the review server.
It is available at https://review.typo3.org/20681

#3 Updated by Gerrit Code Review almost 2 years ago

Patch set 3 for branch master has been pushed to the review server.
It is available at https://review.typo3.org/20681

#4 Updated by Ernesto Baschny almost 2 years ago

  • Category changed from Code Cleanup to Backend API

Will work continue on this front? Is there a concept plan or some documentation on the end goal of this refactoring?

This is more than a "Code Cleanup", it introduces a new Locking API. So it should aim to replace the current "Locker" class. So missing still is:

1) a "flock" locking mechanism
2) make it used by the Core, making sure the old "Locker" class is not used anymore
3) deprecate the Locker class

Is it realistic that we reach the goal of finishing this API before feature freeze (which would be next week but will most probably be postponed) and that we reach the goal of "replacing the usage of Locker" before the final release?

#5 Updated by Ernesto Baschny almost 2 years ago

  • Target version deleted (6.2.0)

#6 Updated by Christian Kuhn 8 months ago

  • Status changed from Under Review to Rejected

While the work on this is highly appreciated and the pending patch was a good step into the right direction, it was pending as WIP in gerrit for a year now without anyone really working on it. The patch was abandoned for the time being. Meanwhile, a blueprint for locking evolved at http://wiki.typo3.org/Blueprints/LockingForCaches and the work here is mentioned there for anyone to pick up.

This issue here will be set to "rejected" for now, since further works needs to be aligned and decided in the blueprint, and after that realized in smaller and new issues.

#7 Updated by Markus Klein 5 months ago

  • Status changed from Rejected to Accepted
  • Assigned To changed from Daniel Hürtgen to Markus Klein
  • Target version set to 7.2 (Frontend)
  • PHP Version changed from 5.3 to 5.5
  • Complexity changed from nightmare to hard

#8 Updated by Gerrit Code Review 5 months ago

  • Status changed from Accepted to Under Review

Patch set 1 for branch master of project Packages/TYPO3.CMS has been pushed to the review server.
It is available at http://review.typo3.org/37700

#9 Updated by Gerrit Code Review 5 months ago

Patch set 2 for branch master of project Packages/TYPO3.CMS has been pushed to the review server.
It is available at http://review.typo3.org/37700

#10 Updated by Gerrit Code Review 5 months ago

Patch set 3 for branch master of project Packages/TYPO3.CMS has been pushed to the review server.
It is available at http://review.typo3.org/37700

#11 Updated by Gerrit Code Review 5 months ago

Patch set 4 for branch master of project Packages/TYPO3.CMS has been pushed to the review server.
It is available at http://review.typo3.org/37700

#12 Updated by Gerrit Code Review 5 months ago

Patch set 5 for branch master of project Packages/TYPO3.CMS has been pushed to the review server.
It is available at http://review.typo3.org/37700

#13 Updated by Gerrit Code Review 5 months ago

Patch set 6 for branch master of project Packages/TYPO3.CMS has been pushed to the review server.
It is available at http://review.typo3.org/37700

#14 Updated by Gerrit Code Review 5 months ago

Patch set 7 for branch master of project Packages/TYPO3.CMS has been pushed to the review server.
It is available at http://review.typo3.org/37700

#15 Updated by Gerrit Code Review 5 months ago

Patch set 8 for branch master of project Packages/TYPO3.CMS has been pushed to the review server.
It is available at http://review.typo3.org/37700

#16 Updated by Gerrit Code Review 5 months ago

Patch set 9 for branch master of project Packages/TYPO3.CMS has been pushed to the review server.
It is available at http://review.typo3.org/37700

#17 Updated by Markus Klein 5 months ago

  • Sprint Focus set to Remote Sprint

#18 Updated by Gerrit Code Review 5 months ago

Patch set 10 for branch master of project Packages/TYPO3.CMS has been pushed to the review server.
It is available at http://review.typo3.org/37700

#19 Updated by Gerrit Code Review 4 months ago

Patch set 11 for branch master of project Packages/TYPO3.CMS has been pushed to the review server.
It is available at http://review.typo3.org/37700

#20 Updated by Gerrit Code Review 4 months ago

Patch set 12 for branch master of project Packages/TYPO3.CMS has been pushed to the review server.
It is available at http://review.typo3.org/37700

#21 Updated by Gerrit Code Review 4 months ago

Patch set 13 for branch master of project Packages/TYPO3.CMS has been pushed to the review server.
It is available at http://review.typo3.org/37700

#22 Updated by Gerrit Code Review 4 months ago

Patch set 14 for branch master of project Packages/TYPO3.CMS has been pushed to the review server.
It is available at http://review.typo3.org/37700

#23 Updated by Gerrit Code Review 4 months ago

Patch set 15 for branch master of project Packages/TYPO3.CMS has been pushed to the review server.
It is available at http://review.typo3.org/37700

#24 Updated by Gerrit Code Review 4 months ago

Patch set 16 for branch master of project Packages/TYPO3.CMS has been pushed to the review server.
It is available at http://review.typo3.org/37700

#25 Updated by Gerrit Code Review 4 months ago

Patch set 17 for branch master of project Packages/TYPO3.CMS has been pushed to the review server.
It is available at http://review.typo3.org/37700

#26 Updated by Gerrit Code Review 4 months ago

Patch set 18 for branch master of project Packages/TYPO3.CMS has been pushed to the review server.
It is available at http://review.typo3.org/37700

#27 Updated by Gerrit Code Review 4 months ago

Patch set 19 for branch master of project Packages/TYPO3.CMS has been pushed to the review server.
It is available at http://review.typo3.org/37700

#28 Updated by Markus Klein 4 months ago

  • Status changed from Under Review to Resolved
  • % Done changed from 40 to 100

Also available in: Atom PDF