Closed (fixed)
Project:
Memcache API and Integration
Version:
8.x-2.x-dev
Component:
Code
Priority:
Critical
Category:
Bug report
Assigned:
Unassigned
Issue tags:
Reporter:
Created:
21 Dec 2016 at 11:52 UTC
Updated:
18 Sep 2018 at 07:49 UTC
Jump to comment: Most recent
Comments
Comment #2
damiankloip commentedMemcache deleteAll() currently just calls invalidateAll(), So I guess that's the reason. I guess config code using the cache uses $allowed_invalid maybe? Or do you have nay other thoughts about what the problem is?
EDIT: No, I don't think it does use allow invalid..
Comment #3
vurt commentedI was able to reproduce the problem with a similar test:
- create db dump of working drupal db
- drush cr
- enable a module
- restore the db dump
- drush cr
- enable module fails
The quickfix from podarok helps...
Comment #4
bkosborneNote that despite configuring a site to use memcache backend as the default via
$settings['cache']['default'] = 'cache.backend.memcache';, the site will still use a the "chainedfast" backend for bootstrap, config, and discovery caches.See https://drupal.org/node/2327507 and https://drupal.org/node/2754947 change records for more information on this.
Perhaps this is relevant since the issue at hand is related to the config cache, which uses a chained backend. I believe the "chained" aspect of this is that it first will use APCu cache as a front cache, and then fallback to the default, which in our cases will be memcache.
So, maybe the problem is not with memcache, but instead with APCu.
Comment #5
bkosborneAlso, I haven't taken the time to try and reproduce this myself, but I could suggest the following to try and fix, assuming APCu is the culprit:
Comment #6
damiankloip commentedYes, I would try that and see if you still have problems, or make sure the chained fast backend is still using the database, you can do that by setting the memcache backends explicitly, or adding 'cache.backend.database' as an additional parameter to the 'cache.backend.chainedfast' service definition.
Comment #7
vurt commentedI wanted to add that this problem is not too serious:
For the daily workflow using configuration export and import memcache works fine as a backend for the config. The problem only exists when a new database is used - which happens less often (and for some people never...).
Comment #8
slydevil commentedMy issue is with managing fields on a content type.
The same thing happens when I try to manage form display or manage field display.
The only setting I have is this:
$settings['cache']['default'] = 'cache.backend.memcache';If I add the suggestion from comment #5, it makes no difference:
But setting the config cache backend to database definitely fixes the issue, however it's not ideal in my opinion:
$settings['cache']['bins']['config'] = 'cache.backend.database';Edit: Using Memcached with PHP 7.0.3 via socket file.
Comment #9
webchickTagging as a D8 stable release blocker, per #2989594: [META] Create a stable release of Memcache module for Drupal 8.
Comment #10
catchPostponing this on #2484595: Add mechanism to support invalidateAll and deleteAll which is the most likely culprit.
Comment #11
fabianx commentedBack to active, the issue is in.
Needs to be re-tested now
Comment #12
vurt commentedI did test my testcase from #3 again an now it works!
I also checked #8 and I could not reproduce the problem. @slydevil It may be a good idea that you test the current version.
Comment #13
damiankloip commentedok, closing for now. @slydevil, if you test again and still hit issues, please re-open. Thanks!