[DCOM-32] Memcache cache relies on deprecated functions Created: 21/Dec/10  Updated: 28/Mar/12  Resolved: 27/Aug/11

Status: Resolved
Project: Doctrine Common
Component/s: Caching
Affects Version/s: 2.0.0-RC2
Fix Version/s: 2.2
Security Level: All

Type: Bug Priority: Major
Reporter: Sebastian Hoitz Assignee: Guilherme Blanco
Resolution: Fixed Votes: 0
Labels: None


The method getIds() in MemcacheCache relies on the old "cachedump" stat type.

But as you can read here: http://de2.php.net/manual/en/memcache.getextendedstats.php this has been removed due to security reasons.

Comment by Sebastian Hoitz [ 21/Dec/10 ]

Adding this to memcached before getting the extended stats cachedump fixed this issue for me:

if(!is_int($slabId)) {
Comment by Guilherme Blanco [ 15/Feb/11 ]

This issue doesn't seen to be valid anymore based on commit of @hobodave on Jan 29th.

Please reopen if it is still valid. I could not reproduce.

Comment by Guilherme Blanco [ 18/Apr/11 ]

Memcache daemon 1.4.5 do not provide cachedump and triggers a couple of issues all around.
Here is a link that gives more information: http://www.pecl.php.net/bugs/bug.php?id=20375&edit=3

We need to think on a workaround since current state of Doctrine 2 is unusable with recent memcache.

Comment by Denis [ 07/May/11 ]

There additionally seems to be a hard-coded limit to the size of the dump:



Comment by Guilherme Blanco [ 27/Aug/11 ]

Fixed in master by this commit: https://github.com/doctrine/common/commit/486169851ea87b3e14ed45d5bfd7d07b1d41af65

Comment by Przemek Sobstel [ 28/Mar/12 ]

@Guilherme, your fix introduced big performance issue as now for each fetch() call there are always 2 additional calls, which is kind of big overhead. See https://github.com/doctrine/common/pull/125 for details.

Generated at Wed Nov 25 13:39:45 EST 2015 using JIRA 6.4.10#64025-sha1:5b8b74079161cd76a20ab66dda52747ee6701bd6.