Wallaby Series Release Notes


New Features

  • Add new options (hashclient_retry_attempts, hashclient_retry_delay, dead_timeout) to allow to configure pymemcache’s HashClient use through dogpile.cache’s pymemcache backend. Those options expose pymemcache params that allow to configure the failover for memcached cluster.

  • 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 use and configure pymemcache’s socket keepalive capabilities.


New Features

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

  • Configuration option memcache_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 memcache servers are used (specific to the python-memcached based backends) it is possible that the server will contain stale data. To avoid this, param flush_on_reconnect was used in code.

    But unfortunatelly 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 overloaded until memcache will be unresponsive.

    Simply said this option can cause loop of flushs and overloaded memcached servers. This change is moving optional parameter flush_on_reconnect to oslo.cache config.