Install

Works with Drupal: 7.x

Using Composer to manage Drupal site dependencies

Downloads

Download tar.gz 54.92 KB
MD5: c984fbad477a5b30b3c485acc0eff26d
SHA-1: 01cfc549a5febee98404542b81f16b05a9533ea5
SHA-256: 61ace69433aca62eec26d84f6c8e17d32faf31fdca8a007bfb36b8171d707e57
Download zip 63.89 KB
MD5: 2cce6694be84cd07b829a60935efd812
SHA-1: 67e5770ccd772fb9d7776c1de3157c3a9d89d7a5
SHA-256: 0c1acc52eaf1969df1ea80cc4fe48a769efd72467e2b951a45b72c2e8c451bae

Release notes

The Happy Almost-New Year Release Candidate

We're narrowing in on a final 7.x-1.4 release to kick off a happy new year in 2015. This release candidate offers some important cleanup of the memcache module's locking functionality. Prior to this release, it was possible for a thread to renew and/or release a lock that it no longer owned. We've also added support for Memcached SASL, fully documented in the README.

If you've not already upgraded to 7.x-1.4-beta1, learn what else you're gaining in this update from our earlier release notes:

By default, the memcached daemon only stores objects up to 1 MiB in size and attempts to store larger objects would fail silently. With this release, the Drupal memcache module now automatically splits over-sized objects into smaller pieces that can be stored (and automatically puts them back together when they are retrieved from the cache). A message will be written to the watchdog log whenever an over-sized object is split into pieces, logging how long the process took and how many pieces the data was split into. Two related configurables are documented in README.txt for advanced users (memcache_data_max_length and memcache_log_data_pieces).

Stampede protection has been enhanced to support fine-grained control of which locks are affected. This is important, as it is primarily designed to benefit the following caching pattern: a miss on a cache_get() for a specific cid is immediately followed by a cache_set() for that cid. Of course, this is not the only caching pattern used in Drupal, so stampede protection can be selectively disabled for optimal performance. For example, a cache miss in Drupal core's module_implements() won't execute a cache_set until drupal_page_footer() calls module_implements_write_cache() which can occur much later in page generation. To avoid long hanging locks, stampede protection should be disabled for these delayed caching patterns. Memcache stampede protection can now be disabled for entire bins, specific cid's in specific bins, or cid's starting with a specific prefix in specific bins.

What's changed since 7.x-1.4-beta1

What’s changed since 7.x-1.3

Overview
The biggest new feature in this release is support for caching objects >1 MiB in size. However, there are many other important fixes and improvements listed below.

Details

Testing
As always, we have done comprehensive load testing to ensure that there have been no performance regressions introduced in this release. The loadtests we used are freely available at https://github.com/tag1consulting/drupal-loadtest. They assist in pre-populating a site with data and running a jMeter loadtest suite against the test website. While the tests aren’t comprehensive and only focus on common core functionality, they provide fantastic insight and detail into the performance differences between releases. (For example, the load tests caught a number of issues and greatly improved the final patch committed for #435694: >1M data writes incompatible with memcached (memcached -I 32M -m32), ensuring that this new functionality doesn't cause a performance penalty for websites that don't have over-sized cache items.)

Created by: jeremy
Created on: 29 Dec 2014 at 08:32 UTC
Last updated: 7 Jan 2015 at 09:53 UTC
Bug fixes
New features
Unsupported

Other releases