only in patch2: unchanged: --- a/core/lib/Drupal/Core/Config/StorageComparer.php +++ b/core/lib/Drupal/Core/Config/StorageComparer.php @@ -2,6 +2,7 @@ namespace Drupal\Core\Config; +use Drupal\Component\Serialization\PhpSerialize; use Drupal\Core\Cache\MemoryBackend; use Drupal\Core\Config\Entity\ConfigDependencyManager; use Drupal\Core\DependencyInjection\DependencySerializationTrait; @@ -99,14 +100,17 @@ class StorageComparer implements StorageComparerInterface { * The configuration manager. */ public function __construct(StorageInterface $source_storage, StorageInterface $target_storage, ConfigManagerInterface $config_manager) { + // @todo All these direct object initializations are bypassing the service + // configurations. That has to be fixed. + $php_serialize = new PhpSerialize(); // Wrap the storages in a static cache so that multiple reads of the same // raw configuration object are not costly. - $this->sourceCacheStorage = new MemoryBackend(); + $this->sourceCacheStorage = new MemoryBackend($php_serialize); $this->sourceStorage = new CachedStorage( $source_storage, $this->sourceCacheStorage ); - $this->targetCacheStorage = new MemoryBackend(); + $this->targetCacheStorage = new MemoryBackend($php_serialize); $this->targetStorage = new CachedStorage( $target_storage, $this->targetCacheStorage only in patch2: unchanged: --- a/core/tests/Drupal/KernelTests/Core/Cache/BackendChainTest.php +++ b/core/tests/Drupal/KernelTests/Core/Cache/BackendChainTest.php @@ -17,9 +17,9 @@ protected function createCacheBackend($bin) { // We need to create some various backends in the chain. $chain - ->appendBackend(new MemoryBackend()) - ->prependBackend(new MemoryBackend()) - ->appendBackend(new MemoryBackend()); + ->appendBackend(new MemoryBackend(\Drupal::service('serialization.phpserialize'))) + ->prependBackend(new MemoryBackend(\Drupal::service('serialization.phpserialize'))) + ->appendBackend(new MemoryBackend(\Drupal::service('serialization.phpserialize'))); \Drupal::service('cache_tags.invalidator')->addInvalidator($chain); only in patch2: unchanged: --- a/core/tests/Drupal/Tests/Core/Cache/BackendChainImplementationUnitTest.php +++ b/core/tests/Drupal/Tests/Core/Cache/BackendChainImplementationUnitTest.php @@ -2,6 +2,7 @@ namespace Drupal\Tests\Core\Cache; +use Drupal\Component\Serialization\PhpSerialize; use Drupal\Core\Cache\BackendChain; use Drupal\Core\Cache\Cache; use Drupal\Core\Cache\MemoryBackend; @@ -45,10 +46,11 @@ class BackendChainImplementationUnitTest extends UnitTestCase { protected function setUp() { parent::setUp(); + $php_serialize = new PhpSerialize(); // Set up three memory backends to be used in the chain. - $this->firstBackend = new MemoryBackend(); - $this->secondBackend = new MemoryBackend(); - $this->thirdBackend = new MemoryBackend(); + $this->firstBackend = new MemoryBackend($php_serialize); + $this->secondBackend = new MemoryBackend($php_serialize); + $this->thirdBackend = new MemoryBackend($php_serialize); // Set an initial fixed dataset for all testing. The next three data // collections will test two edge cases (last backend has the data, and only in patch2: unchanged: --- a/core/tests/Drupal/Tests/Core/Cache/ChainedFastBackendTest.php +++ b/core/tests/Drupal/Tests/Core/Cache/ChainedFastBackendTest.php @@ -2,6 +2,7 @@ namespace Drupal\Tests\Core\Cache; +use Drupal\Component\Serialization\PhpSerialize; use Drupal\Core\Cache\ChainedFastBackend; use Drupal\Core\Cache\MemoryBackend; use Drupal\Tests\UnitTestCase; @@ -47,7 +48,7 @@ public function testGetDoesntHitConsistentBackend() { $consistent_cache->expects($this->never()) ->method('getMultiple'); - $fast_cache = new MemoryBackend(); + $fast_cache = new MemoryBackend(new PhpSerialize()); $fast_cache->set('foo', 'baz'); $chained_fast_backend = new ChainedFastBackend(