MDL-56748 cache: Removes cache definition instances in purge_store
authorAndrew Nicols <andrew@nicols.co.uk>
Fri, 4 Nov 2016 02:56:34 +0000 (10:56 +0800)
committerAndrew Nicols <andrew@nicols.co.uk>
Fri, 4 Nov 2016 05:26:46 +0000 (13:26 +0800)
commit70aa00de87338836e995dafb21256beee017953b
tree0fa1b304ca329bb948830e19a6918a4ab271eef5
parentda31fc5bff824923d32d9cf6e134366d5f0b670e
MDL-56748 cache: Removes cache definition instances in purge_store

Previously a purge_store was only purging caches but it was leaving a
reference to the store instance for the cache definition.

As a result, the cache was never cleared away correctly and, in cases
where the cache store makes a TCP connection to a backend system, the
number of open sockets was increasing for each store instance.

After a complete purge, as found in the unit test reset, the cache
definitions should be both purged and removed.

This change should also lead to a drop in memory consumption for unit
tests as there will no longer be references to unused definition stores.
cache/classes/factory.php