Page MenuHomePhabricator

maintenance/changePassword.php does not purge (APC) cache
Open, LowPublic

Description

Author: jille

Description:
When I change a users password with maintenance/changePassword.php the user can still not log in due to the user-data being cached in APC. (I use CACHE_ACCEL.)

This is probably due to APC having distinct shared-memory in CGI and CLI.


Version: 1.16.x
Severity: minor

Details

Reference
bz30850

Event Timeline

bzimport raised the priority of this task from to Medium.Nov 21 2014, 11:52 PM
bzimport set Reference to bz30850.
bzimport added a subscriber: Unknown Object (MLST).

r96732 should hopefully fix that in trunk

That doesn't look like it'll help; the fundamental problem with using APC etc for data caching is this inability for command-line scripts to update or delete the cached items that the web processes access.

This will be only one of thousands of instances of this problem; the only ways to fix it would be general, using a cache system that can be accessed by all processes -- my personal recommendation is to just set up memcached instead! ;)

(In reply to comment #2)

That doesn't look like it'll help;

Yup, I realised and reverted soon after :)

jille wrote:

A bit nasty, but certainly effective: We could let all cache-deletes (or even all actions) be done through web-requests. So the changePassword script calls http://url.to.mediawiki/w/api.php?action=cache-delete&key=user-123

That might cause problems with race-conditions however.

Aklapper lowered the priority of this task from Medium to Low.Mar 25 2015, 4:07 PM