-
Notifications
You must be signed in to change notification settings - Fork 15
Pure non blocking IMAP request execution #58
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
BeforeHuge variability, fron 285ms (one time), 700ms several time, and 3s + mean time some times too. Tests were unreliable. Backend was partially stressed, results hardly exploitable... AfterConstantly reproduced! Which makes the testing more trustworthy. ConclusionThis change makes Gatling IMAP meaningfull for larger scale injection scenario that actually really stress the backends. |
Don't forget to push the PR as I didn't see one regarding this yet :) |
It depends on non released changes... |
yahoo/imapnio#118 is merged |
https://mvnrepository.com/artifact/com.yahoo.imapnio/imapnio.core/4.3.8 released. Time to rebase @chibenwa master branch... |
What
ImapAsyncSession returns a Java7 future that supports only
get()
operation.This forces us to await its value in a fork join pool:
Also this leads to many threads being blocked, thread count is proportional to the count of in-flight requests, capped at 256.
Here's what JSTACK has to say regarding this.
How to fix
CompletableFuture
facade to imapNIO cf API with CompletableFuture/Stage instead of/addition to Future yahoo/imapnio#86The text was updated successfully, but these errors were encountered: