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 configuring 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 the code.

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

    This means that network connections will go UP and can cause the server to be overloaded until memcache will become unresponsive.

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