pytest-dev / pytest-dev/pytest-xdist
Node down when number of workers are increased.
Nobody has claimed this yet.
- Dominant language
- Python
- Stars
- 1.9k
- Forks
- 288
- Avg merge
- 9h 30m
- Merged PRs (30d)
- 2
Description
When given this ini file the test suite executes correctly
[pytest]
addopts = -n 5 --dist load --boxed --timeout=90 -v --durations=32 --lf
norecursedirs = ui zetc gracefulShutdown
gw0 = dialplan conf/AgentLogin
gw1 = conf/DN
gw2 = dm/AdvancedSearch dm/Bulk dm/CME dm/IVR dm/Profile
gw3 = voicemail conf/AgentGroup conf/System monitoring tserv
gw4 = conf/Person conf/Place dm/Device dm/Features dm/FirmwareUpgrade
When number of workers are increased to 9. The test suite fails
[pytest]
addopts = -n 9 --dist load --boxed --timeout=90 -v --durations=32 --lf
norecursedirs = ui zetc gracefulShutdown
gw0 = dialplan monitoring
gw1 = voicemail dm/Profile
gw2 = conf/AgentLogin dm/Device
gw3 = conf/DN dm/Bulk
gw4 = conf/Person dm/CME
gw5 = conf/Place dm/Features
gw6 = conf/AgentGroup dm/IVR
gw7 = conf/System dm/FirmwareUpgrade
gw8 = dm/AdvancedSearch tserv
it fails with the following error
[gw8] node down: Traceback (most recent call last):
File "/var/lib/jenkins/jobs/fs-integration-test-standalone/workspace/env27/lib/python2.7/site-packages/execnet/gateway_base.py", line 816, in _local_receive
callback(data) # even if channel may be already closed
File "/var/lib/jenkins/jobs/fs-integration-test-standalone/workspace/env27/src/pytest-xdist/xdist/slavemanage.py", line 316, in process_from_remote
self.config.pluginmanager.notify_exception(excinfo)
AttributeError: 'PytestPluginManager' object has no attribute 'notify_exception'
I have searched but couldn't find the possible reasons for the error.
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Reproduce the failure with the two pytest configurations, then inspect xdist/slavemanage.py around line 316 and execnet/gateway_base.py around line 816. Trace why PytestPluginManager lacks notify_exception when nine workers are used; done means the nine-worker suite no longer reports the gw8 node-down error.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python
- Domain
- distributed-systems, testing
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 30/100