-
Notifications
You must be signed in to change notification settings - Fork 1.2k
iocp reactor is duplicating/losing outgoing data #9446
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
Comments
@hawkowl, sorry to assign to you directly but since you are working on py3.7 support for the iocp reactor you are hopefully the right person. I am not 100% the proposed solution in the PR is how it should be done but the new Andreas |
Un-assigning because I don't believe this requires a specific reviewer. Please feel free to entice hawkie to review it by other means though :) |
In changeset 92c1353
|
Writing new data to a saturated TCP connection can cause outgoing data to be duplicated. IMHO the problem is
iocpreactor.abstract.FileHandle.doWrite
can get called again before._handleWrite
got the chance to update the bytes already written.The new
test_tcp.LargeBufferTests
writes the last byte in a separate.write()
. Sadly, behaviour is not fully deterministic. Most runs fail on iocp reactor with too many bytes received, some fail with not enough bytes received (have not understood this to date), and very few run ok.Everything works fine on the select reactor.This PR 1025 should be a fix.
Attachments:
Searchable metadata
The text was updated successfully, but these errors were encountered: