NSXv - log the call stack while locking
Having the call stack while locking successully will help with troubleshooting deadlocks and locking issues. Change-Id: I2c431e66c5ea6a05197e3f9a33831ee6b4bae42d
This commit is contained in:
parent
91fecee67c
commit
1ef09c105c
@ -14,6 +14,7 @@
|
|||||||
# under the License.
|
# under the License.
|
||||||
|
|
||||||
import os
|
import os
|
||||||
|
import traceback
|
||||||
|
|
||||||
from oslo_concurrency import lockutils
|
from oslo_concurrency import lockutils
|
||||||
from oslo_config import cfg
|
from oslo_config import cfg
|
||||||
@ -34,11 +35,17 @@ class LockManager(object):
|
|||||||
@staticmethod
|
@staticmethod
|
||||||
def get_lock(name, **kwargs):
|
def get_lock(name, **kwargs):
|
||||||
if cfg.CONF.locking_coordinator_url:
|
if cfg.CONF.locking_coordinator_url:
|
||||||
return LockManager._get_lock_distributed(name)
|
lck = LockManager._get_lock_distributed(name)
|
||||||
|
LOG.debug('Lock %s taken with traceback %s', name,
|
||||||
|
traceback.extract_stack())
|
||||||
|
return lck
|
||||||
else:
|
else:
|
||||||
# Ensure that external=True
|
# Ensure that external=True
|
||||||
kwargs['external'] = True
|
kwargs['external'] = True
|
||||||
return LockManager._get_lock_local(name, **kwargs)
|
lck = LockManager._get_lock_local(name, **kwargs)
|
||||||
|
LOG.debug('Lock %s taken with traceback %s', name,
|
||||||
|
traceback.extract_stack())
|
||||||
|
return lck
|
||||||
|
|
||||||
@staticmethod
|
@staticmethod
|
||||||
def _get_lock_local(name, **kwargs):
|
def _get_lock_local(name, **kwargs):
|
||||||
|
Loading…
x
Reference in New Issue
Block a user