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

ensure control stream is flushed before processing shell messages #443

Merged
merged 1 commit into from
Sep 27, 2019

Conversation

minrk
Copy link
Member

@minrk minrk commented Sep 27, 2019

previous flush was not handled at the right time with new async dispatch to ensure control stream priority

Affected case:

  • shell request 1 takes a long time to process, is blocking (no async)
  • shell request 2 arrives, is received and queued
  • control request arrives later, but before shell request 1 is processed, and has not been queued thanks to no awaits

It's possible that shell request 2 is in our Python queue, but control request is still waiting one ioloop iteration
to be handled from zmq, and we want to make sure that we still process the control message first.

This is causing test failures in IPython parallel because task abort relies on proper queue priority handling.

previous flush was not handled at the right time with new async dispatch

Affected case:

- shell request 1 takes a long time to process, is blocking (no async)
- shell request 2 arrives
- control request arrives later, but before shell request 1 is processed

It's possible that shell request 2 is in our Python queue, but control request is still waiting one ioloop iteration
to be handled from zmq.
@minrk
Copy link
Member Author

minrk commented Sep 27, 2019

@blink1073 Since this is causing failures in IPython parallel, I'd be happy to see this in 5.1.3 (#434), but I'm also okay if that ship has sailed.

Copy link
Contributor

@blink1073 blink1073 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks! We can sneak this in

@blink1073 blink1073 merged commit f0c72af into ipython:master Sep 27, 2019
@minrk minrk deleted the flush-control branch October 3, 2019 07:37
@blink1073 blink1073 modified the milestone: 5.2 Mar 17, 2020
@Carreau Carreau added this to the 5.4 milestone Jun 14, 2021
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