-
Notifications
You must be signed in to change notification settings - Fork 1
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
Refactor, add tests, upgrade http4s #2
Conversation
// Numbers below may vary on different computers | ||
object blaze { | ||
val magicRequestPayloadSize = 65398 | ||
val magicResponsePayloadSize = 81161 | ||
} | ||
|
||
object ember { | ||
val magicRequestPayloadSize = 65337 | ||
} | ||
|
||
object jdkhttp { | ||
val magicRequestPayloadSize = 8 * 65416 + 1 // 523329 | ||
val magicResponsePayloadSize = 8 * 8177 + 1 // 65417 | ||
} | ||
|
||
object sttp { | ||
val magicRequestPayloadSize = 65289 | ||
val magicResponsePayloadSize = 81161 | ||
} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Note these magic numbers.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Hi @slve
val magicRequestPayloadSize = 65398
this is 65535 - default request headers length
number, I suspect it is true for other clients
Just dropping a note that I'm not ignoring this, just busier than expected. I appreciate the effort hunting this down, and will get to it ASAP. |
Hi Ross, no problem at all, I can fully understand that. Thanks for the update. |
I'm so sorry. I lost all track of this. Are there still flaky tests here, or have we indirectly fixed this? |
val uri = uri"http://localhost:8099" | ||
val body = "x" * requestPayloadSize | ||
val req = Request[IO](POST, uri).withEntity(body) | ||
val response = "x" * responsePayloadSize |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Would be nice to put here z
for example, to distinguish request/response bytes in debugger.
Hi @rossabaker it is still reproducible on both |
Hi @rossabaker, completely understandable, no problem at all :) @eugene-cheverda unfortunately I won't have much time this year to |
Added MagicNumber* tests to represent the behavior in my local environment.
These tests all tend to pass, while some that titled with "Tends to..." fail sometimes.
On the other hand Http4sClientsSuite and SoftwareMillClientsSuite represent expected behavior,
they pass on small-, while fail on larger request payload sizes.