Closed romain-grecourt closed 1 year ago
Seems like a rather OS specific behavior. There's a few things that we can potentially do:
IOException
and either (a) try to read the response if possible or (b) simply accept the test as valid.In general, handling the exception seems like a reasonable option. I would volunteer to explore this if I had a Win VM ready to go. Perhaps someone with such a VM or a machine can try these options.
Updated test in @tvallin private branch. We can close this issue after further testing is completed.
@tvallin Can we close this issue?
Yes, it can be closed !
io.helidon.webserver.MaxPayloadSizeTest
fails on Windows withjava.io.IOException: An established connection was aborted by the software in your host machine
.This is intermittent, however it fails half of the time in my local Windows VM. This was reported by @tvallin while working on #6717.
See the full stack trace:
Here is some relevant snippet of logs with level
ALL
when the test fails:Here is the equivalent when the test passes:
The key difference is that when it works we get this:
However when it fails we get this:
Since JDK13 and JEP 353 Windows Socket error codes use system messages. The error message
An established connection was aborted by the software in your host machine
corresponds to the following:10053
An established connection was aborted by the software in your host computer, possibly due to a data transmission time-out or protocol error.
I found a good explanation of this issue here: https://www.chilkatsoft.com/p/p_299.asp Here is a TLDR:
The test has been passing reliably on UNIX (Linux and MacOS), however it is clearly not reliable on Windows and it does not seem to be something we can fix with configuration.
We should avoid running this test on Windows for now.
If the test starts failing intermittently on UNIX, we can decide to re-write it to accept IOException as valid.