Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Only allow one sync read to happen at a time. #35412

Merged
merged 1 commit into from
Aug 12, 2016

Conversation

s0undt3ch
Copy link
Collaborator

@s0undt3ch s0undt3ch commented Aug 12, 2016

What does this PR do?

Makes sure that only one sync read happens at a time, thus avoiding:

Traceback (most recent call last):
  File "/var/lib/jenkins/.pyenv/versions/2.7.9/lib/python2.7/multiprocessing/process.py", line 258, in _bootstrap
    self.run()
  File "/var/lib/jenkins/workspace/raas/pr/1275/.virtualenvs/Salt-Py2.7.9/lib/python2.7/site-packages/salt/utils/process.py", line 613, in _run
    return self._original_run()
  File "/var/lib/jenkins/workspace/raas/pr/1275/.virtualenvs/Salt-Py2.7.9/lib/python2.7/site-packages/salt/utils/event.py", line 1092, in run
    for event in events:
  File "/var/lib/jenkins/workspace/raas/pr/1275/.virtualenvs/Salt-Py2.7.9/lib/python2.7/site-packages/salt/utils/event.py", line 620, in iter_events
    data = self.get_event(tag=tag, full=full, match_type=match_type)
  File "/var/lib/jenkins/workspace/raas/pr/1275/.virtualenvs/Salt-Py2.7.9/lib/python2.7/site-packages/salt/utils/event.py", line 579, in get_event
    ret = self._get_event(wait, tag, match_func, no_block)
  File "/var/lib/jenkins/workspace/raas/pr/1275/.virtualenvs/Salt-Py2.7.9/lib/python2.7/site-packages/salt/utils/event.py", line 484, in _get_event
    raw = self.subscriber.read_sync(timeout=wait)
  File "/var/lib/jenkins/workspace/raas/pr/1275/.virtualenvs/Salt-Py2.7.9/lib/python2.7/site-packages/salt/transport/ipc.py", line 664, in read_sync
    return ret_future.result()
  File "/var/lib/jenkins/workspace/raas/pr/1275/.virtualenvs/Salt-Py2.7.9/lib/python2.7/site-packages/tornado/concurrent.py", line 237, in result
    raise_exc_info(self._exc_info)
  File "/var/lib/jenkins/workspace/raas/pr/1275/.virtualenvs/Salt-Py2.7.9/lib/python2.7/site-packages/tornado/gen.py", line 285, in wrapper
    yielded = next(result)
  File "/var/lib/jenkins/workspace/raas/pr/1275/.virtualenvs/Salt-Py2.7.9/lib/python2.7/site-packages/salt/transport/ipc.py", line 641, in _read_sync
    raise exc_to_raise  # pylint: disable=E0702
AssertionError: Already reading
Process Reactor-7:

Previous Behavior

The above exception would be shown multiple times

Tests written?

No

@cachedout
Copy link
Contributor

We should also run through this on Py3 before we get it in.

@grep4linux
Copy link
Contributor

I tried the fix and the salt * state.highstate does not return.

@cachedout
Copy link
Contributor

@grep4linux Can you give us any more information? Debug logs, output, etc?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants