Bug #26993
Pagetree: Copying large branches duplicates branch
| Status: | Resolved | Start date: | 2011-05-23 | |
|---|---|---|---|---|
| Priority: | Should have | Due date: | ||
| Assignee: | Steffen Gebert | % Done: | 100% |
|
| Category: | Backend User Interface | |||
| Target version: | - | |||
| TYPO3 Version: | 4.5 | Complexity: | ||
| PHP Version: | ||||
| Votes: | 3 (View) |
Description
Copying large branches (500+ pages, depending on the server) has a big problem: The AJAX request is answered too late (after Ext.Direct timeout), so Ext.Direct will resend the request. This will copy the branch once again. So the copied branch appears twice after copying.
The whole process fails with a connection timeout error message and the user has to reload the page tree.
Related issues
| related to Workspaces & Versioning - Bug #44055: ExtJS connection timeout when mass publishing workspace c... | Resolved | 2012-12-17 | ||
| duplicated by Core - Bug #32632: Doppelter Seitenbaum nach Kopie | Rejected | 2011-12-16 | ||
| duplicated by Core - Bug #29123: Duplicate copy created when copying larger page trees | Closed | 2011-08-19 |
Associated revisions
[BUGFIX] Pagetree: Copying large branches duplicates branch
Copying large branches (500+ pages, depending on the server) has a big
problem: The AJAX request is answered too late (after Ext.Direct
timeout), so Ext.Direct will resend the request. This will copy the
branch once again. So the copied branch appears twice after copying.
The whole process fails with a connection timeout error message and the
user has to reload the page tree.
Change-Id: If0307586ec3196c3c3dedde92cfb6aee07bc9064
Resolves: #26993
Releases: 6.0, 4.7, 4.6, 4.5
Reviewed-on: http://review.typo3.org/8981
Reviewed-by: Stefan Neufeind
Reviewed-by: Stefan Galinski
Reviewed-by: Philipp Gampe
Tested-by: Stefan Galinski
Reviewed-by: Susanne Moog
Tested-by: Susanne Moog
[BUGFIX] Pagetree: Copying large branches duplicates branch
Copying large branches (500+ pages, depending on the server) has a big
problem: The AJAX request is answered too late (after Ext.Direct
timeout), so Ext.Direct will resend the request. This will copy the
branch once again. So the copied branch appears twice after copying.
The whole process fails with a connection timeout error message and the
user has to reload the page tree.
Change-Id: Id45c2cb213b6b8bd85360641a9275a38467ab96a
Resolves: #26993
Releases: 6.0, 4.7, 4.6, 4.5
Reviewed-on: http://review.typo3.org/11334
Reviewed-by: Susanne Moog
Tested-by: Susanne Moog
Reviewed-by: Christian Kuhn
Tested-by: Christian Kuhn
[BUGFIX] Pagetree: Copying large branches duplicates branch
Copying large branches (500+ pages, depending on the server) has a big
problem: The AJAX request is answered too late (after Ext.Direct
timeout), so Ext.Direct will resend the request. This will copy the
branch once again. So the copied branch appears twice after copying.
The whole process fails with a connection timeout error message and the
user has to reload the page tree.
Change-Id: I2f0aa73357674751e7745654383f420802f0eb17
Resolves: #26993
Releases: 6.0, 4.7, 4.6, 4.5
Reviewed-on: http://review.typo3.org/11335
Reviewed-by: Susanne Moog
Tested-by: Susanne Moog
Reviewed-by: Christian Kuhn
Tested-by: Christian Kuhn
[BUGFIX] Pagetree: Copying large branches duplicates branch
Copying large branches (500+ pages, depending on the server) has a big
problem: The AJAX request is answered too late (after Ext.Direct
timeout), so Ext.Direct will resend the request. This will copy the
branch once again. So the copied branch appears twice after copying.
The whole process fails with a connection timeout error message and the
user has to reload the page tree.
Change-Id: I133566bf12c7511f7e8ef9cb9e6ff8683f07249c
Resolves: #26993
Releases: 6.0, 4.7, 4.6, 4.5
Reviewed-on: http://review.typo3.org/11336
Reviewed-by: Susanne Moog
Tested-by: Susanne Moog
Reviewed-by: Christian Kuhn
Tested-by: Christian Kuhn
[BUGFIX] Pagetree: Copying large branches duplicates branch
Copying large branches (500+ pages, depending on the server) has a big
problem: The AJAX request is answered too late (after Ext.Direct
timeout), so Ext.Direct will resend the request. This will copy the
branch once again. So the copied branch appears twice after copying.
The whole process fails with a connection timeout error message and the
user has to reload the page tree.
Change-Id: If0307586ec3196c3c3dedde92cfb6aee07bc9064
Resolves: #26993
Releases: 6.0, 4.7, 4.6, 4.5
Reviewed-on: http://review.typo3.org/8981
Reviewed-by: Stefan Neufeind
Reviewed-by: Stefan Galinski
Reviewed-by: Philipp Gampe
Tested-by: Stefan Galinski
Reviewed-by: Susanne Moog
Tested-by: Susanne Moog
[BUGFIX] ExtJS connection timeout when mass publishing
When doing a mass publish in large installations
it can happen that the ExtJS Ajax request runs into
the 30 Seconds timeout limit which results in weird
error messages.
Increasing the ExJS timeout, like it has been done for
the pagetree copy operations solved the problem.
Fixes: #44055
Related: #26993
Releases: 6.1, 6.0, 4.7, 4.6, 4.5
Change-Id: I05d81635604a9ea983ab6ee272afde64cfa69526
Reviewed-on: https://review.typo3.org/17192
Reviewed-by: Mattias Nilsson
Tested-by: Mattias Nilsson
Reviewed-by: Anja Leichsenring
Tested-by: Anja Leichsenring
Reviewed-by: Helmut Hummel
Tested-by: Helmut Hummel
[BUGFIX] ExtJS connection timeout when mass publishing
When doing a mass publish in large installations
it can happen that the ExtJS Ajax request runs into
the 30 Seconds timeout limit which results in weird
error messages.
Increasing the ExJS timeout, like it has been done for
the pagetree copy operations solved the problem.
Fixes: #44055
Related: #26993
Releases: 6.1, 6.0, 4.7, 4.6, 4.5
Change-Id: I05d81635604a9ea983ab6ee272afde64cfa69526
Reviewed-on: https://review.typo3.org/17495
Reviewed-by: Helmut Hummel
Tested-by: Helmut Hummel
[BUGFIX] ExtJS connection timeout when mass publishing
When doing a mass publish in large installations
it can happen that the ExtJS Ajax request runs into
the 30 Seconds timeout limit which results in weird
error messages.
Increasing the ExJS timeout, like it has been done for
the pagetree copy operations solved the problem.
Fixes: #44055
Related: #26993
Releases: 6.1, 6.0, 4.7, 4.6, 4.5
Change-Id: I05d81635604a9ea983ab6ee272afde64cfa69526
Reviewed-on: https://review.typo3.org/17620
Reviewed-by: Helmut Hummel
Tested-by: Helmut Hummel
[BUGFIX] ExtJS connection timeout when mass publishing
When doing a mass publish in large installations
it can happen that the ExtJS Ajax request runs into
the 30 Seconds timeout limit which results in weird
error messages.
Increasing the ExJS timeout, like it has been done for
the pagetree copy operations solved the problem.
Fixes: #44055
Related: #26993
Releases: 6.1, 6.0, 4.7, 4.6, 4.5
Change-Id: I05d81635604a9ea983ab6ee272afde64cfa69526
Reviewed-on: https://review.typo3.org/17618
Reviewed-by: Helmut Hummel
Tested-by: Helmut Hummel
History
Updated by Alban Cousinie over 1 year ago
I confirm the issue.
This is a real problem, as :
- it doubles the count of records created in the database (imagine when you duplicate a big website with thousand objects).
- also the copy /paste performance is currently very bad, so doubling the database copy operations is likely slowing down even more the operation
- there is no indication of the operation's progress status as stated in Bug #25056 (http://forge.typo3.org/issues/25056) so you don't really know when it's finished
- the page tree doesn't refresh during the operation, and you don't know if you can refresh it manually without compromising the operation (I assume as it is an AJAX based operation, you can refresh the operation, but I don't know it for sure).
- when duplicating large trees, often the operation expires because it takes so long to copy (I really mean several minutes) and PHP likely ends killing the script if the max_execution_time has not been extended to a huge value like 1200 secondes.
Overall, copying large page trees with Typo3 has become a tedious and buggy operation.
Updated by Steffen Gebert over 1 year ago
It didn't get slower with the new Page tree - it only became more unpredictable, what's going on. After 30sec (Ext.Direct timeout) the second request is fired. I already fixed that for the Extension Manager, will try to disable this also for the page tree.
Updated by Alban Cousinie over 1 year ago
Great news, thanks Steffen.
After having tested, I confirm the page tree view can be reloaded without affecting the copy operation.
I have been working since 6 hours on duplicating a separate working copy of that big website I was talking above and I am not close from being done with it. The performance is really poor on that dedicated server I'm running on, which is a 2.5Ghz intel quad core running only this website. Typo3 is currently duplicating folders of tt_address records at a rate of 272 records per minute only. This is extremely low given the horsepower of the server. (I can see however only one core is being used by the copy operation since scripts cannot be threaded inside web pages).
Also I have noticed when duplicating another website, when there are plugins in pages, instead of being copied, they are re-created as references to the source page tree instead of copies. The problem it raises is when you delete the source tree, you get all the plugins in pages erased from the target tree. I don't know if it is a core or a templavoila related issue.
Regards,
Alban
Updated by Alban Cousinie over 1 year ago
Here is the result of another test : copying a single folder full of 1230 tt_adress records is done in 4 seconds. So it copies 307 records / sec, while in recursive mode the rate of copy was 4.5 records / sec
Something is really bizarre in the recursive copy algorithm.
While looking at the tt_address records duplicated using the single folder copy, and those duplicated with the recursive copy I noticed in the first case the IDs of the records contained in the folder are unchanged, so the folder is copied, but the records are the same. In the second case (recursive copy) the records ID have are different, which suggests they are truly duplicated. This should explain the performance difference.
Updated by Gerrit Code Review over 1 year 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 http://review.typo3.org/8981
Updated by Steffen Gebert over 1 year ago
- Category set to Backend User Interface
- Assignee set to Steffen Gebert
Updated by Thorsten Kahler over 1 year ago
- Subject changed from Pagegree: Copying large branches duplicates branch to Pagetree: Copying large branches duplicates branch
Updated by Gerrit Code Review about 1 year ago
Patch set 2 for branch master has been pushed to the review server.
It is available at http://review.typo3.org/8981
Updated by Gerrit Code Review about 1 year ago
Patch set 3 for branch master has been pushed to the review server.
It is available at http://review.typo3.org/8981
Updated by Gerrit Code Review 12 months ago
Patch set 1 for branch TYPO3_4-7 has been pushed to the review server.
It is available at http://review.typo3.org/11334
Updated by Gerrit Code Review 12 months ago
Patch set 1 for branch TYPO3_4-6 has been pushed to the review server.
It is available at http://review.typo3.org/11335
Updated by Gerrit Code Review 12 months ago
Patch set 1 for branch TYPO3_4-5 has been pushed to the review server.
It is available at http://review.typo3.org/11336
Updated by Steffen Gebert 12 months ago
- Status changed from Under Review to Resolved
- % Done changed from 0 to 100
Applied in changeset c35860c62319be89d695c34abf8786b55aa51fbe.
Updated by Xavier Perseguers 12 months ago
- Status changed from Resolved to Under Review
- % Done changed from 100 to 90
Updated by Steffen Gebert 12 months ago
- Status changed from Under Review to Resolved
- % Done changed from 90 to 100
Applied in changeset d4da7991eeca06a1028ab701f3decce12f7ad61e.
Updated by Gerrit Code Review 10 months ago
- Status changed from Resolved to Under Review
Patch set 1 for branch TYPO3_4-7 has been pushed to the review server.
It is available at http://review.typo3.org/13146
Updated by Gerrit Code Review 10 months ago
Patch set 1 for branch TYPO3_4-6 has been pushed to the review server.
It is available at http://review.typo3.org/13262
Updated by Stefan Galinski 8 months ago
- Status changed from Under Review to Resolved