cinder run the tooz heartbeat into a real thread (with tpool.execute()) instead of a greenthread:
https://github.com/openstack/cinder/blob/master/cinder/coordination.py#L90
So anything that may call the eventlet hub.switch() (monkeypatch IO, lock stuff, spawn, ...) during the tooz heartbeat() can trigger the bug what ever the used driver.
The recent lock added to the etcd3gw driver in tooz just make it happen a lot.
https://review.openstack.org/#/c/447079/ should fix the issue.
cinder run the tooz heartbeat into a real thread (with tpool.execute()) instead of a greenthread:
https:/ /github. com/openstack/ cinder/ blob/master/ cinder/ coordination. py#L90
So anything that may call the eventlet hub.switch() (monkeypatch IO, lock stuff, spawn, ...) during the tooz heartbeat() can trigger the bug what ever the used driver.
The recent lock added to the etcd3gw driver in tooz just make it happen a lot.
https:/ /review. openstack. org/#/c/ 447079/ should fix the issue.