Work around strptime threading issue

There is an open bug[1] in python strptime when used in multi-threaded
applications. We have seen this occur in the Octavia test jobs[2].
This patch works around the bug by loading strptime early.

[1] https://bugs.python.org/issue7980
[2] https://logs.opendev.org/37/673337/12/check/ \
    octavia-v2-act-stdby-iptables-dsvm-py2-scenario/440c965/controller/logs \
    /screen-o-cw.txt.gz?level=ERROR#_Aug_09_23_54_29_426364

Change-Id: I932ad625595333e97b0ead074ce64a7341af338d
This commit is contained in:
Michael Johnson 2019-08-09 19:41:42 -07:00
parent 6e4da85064
commit 0720397d5c
1 changed files with 3 additions and 0 deletions

View File

@ -14,6 +14,7 @@
#
import concurrent.futures
import datetime
from oslo_config import cfg
from taskflow import engines as tf_engines
@ -30,6 +31,8 @@ class BaseTaskFlowEngine(object):
"""
def __init__(self):
# work around for https://bugs.python.org/issue7980
datetime.datetime.strptime('2014-06-19 22:47:16', '%Y-%m-%d %H:%M:%S')
self.executor = concurrent.futures.ThreadPoolExecutor(
max_workers=CONF.task_flow.max_workers)