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

Vertx MailClient 'createShared' is broken as of 3.x (3.9?). #433

Closed
ravindrahv opened this issue Nov 1, 2021 · 2 comments
Closed

Vertx MailClient 'createShared' is broken as of 3.x (3.9?). #433

ravindrahv opened this issue Nov 1, 2021 · 2 comments
Labels

Comments

@ravindrahv
Copy link

ravindrahv commented Nov 1, 2021

Questions

Hello,

It has been observed that the 'createShared' implementation of Vertx is broken - in that the client tends to mix-up (interleave) the SMTP commands - MAIL FROM / RCPT TO / DATA sections (with regard to the RFC) under shared socket scenarios.

Version

Which version(s) did you encounter this bug ?

3.x (Exact version is not known. Likely its 3.9. However, believe this should be reproducible in current versions - that is 4.x variants as well)

Need to look at - https://github.com/vert-x3/vertx-mail-client/blob/3.9/src/main/java/io/vertx/ext/mail/MailClient.java

Context

In particular it has been observed that a mail intended to be initiated from '[email protected]' to '[email protected]' was instead delivered to '[email protected]' (likely owing to the fact that one thread sent 'MAIL FROM' and 'RCPT TO' where as 'DATA' part was sent from another thread).

Do you have a reproducer?

Not as of now but the issue was clearly visible at around 30 Requests-Per-Second Approx.

  • Link to github project/gist

Steps to reproduce

Server-End

  1. Set up a mail server in relay configuration to enqueue emails (source, destination, content) but not to deliver.

Client-End

  1. Prepare a test case such that there is a specific set of senders and receivers and the payload that can be reviewed for discrepancies. Create about a hundred of these.
  2. Initiate a load of around 30 RPS using a suitable test harness. A single system as client and a single system as a server should do the trick but more would be better ! Initiate a load for about 15 minutes.
  3. Review the contents in the mail-server logs/queue. There would at least be a handful of discrepancies (where the intended combination of source and destination is different).

Extra

  • OS - Ubuntu 18 or 20 ?
  • JVM - JDK 1.8 ?
@ravindrahv ravindrahv added the bug label Nov 1, 2021
@ravindrahv
Copy link
Author

Have posted the above issue under 'issues' as well - vert-x3/issues#590

@ravindrahv
Copy link
Author

Created a new one under vertx-mail-client.
vert-x3/vertx-mail-client#171

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Development

No branches or pull requests

1 participant