Yoga Series Release Notes

2.10.0

New Features

  • Add new options (hashclient_retry_attempts,hashclient_retry_delay,dead_timeout) to allow to configure pymemcache’s HashClient usethrough dogpile.cache’s pymemcache backend. Those options exposepymemcache params that allow to configure the failover for memcachedcluster.

  • Add new options (enable_retry_client,retry_attempts,retry_delay) to add retry mechanisms to the pymemcache backend.

  • New options (enable_socket_keepalive,socket_keepalive_idle,socket_keepalive_interval,socket_keepalive_count) allow to useand configure pymemcache’s socket keepalive capabilities.

2.7.0

New Features

  • Added a new memcached driver that uses pymemcache through dogpile.cache.

  • Configuration optionmemcache_pool_flush_on_reconnect added to control if flush will be sent to memcached server after reconnect.

Bug Fixes

  • [bug 1888394]If a memcache server disappears and then reconnects when multiple memcacheservers are used (specific to the python-memcached based backends) it ispossible that the server will contain stale data. To avoid this, paramflush_on_reconnect was used in code.

    But unfortunately this option is causing another issue.If memcache server disappears, or client had broken connection to memcache server,clients start to flush server on reconnect.

    This means that network connections will go UP and can cause server to be overloadeduntil memcache will be unresponsive.

    Simply said this option can cause loops of flushes and overloaded memcached servers.This change is moving optional parameterflush_on_reconnect to oslo.cache config.

2.2.0

Bug Fixes

  • Fix the memcache_pool backend broken in oslo.cache’s version 2.1.0by switching from a python-memcache based client to a pymemcache basedclient. Reintroducing the client based on python-memcached as thedefault client for the memcache_pool dogpile backend.

2.1.0

Bug Fixes

  • Switch from python-memcached to pymemcache for memcache_pool.This avoids issues with thread.local usage and fixes errorsseen with inheritance. This is only applicable with dogpile.cachememcached backend.

2.0.0

Upgrade Notes

  • Python 2.7 support has been dropped. The minimum version of Python nowsupported by oslo.cache is Python 3.6.

1.37.0

Upgrade Notes

  • The default value formemcache_socket_timeout has been lowered from 3seconds to 1 second. The positive side-effect of this can be found indownstreamchanges. If youdeployment relies explicitly on a timeout of 3 seconds, please set thatoverride in your configuration.

1.34.0

Bug Fixes

  • [bug 1819957]If a memcache server disappears and then reconnects when multiple memcacheservers are used (specific to the python-memcached based backends) it ispossible that the server will contain stale data. The default is now tosupply theflush_on_reconnect optional argument to the backend. Thismeans that when the service connects to a memcache server, it will flushall cached data in the server. This change only impacts the pooled backendas it is the most likely (with heavy use of greenlet) to be impactedby the problem and is the recommended production configuration.

    See the help from python-memcached:

    @param flush_on_reconnect: optional flag which prevents a

    scenario that can cause stale data to be read: If there’s morethan one memcached server and the connection to one isinterrupted, keys that mapped to that server will getreassigned to another. If the first server comes back, thosekeys will map to it again. If it still has its data, get()scan read stale data that was overwritten on anotherserver. This flag is off by default for backwardscompatibility.

1.31.1

Other Notes

  • [bug 1743036] Thebackend_argument value(s) forurl when configuring memcache did not properly handle multiple servers. This is because the URL was passed as a string (comma delimited) instead of a list to the memcache library/client. Theurl argument is now special cased and will split the string on a comma so that it mirrors the behavior of the ListOpt used bymemcache_servers option.

1.30.0

New Features

  • memcache_socket_timeout is changed to float, given the same default value‘3.0’.

1.22.0

New Features

  • Added a new etcd3gw driver that uses the etcd 3.x grpc-gatewayHTTP “/v3alpha” API to cache key/value pairs.

1.9.0

Other Notes

  • Switch to reno for managing release notes.