I've had problems with wildcard flushes not working satisfactory. I've tracked the source of the problem to the implementation of memcache_multihash_cid.

The problem is that results are cached in the static array $hashes using only $cid as key. This causes incorrect behavior when subsequent calls are made with identical $cid but different $table. The second request will receive all the hashes of the first request which is wrong.

I've written a patch for 6-1 that fixes this and solves my problems with wildcard flushes. The code in 7-1 is similar and also in need of similar patching.

CommentFileSizeAuthor
fix-collisions-in-multihash-cid.patch961 bytesjkarlsson

Comments

jeremy’s picture

Status: Needs review » Fixed

Good catch!

Fix committed in 6.x.1-x-dev:
http://drupal.org/cvs?commit=430234

And 7.x-1.x-dev:
http://drupal.org/cvs?commit=430238

Thanks!

Status: Fixed » Closed (fixed)

Automatically closed -- issue fixed for 2 weeks with no activity.