135 Commits

Author SHA1 Message Date
Russell Smith
7ff43e1acf MDL-55604 cache: Fix identifier and cacheable_object
When a cachable object is store in the static cache from
the backing store, it was incorrect serialised rather than
using the wake function.  This has been resolved and tests added.

During the investigation into cacheable_object, it was discovered
that set_identifiers never removes identifiers when you call it,
so set_identifiers(array('a')) and set_identifiers(array('b')) really
resulted in array('a','b') as the identifiers rather than 'b'.

The fix for this issue depends on the set_identifiers fix and
they have been coupled together as a result.
2016-08-24 11:26:20 +10:00
Mark Nelson
e1f53120dd MDL-54984 core_cache: corrected exception message 2016-07-27 11:42:47 +08:00
Jun Pataleta
d6806d8eaf MDL-54984 cache: Added todo tags to items for 3.3 deprecations 2016-07-26 00:46:46 +08:00
Jun Pataleta
329642b9c5 MDL-54984 cache: 3.2 final deprecations 2016-07-26 00:46:37 +08:00
Michael Aherne
f0ed09852e MDL-53256 cache: Prevent overwriting of cache config with invalid data 2016-04-01 08:52:21 +01:00
Andrew Nicols
ae3c6ee42d MDL-52346 caching: Coding style fixes 2016-02-29 14:14:01 +08:00
Andrew Nicols
8bd28ed696 Merge branch 'MDL-52346' of git://github.com/mr-russ/moodle 2016-02-29 14:12:03 +08:00
Andrew Nicols
d96a4e2a59 MDL-53206 caching: Remove accidental use of fullresult variable 2016-02-29 13:20:29 +08:00
Russell Smith
fdff8077e0 MDL-53208 caching: Update serialization rules for performance.
- We only now serialize when required, eg when the store doesn't do it.
- static acceleration now serializes on set to reduce overhead on load.
- null now works in static acceleration as we use an array for storage metadata
- static acceleration delete uses isset rather than an array_search.
2016-02-28 17:01:51 +11:00
Russell Smith
76349f871e MDL-53208 caching: Remove TTL wrapper on static acceleration.
TTL is only updated between script runs.  If it's valid
when it's added to static acceleration, it will be valid
for the entire script run.
2016-02-28 17:01:50 +11:00
Russell Smith
98d580888b MDL-53208 caching: parse_key not required for static cache.
static cache operates on a single cache instance, it can't share
with others and can use the supplied key immediately.
2016-02-28 17:01:50 +11:00
Russell Smith
80788d03e1 MDL-53208 caching: Update serialization rules for performance.
- We only now serialize when required, eg when the store doesn't do it.
- static acceleration now serializes on set to reduce overhead on load.
- null now works in static acceleration as we use an array for storage metadata
- static acceleration delete uses isset rather than an array_search.
2016-02-28 17:01:50 +11:00
Russell Smith
b2159f2d3f MDL-53208 caching: Enable dereferencing as a feature.
If the cache does all the dereferencing when it stores and loads
the objects, then the cache loaders don't need to do that work.
This is true of all caches that use something other than PHP's memory
to store their results.
2016-02-28 17:01:49 +11:00
Russell Smith
5007975d1e MDL-53206 caching: Ensure get_many and set_many dereference objects. 2016-02-28 17:01:49 +11:00
Russell Smith
4350192a8d MDL-52346 caching: Allow localstorage as a cache option.
We display a notification on screen during configuration telling
the administrator if it's safe to map this store to a local storage
cache or not.
2016-02-26 10:58:20 +11:00
Matt Petro
2351ed55e8 MDL-51482 caching: Fix unnecessary updates to lastinvalidation time 2015-10-08 11:48:17 -04:00
Frederic Massart
e75115810c MDL-50949 cache: Performance debug keeps track of hits/misses/sets 2015-07-29 12:56:10 +08:00
Marina Glancy
2d1164800c MDL-49572 cache: correctly purge cache on event 2015-05-20 14:07:58 +08:00
Sam Hemelryk
7fa57e0341 MDL-39459 cache: mode included in stats output
The cache store mode is now included in the performance stats
printed at the bottom of the page.
It is represented as either [a] [s] or [r] and a title is used
to actually state the mode.
2015-02-04 09:35:21 +13:00
Eloy Lafuente (stronk7)
c0d8831ae7 MDL-45699 behat: Don't use behat/lib.php functions in core.
behat/lib.php script should not be usually included, neither any of its functions
used within mooodle code at all. It's for exclusive use of behat and
moodle setup.php. For places requiring a different/special behavior
needing to check if are being run  as part of behat tests, use:
    if (defined('BEHAT_SITE_RUNNING')) { ...
2014-12-23 12:29:44 +01:00
Eloy Lafuente (stronk7)
093c161d46 Merge branch '45699-29' of git://github.com/samhemelryk/moodle
Conflicts:
	cache/upgrade.txt
2014-12-23 02:01:36 +01:00
Sam Hemelryk
63b159d0d4 MDL-48568 cache: stores now determine testing
Cache stores are now responsible for deciding if they are suitable
for use as the primary cache store during unit and acceptance tests

Changes are as follows:
* New method: cache_store::ready_to_be_used_for_testing
* Core cache store have been updated to override this method as
  required.
* MongoDB usesafe default changed to true to match actual default
  behaviour.
2014-12-12 09:30:46 +13:00
Sam Hemelryk
427c41ef2d MDL-45699 cache: renamed cache_config_phpunittest
Renamed cache_config_phpunittest to cache_config_testing
2014-12-09 10:51:38 +13:00
Sam Hemelryk
45a8db7f7b MDL-45699 cache: acceptance test improvements
We now use the unit test cache config class when running
acceptance tests so that the same defines are applicable there.
2014-12-09 10:51:34 +13:00
Sam Hemelryk
83bee88119 MDL-47832 cache: removed data source aggregate functionality
Cache data source aggregate functionality was found to be broken
and unused, because of this the decision was made to remove it
rather than fix it.
As it was broken we did not follow typical deprecation methods and
instead the code was removed outright with only structure
remaining and left deprecated.
2014-11-20 11:02:56 +13:00
Sam Hemelryk
ed2de2ecc7 MDL-45724 cache: fixed warning structure bug 2014-07-23 15:24:59 +12:00
Sam Hemelryk
915140c9b5 MDL-45724 cache: added cache API warnings to the admin notifications page 2014-07-21 09:48:33 +12:00
Sam Hemelryk
727c21733e MDL-45724 cache: admin screen now shows store warnings
Implemented a means by which cache store instance can communicate
warnings due to things such as conflicting configurations etc.
2014-07-18 08:29:41 +12:00
Sam Hemelryk
c9ef35e1f3 MDL-46208 cachestore_mongo: fixed invalid collection name use 2014-07-04 08:11:27 +12:00
Sam Hemelryk
eefb680d8e MDL-45513 cache: implemented defines for unit testing alternative caches 2014-05-30 08:41:07 +12:00
Sam Hemelryk
79a8ea653c MDL-45513 cache: added support to unit tests for alt cache stores 2014-05-30 08:41:07 +12:00
Damyon Wiese
4e8a350c35 Merge branch 'MDL-45618' of git://github.com/timhunt/moodle 2014-05-20 14:59:48 +08:00
Tim Hunt
5bcfd504df MDL-45618 Fix @since PHPdoc tags. 2014-05-19 17:03:04 +01:00
Eric Merrill
e39099ac36 MDL-45603 cache Fix the mappingsonly option to work as advertised. 2014-05-17 23:48:33 -04:00
Mark Nielsen
6cc9ac6cdb MDL-43734: Prevent purging of all user session cache 2014-01-16 11:22:28 -08:00
Sam Hemelryk
c2dc13a017 MDL-43349 cache: added back are_requirements_met calls 2014-01-09 23:02:14 +01:00
Sam Hemelryk
ccc22a096a MDL-43349 cache: is_ready now checks are_requirements_met by default
(Fixes the fixed forwarded static call bug reverted in a5581c7)
2014-01-07 11:47:18 +08:00
Dan Poltawski
a5581c7376 Revert "MDL-43349 cache: is_ready now checks are_requirements_met by default"
This reverts commit 2201c02d73ff2998b5019ab1173349ebbee7a5e6.
2014-01-06 14:47:12 +08:00
Sam Hemelryk
2201c02d73 MDL-43349 cache: is_ready now checks are_requirements_met by default 2014-01-02 09:55:51 +13:00
Sam Hemelryk
07658be7b4 MDL-43349 cache: init now checks store requirements are met 2014-01-02 09:44:25 +13:00
Russell Smith
0dd7c711c5 MDL-41292 cache: only update identifiers if they change 2013-12-07 11:34:40 +11:00
Sam Hemelryk
1e9f4c98e3 MDL-43033 cache: added stats logging to set_many methods 2013-12-02 09:30:04 +13:00
Sam Hemelryk
e28a953996 MDL-43033 cache: fixed display of definition stores in admin interface 2013-12-02 09:30:03 +13:00
Sam Hemelryk
d31fd615eb MDL-43033 cache: added a warning icon for mappings
We now show a warning icon with an explanatory alt if the user
has mapped a store as a mode default that doesn't not fulfill the
requirements of every known definition.
2013-12-02 09:30:03 +13:00
Sam Hemelryk
bf77c0b273 MDL-43033 cache: fixed mode map event invalidation scenario 2013-12-02 09:30:03 +13:00
Sam Hemelryk
6dbe2df208 MDL-43033 cache: added stats logging to get_many methods 2013-12-02 09:30:03 +13:00
Sam Hemelryk
1582ee126f MDL-41997 cache: dummy store now uses static acceleration for session + request 2013-09-30 09:41:03 +13:00
Sam Hemelryk
b51fed38f2 MDL-40903 cache: renamed loader method to reflect static accelerator 2013-09-25 09:05:18 +12:00
Sam Hemelryk
d074fb091d MDL-40903 cache: renamed persistcache to staticacceleration 2013-09-25 09:05:18 +12:00
Sam Hemelryk
fb0eaa3fda MDL-40903 cache: fixed up event invalidation 2013-09-25 09:04:36 +12:00