Random timeout on gate-trove-python34-db
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
OpenStack DBaaS (Trove) |
In Progress
|
Undecided
|
Unassigned |
Bug Description
Running the unit tests on Python 3 sometimes takes 37 minutes, whereas the usual duration is closer to 15 minutes.
Example with https:/
(a) May 9 1:14 AM: "gate-trove-
(b) May 10 1:48 AM: "gate-trove-
Duration of Python 2 unit tests:
(a) "Ran 398 tests in 34.702s"
(b) "Ran 398 tests in 52.965s"
Duration of Python 3 unit tests:
(a) "Ran 686 tests in 15.971s"
(b) "Ran 686 tests in 1581.090s"
Building .tox/py27 took:
(a) ~46 seconds
(b) ~77 seconds
Building .tox/py34 took:
(a) ~7 min 51 sec
(b) ~8 min 46 sec
Notes:
* the number of Python 3 unit tests is supposed to be much lower, since we only run a subset of unit tests known to pass on Python 3
* even on Python 2, the timings change a lot. Maybe the CI uses slaves with variable performance?
* building the tox env takes 7x longer on Python 3: it looks like Python 2 gets binary wheel packages for many packages, whereas Python 3 gets tarball and has to rebuild locally wheel packages: see all "Running setup.py bdist_wheel for <package name>: started" lines in tox/py34-
* the real bug is that running unit tests on Python 3 sometimes takes 1581 seconds instead of 15 seconds, 100x slower
Changed in trove: | |
assignee: | Victor Stinner (victor-stinner) → nobody |
> building the tox env takes 7x longer on Python 3: (...)
I proposed the fix https:/ /review. openstack. org/#/c/ 316890/ to precompile also wheel packages for Python 3 on the OpenStack infra.