Public bug reported:
Description
===========
we are running a victoria openstack cluster (python3). and I observe
that everytime when an openstack compute service list executed, nova-api
will create a new connection to memcache. Actually there are several
reasons to cause this behavior
1. when running natively with eventlet's wsgi server, everytime a new coroutine
is created to host web request and this causes keystonemiddle auth_token which
uses python-memcached to reconnect to memcahced all the time
2. os-services will trigger nova.availability_zones.set_availability_zones and
it will update cache every time, since cellv2 is enabled, this method is
running in an co-routine as well
3. python-memcached's Client is inheriting from threading.local which will be
monkey_patched to use eventlet's implementation and thus for every co-routine
context it will create a new connection
Steps to reproduce
==================
1. Patch def _get_socket and print connection
2. execute openstack compute service list
Expected result
===============
Maintain stable connections to memcached
Actual result
=============
Reconnects
Environment
===========
1. devstack victoria openstack
** Affects: nova
Importance: Undecided
Status: New
--
You received this bug notification because you are a member of Yahoo!
Engineering Team, which is subscribed to OpenStack Compute (nova).
https://bugs.launchpad.net/bugs/1995028
Title:
list os-service causing reconnects to memcached all the time
Status in OpenStack Compute (nova):
New
Bug description:
Description
===========
we are running a victoria openstack cluster (python3). and I observe
that everytime when an openstack compute service list executed, nova-
api will create a new connection to memcache. Actually there are
several reasons to cause this behavior
1. when running natively with eventlet's wsgi server, everytime a new
coroutine is created to host web request and this causes keystonemiddle
auth_token which uses python-memcached to reconnect to memcahced all the time
2. os-services will trigger nova.availability_zones.set_availability_zones
and it will update cache every time, since cellv2 is enabled, this method is
running in an co-routine as well
3. python-memcached's Client is inheriting from threading.local which will be
monkey_patched to use eventlet's implementation and thus for every co-routine
context it will create a new connection
Steps to reproduce
==================
1. Patch def _get_socket and print connection
2. execute openstack compute service list
Expected result
===============
Maintain stable connections to memcached
Actual result
=============
Reconnects
Environment
===========
1. devstack victoria openstack
To manage notifications about this bug go to:
https://bugs.launchpad.net/nova/+bug/1995028/+subscriptions
--
Mailing list: https://launchpad.net/~yahoo-eng-team
Post to : [email protected]
Unsubscribe : https://launchpad.net/~yahoo-eng-team
More help : https://help.launchpad.net/ListHelp