diff --git a/azkaban-common/src/main/java/azkaban/utils/Emailer.java b/azkaban-common/src/main/java/azkaban/utils/Emailer.java
index 27cabee..d328d21 100644
--- a/azkaban-common/src/main/java/azkaban/utils/Emailer.java
+++ b/azkaban-common/src/main/java/azkaban/utils/Emailer.java
@@ -33,7 +33,6 @@ import java.util.ArrayList;
import java.util.List;
import javax.inject.Inject;
import javax.inject.Singleton;
-import javax.mail.MessagingException;
import org.apache.log4j.Logger;
@Singleton
@@ -114,18 +113,19 @@ public class Emailer extends AbstractMailer implements Alerter {
if (!this.testMode) {
try {
message.sendEmail();
+ logger.info("Sent SLA email message " + slaMessage);
this.commonMetrics.markSendEmailSuccess();
- } catch (final MessagingException e) {
- logger.error("Failed to send SLA email message" + slaMessage, e);
+ } catch (final Exception e) {
+ logger.error("Failed to send SLA email message " + slaMessage, e);
this.commonMetrics.markSendEmailFail();
}
}
}
}
- private String getJobOrFlowName(SlaOption slaOption) {
- String flowName = (String) slaOption.getInfo().get(SlaOption.INFO_FLOW_NAME);
- String jobName = (String) slaOption.getInfo().get(SlaOption.INFO_JOB_NAME);
+ private String getJobOrFlowName(final SlaOption slaOption) {
+ final String flowName = (String) slaOption.getInfo().get(SlaOption.INFO_FLOW_NAME);
+ final String jobName = (String) slaOption.getInfo().get(SlaOption.INFO_JOB_NAME);
if (org.apache.commons.lang.StringUtils.isNotBlank(jobName)) {
return flowName + ":" + jobName;
} else {
@@ -155,8 +155,9 @@ public class Emailer extends AbstractMailer implements Alerter {
if (mailCreated && !this.testMode) {
try {
message.sendEmail();
+ logger.info("Sent first error email message for execution " + flow.getExecutionId());
this.commonMetrics.markSendEmailSuccess();
- } catch (final MessagingException e) {
+ } catch (final Exception e) {
logger.error(
"Failed to send first error email message for execution " + flow.getExecutionId(), e);
this.commonMetrics.markSendEmailFail();
@@ -185,8 +186,9 @@ public class Emailer extends AbstractMailer implements Alerter {
if (mailCreated && !this.testMode) {
try {
message.sendEmail();
+ logger.info("Sent error email message for execution " + flow.getExecutionId());
this.commonMetrics.markSendEmailSuccess();
- } catch (final MessagingException e) {
+ } catch (final Exception e) {
logger
.error("Failed to send error email message for execution " + flow.getExecutionId(), e);
this.commonMetrics.markSendEmailFail();
@@ -215,8 +217,9 @@ public class Emailer extends AbstractMailer implements Alerter {
if (mailCreated && !this.testMode) {
try {
message.sendEmail();
+ logger.info("Sent success email message for execution " + flow.getExecutionId());
this.commonMetrics.markSendEmailSuccess();
- } catch (final MessagingException e) {
+ } catch (final Exception e) {
logger.error("Failed to send success email message for execution " + flow.getExecutionId(),
e);
this.commonMetrics.markSendEmailFail();
diff --git a/azkaban-common/src/main/java/azkaban/utils/EmailMessage.java b/azkaban-common/src/main/java/azkaban/utils/EmailMessage.java
index 487397e..12d6b58 100644
--- a/azkaban-common/src/main/java/azkaban/utils/EmailMessage.java
+++ b/azkaban-common/src/main/java/azkaban/utils/EmailMessage.java
@@ -40,7 +40,7 @@ import org.apache.log4j.Logger;
public class EmailMessage {
private static final String protocol = "smtp";
- private static final int MAX_EMAIL_RETRY_COUNT = 3;
+ private static final int MAX_EMAIL_RETRY_COUNT = 5;
private static int _mailTimeout = 10000;
private static int _connectionTimeout = 10000;
private static long _totalAttachmentMaxSizeInByte = 1024 * 1024 * 1024; // 1
@@ -251,8 +251,8 @@ public class EmailMessage {
try {
connectToSMTPServer(t);
return;
- } catch (final MessagingException ste) {
- this.logger.error("Connecting to SMTP server failed, attempt: " + attempt, ste);
+ } catch (final Exception e) {
+ this.logger.error("Connecting to SMTP server failed, attempt: " + attempt, e);
}
}
t.close();
@@ -267,8 +267,8 @@ public class EmailMessage {
try {
t.sendMessage(message, message.getRecipients(Message.RecipientType.TO));
return;
- } catch (final MessagingException sme) {
- this.logger.error("Sending email messages failed, attempt: " + attempt, sme);
+ } catch (final Exception e) {
+ this.logger.error("Sending email messages failed, attempt: " + attempt, e);
}
}
t.close();