Project

General

Profile

Actions

Bug #22982

closed

tslib_cObj->getTreeList caching not able to handle really large trees

Added by form4 GmbH & Co. KG almost 14 years ago. Updated over 5 years ago.

Status:
Closed
Priority:
Could have
Assignee:
-
Category:
Caching
Target version:
-
Start date:
2010-06-24
Due date:
% Done:

100%

Estimated time:
TYPO3 Version:
4.3
PHP Version:
5.2
Tags:
Complexity:
Is Regression:
No
Sprint Focus:

Description

We have a really large tree and request all subpages of the root page to get a list of the lastUpdated pages. It is a plugin that appears on serveral pages.

This works correct for the first, uncached hit of a page, but a request of another page that contains plugin retuns a different result.

Debugging that issue shows, that on the first page approximate 13.000 page ids are relevant, but on another page only about 10.000 page ids.

It appears because the first hit is an uncached processing of the tslib_cObj->getTreeList and all page id are returned. The second request returns the cached treelist of table cache_treelist. Changing the type of the database field fixes this issue.

FIX: change field 'treelist' of table 'cache_treelist' to type LONGTEXT
(issue imported from #M14848)

Actions #1

Updated by Alexander Opitz over 10 years ago

  • Status changed from New to Needs Feedback
  • Target version deleted (0)
  • Is Regression set to No

Hi,

as this issue is very old. Does the problem still exists within newer versions of TYPO3 CMS (4.5 or 6.1)?

Actions #2

Updated by form4 GmbH & Co. KG over 10 years ago

The problem still exists , the type of the field 'treelist' of table 'cache_treelist' is still 'Text'.
We recommend to change it to type 'LONGTEXT'.

Actions #3

Updated by Alexander Opitz over 10 years ago

  • Status changed from Needs Feedback to New

I would vote for mediumblob/mediumtext.

mediumtext
A TEXT column with a maximum length of 16,777,215 (224 – 1) characters. The effective maximum length is less
if the value contains multi-byte characters. Each MEDIUMTEXT value is stored using a 3-byte length prefix
that indicates the number of bytes in the value.

For longtext/longblob in the description we can read:

The effective maximum length of LONGTEXT columns also depends on the configured maximum packet size in the client/server protocol and available memory.

So there is a need of checking packet size, which we don't have.

Actions #4

Updated by Ernesto Baschny over 10 years ago

  • Category set to Caching
  • Status changed from New to Accepted
  • Priority changed from Should have to Could have

I agree with MEDIUM*.

Actions #5

Updated by Gerrit Code Review about 9 years 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/36092

Actions #6

Updated by Mathias Schreiber about 9 years ago

  • Status changed from Under Review to New
Actions #7

Updated by Mathias Schreiber about 9 years ago

  • Status changed from New to Resolved
  • % Done changed from 0 to 100
Actions #8

Updated by Benni Mack over 5 years ago

  • Status changed from Resolved to Closed
Actions

Also available in: Atom PDF