I’m maintaining a pretty big news site, with many nodes and with many users who can create and edit nodes. The site is using the Paragraphs and the Memcache modules.
Editors can rearrange the blocks on the front page, add and edit articles. The problem is that occasionally (and sometimes pretty often) when editors do something on the site, the changes won’t be immediately visible; they won’t be even visible in the edit form when editors try to edit the node again. It will appear after few edits.
I know the change is effective since the first edit, as a call to dmemcache_object()->flush()
makes the changes visible. This makes me think it’s a problem with Memcache. However, replacing it with Redis doesn’t fix the issue.
Core cache is basically disabled as we are caching everything in the CDN, but editors have direct access to the site, without CDN, and experience this problem there, so it’s not CDN related. The following is the cache configuration.
I cannot reproduce the problem locally, even if I’m also using Memcache/Redis.
Sometime, when editors create a new node with paragraphs, the node appears "empty." During the edit, there are also no paragraphs. However dmemcache_object()->flush()
seems to fix this problem. (I tried it few times.) Adding a call to dmemcache_object()->flush()
in a save/update hook implementation doesn’t help, though.
What can I do to diagnose and fix this problem? It is particularly hard to approach because it happens only on the production server.
When I use the Redis module and add the following lines to the settings.php file, I get a problem with the path aliases, which aren’t shown anymore.
$conf['path_inc'] = 'sites/all/modules/contrib/redis/redis.path.inc';
When that line is removed and the cache is cleared, the path aliases are correctly shown.
Also, the database is located on a different server.
Sponsored by SupremePR