Project:
View Issue Details[ Jump to Notes ] | [ Issue History ] [ Print ] | |||||||
ID | ||||||||
0038567 | ||||||||
Type | Category | Severity | Reproducibility | Date Submitted | Last Update | |||
defect | [Openbravo ERP] A. Platform | major | have not tried | 2018-05-17 08:55 | 2018-06-04 10:53 | |||
Reporter | alostale | View Status | public | |||||
Assigned To | alostale | |||||||
Priority | normal | Resolution | fixed | Fixed in Version | 3.0PR18Q3 | |||
Status | closed | Fix in branch | Fixed in SCM revision | fca1e4e42285 | ||||
Projection | none | ETA | none | Target Version | ||||
OS | Any | Database | Any | Java version | ||||
OS Version | Database version | Ant version | ||||||
Product Version | SCM revision | |||||||
Review Assigned To | caristu | |||||||
Web browser | ||||||||
Modules | Core | |||||||
Regression level | ||||||||
Regression date | ||||||||
Regression introduced in release | ||||||||
Regression introduced by commit | ||||||||
Triggers an Emergency Pack | No | |||||||
Summary | 0038567: can get stuck sending emails | |||||||
Description | If email server is unresponsive, threads trying to send emails can get indefinitely stuck trying to connect to it. | |||||||
Steps To Reproduce | 1. Configure a very slow smtp server You can use, ie., a fake smpt server like dumbster [1] SimpleSmtpServer.start(8025); and add breakpoints to simulate slowness 2. Configure Client in Openbravo to make use of it 3. Open a completed Sales Order 4. Click on send email -> Check the threads gets stuck while the email server is not responding: "ajp-bio-127.0.0.1-8009-exec-678" daemon prio=10 tid=0x00007fd2800cf800 nid=0x1f7ff runnable [0x00007fd38befb000] java.lang.Thread.State: RUNNABLE at java.net.SocketInputStream.socketRead0(Native Method) at java.net.SocketInputStream.read(SocketInputStream.java:153) at java.net.SocketInputStream.read(SocketInputStream.java:122) at com.sun.mail.util.TraceInputStream.read(TraceInputStream.java:110) at java.io.BufferedInputStream.fill(BufferedInputStream.java:235) at java.io.BufferedInputStream.read(BufferedInputStream.java:254) - locked <0x00000001efd082a0> (a java.io.BufferedInputStream) at com.sun.mail.util.LineInputStream.readLine(LineInputStream.java:89) at com.sun.mail.smtp.SMTPTransport.readServerResponse(SMTPTransport.java:2131) at com.sun.mail.smtp.SMTPTransport.openServer(SMTPTransport.java:1912) at com.sun.mail.smtp.SMTPTransport.protocolConnect(SMTPTransport.java:638) at javax.mail.Service.connect(Service.java:317) - locked <0x00000001efd083f0> (a com.sun.mail.smtp.SMTPTransport) at javax.mail.Service.connect(Service.java:176) at javax.mail.Service.connect(Service.java:125) at org.openbravo.erpCommon.utility.poc.EmailManager.sendEmail(EmailManager.java:170) at org.openbravo.erpCommon.utility.reporting.printing.PrintController.sendDocumentEmail(PrintController.java:815) --- [1] https://github.com/kirviq/dumbster [^] | |||||||
Proposed Solution | As quick win, before a more complete solution is implemented by 0038524, add a hardcoded connection timeout (ie. 10min) so in case it is not possible to connect during that time, an exception will be thrown and the thread will be released. | |||||||
Tags | Performance | |||||||
Attached Files | ||||||||
Relationships [ Relation Graph ] [ Dependency Graph ] | ||||||||||||||||||||||
|
Notes | |
(0104570) hgbot (developer) 2018-05-17 17:23 |
Repository: erp/devel/pi Changeset: fca1e4e422854d56678c04061a176e0ea257c1f0 Author: Asier Lostalé <asier.lostale <at> openbravo.com> Date: Thu May 17 17:22:21 2018 +0200 URL: http://code.openbravo.com/erp/devel/pi/rev/fca1e4e422854d56678c04061a176e0ea257c1f0 [^] fixed bug 38567: can get stuck forever sending emails Added a fixed 10 minutes timeout for communications with smtp servers, this same timeout is applied to connection creation as well as reading responses from server. Note it is not applied to writing operations. --- M src/org/openbravo/erpCommon/utility/poc/EmailManager.java --- |
(0104582) hudsonbot (developer) 2018-05-17 21:41 |
A changeset related to this issue has been promoted main and to the Central Repository, after passing a series of tests. Promotion changeset: https://code.openbravo.com/erp/devel/main/rev/4e28963f0fe6 [^] Maturity status: Test |
(0104906) caristu (developer) 2018-06-04 10:53 |
Code reviewed + tested OK. |
Issue History | |||
Date Modified | Username | Field | Change |
2018-05-17 08:55 | alostale | New Issue | |
2018-05-17 08:55 | alostale | Assigned To | => alostale |
2018-05-17 08:55 | alostale | Modules | => Core |
2018-05-17 08:55 | alostale | Triggers an Emergency Pack | => No |
2018-05-17 08:55 | alostale | Issue generated from | 0038524 |
2018-05-17 08:55 | alostale | Relationship added | related to 0038524 |
2018-05-17 08:55 | alostale | Status | new => scheduled |
2018-05-17 17:19 | alostale | Steps to Reproduce Updated | View Revisions |
2018-05-17 17:19 | alostale | Review Assigned To | => caristu |
2018-05-17 17:23 | hgbot | Checkin | |
2018-05-17 17:23 | hgbot | Note Added: 0104570 | |
2018-05-17 17:23 | hgbot | Status | scheduled => resolved |
2018-05-17 17:23 | hgbot | Resolution | open => fixed |
2018-05-17 17:23 | hgbot | Fixed in SCM revision | => http://code.openbravo.com/erp/devel/pi/rev/fca1e4e422854d56678c04061a176e0ea257c1f0 [^] |
2018-05-17 17:24 | alostale | Tag Attached: Performance | |
2018-05-17 21:41 | hudsonbot | Checkin | |
2018-05-17 21:41 | hudsonbot | Note Added: 0104582 | |
2018-06-04 10:53 | caristu | Note Added: 0104906 | |
2018-06-04 10:53 | caristu | Status | resolved => closed |
2018-06-04 10:53 | caristu | Fixed in Version | => 3.0PR18Q3 |
Copyright © 2000 - 2009 MantisBT Group |