Cache warning bug

Re: Cache warning bug

by Juha Martikainen -
Number of replies: 0

Hi

Wasn't sure where to post this, but it seems our problem seems to be at least relative to this one. 

We have a clustered Moodle (2.8.7+) environment (Load balancer + 6 Virtual front ends (Rhel7+Apache) + NFS v4 mount (Moodle data, shared cache) + DB (PostgreSql) server with failover.) 


We have started to experience problems in situations where several users are using the same Moodle area, in some cases they get the : 

"Coding error detected, it must be fixed by a programmer: Failed to unserialise data from file. Either failed to read, or failed to write." -error, this seems to coincide with error found in front end Apache error log : 

[Thu Aug 20 10:27:44.364869 2015] [:error] [pid 28426] [client IP] PHP Warning:  fopen( -shared disc address-/moodledata/cache/cachestore_file/default_application/core_config/c15-cache/c15740ce6adbf4d2b4633d7d059e73babbc267f1.cache): failed to open stream: No such file or directory in /moodle/cache/stores/file/lib.php on line 357, referer:

Also we get : (sorry for the messy output)

Error code: codingerror\n line 469 of /cache/stores/file/lib.php: coding_exception thrown\n line 372 of /cache/stores/file/lib.php: call to cachestore_file->prep_data_after_read()\n line 387 of /cache/stores/file/lib.php: call to cachestore_file->get()\n line 398 of /cache/classes/loaders.php: call to cachestore_file->get_many()\n line 1488 of /cache/classes/loaders.php: call to cache->get_many()\n line 1642 of /cache/classes/loaders.php: call to cache_application->get_many()\n line 261 of /cache/classes/factory.php: call to cache_session->__construct()\n line 201 of /cache/classes/factory.php: call to cache_factory->create_cache()\n line 174 of /cache/classes/loaders.php: call to cache_factory->create_cache_from_definition()\n line 2111 of /lib/coursecatlib.php: call to cache::make()\n line 1695 of /course/renderer.php: call to coursecat::make_categories_list()\n line 57 of /course/index.php: call to core_course_renderer->course_category()\n

So it -seems- the problem is with file locking while using shared cache. As of yet we haven't found a solution to fix this problem, I checked the Moodle Tracker (https://tracker.moodle.org/browse/MDL-41058) but that doe's not seem to actually fix the cache read lock problems.

Any help with this would be appreciated!