Repository: oozie Updated Branches: refs/heads/master 2dfaa4a74 -> 91df71edc
OOZIE-1835 NullPointerException from SLAEmailEventListener (rkanter) Project: http://git-wip-us.apache.org/repos/asf/oozie/repo Commit: http://git-wip-us.apache.org/repos/asf/oozie/commit/91df71ed Tree: http://git-wip-us.apache.org/repos/asf/oozie/tree/91df71ed Diff: http://git-wip-us.apache.org/repos/asf/oozie/diff/91df71ed Branch: refs/heads/master Commit: 91df71edca0d7590da7dafc30936a397d2e1463d Parents: 2dfaa4a Author: Robert Kanter <[email protected]> Authored: Fri May 16 10:35:48 2014 -0700 Committer: Robert Kanter <[email protected]> Committed: Fri May 16 10:35:48 2014 -0700 ---------------------------------------------------------------------- .../sla/listener/SLAEmailEventListener.java | 14 +++++++++---- .../oozie/sla/TestSLAEmailEventListener.java | 22 ++++++++++++++++++++ release-log.txt | 1 + 3 files changed, 33 insertions(+), 4 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/oozie/blob/91df71ed/core/src/main/java/org/apache/oozie/sla/listener/SLAEmailEventListener.java ---------------------------------------------------------------------- diff --git a/core/src/main/java/org/apache/oozie/sla/listener/SLAEmailEventListener.java b/core/src/main/java/org/apache/oozie/sla/listener/SLAEmailEventListener.java index 31ce454..fbf701b 100644 --- a/core/src/main/java/org/apache/oozie/sla/listener/SLAEmailEventListener.java +++ b/core/src/main/java/org/apache/oozie/sla/listener/SLAEmailEventListener.java @@ -159,10 +159,16 @@ public class SLAEmailEventListener extends SLAEventListener { } private void sendSLAEmail(SLAEvent event) throws Exception { - Message message = new MimeMessage(session); - setMessageHeader(message, event); - setMessageBody(message, event); - sendEmail(message); + // If no address is provided, the user did not want to send an email so simply log it and do nothing + if (event.getAlertContact() == null || event.getAlertContact().trim().length() == 0) { + LOG.info("No destination address provided; an SLA alert email will not be sent"); + } else { + // Create and send an email + Message message = new MimeMessage(session); + setMessageHeader(message, event); + setMessageBody(message, event); + sendEmail(message); + } } @Override http://git-wip-us.apache.org/repos/asf/oozie/blob/91df71ed/core/src/test/java/org/apache/oozie/sla/TestSLAEmailEventListener.java ---------------------------------------------------------------------- diff --git a/core/src/test/java/org/apache/oozie/sla/TestSLAEmailEventListener.java b/core/src/test/java/org/apache/oozie/sla/TestSLAEmailEventListener.java index bd9fbdf..f2f5a21 100644 --- a/core/src/test/java/org/apache/oozie/sla/TestSLAEmailEventListener.java +++ b/core/src/test/java/org/apache/oozie/sla/TestSLAEmailEventListener.java @@ -340,6 +340,28 @@ public class TestSLAEmailEventListener extends XTestCase { assertEquals(msgs.length, 0); } + public void testNoDestAddress() throws Exception { + SLACalcStatus event = new SLACalcStatus(new SLARegistrationBean()); + SLARegistrationBean eventBean = event.getSLARegistrationBean(); + Date startDate = DateUtils.parseDateUTC("2013-01-01T00:00Z"); + // set empty address as alert contact + eventBean.setAlertContact(""); + event.setEventStatus(EventStatus.START_MISS); + event.setId("0000000-000000000000001-oozie-wrkf-C@1"); + eventBean.setAppType(AppType.COORDINATOR_ACTION); + eventBean.setAppName("Test-SLA-Start-Miss"); + eventBean.setUser("dummyuser"); + eventBean.setExpectedStart(startDate); + eventBean.setNotificationMsg("notification of start miss"); + eventBean.setAppType(AppType.COORDINATOR_ACTION); + event.setActualStart(DateUtils.parseDateUTC("2013-01-01T01:00Z")); + + slaEmailListener.onStartMiss(event); + + MimeMessage[] msgs = greenMail.getReceivedMessages(); + assertEquals(msgs.length, 0); + } + public void testMultipleDestAddress() throws Exception { SLACalcStatus event = new SLACalcStatus(new SLARegistrationBean()); SLARegistrationBean eventBean = event.getSLARegistrationBean(); http://git-wip-us.apache.org/repos/asf/oozie/blob/91df71ed/release-log.txt ---------------------------------------------------------------------- diff --git a/release-log.txt b/release-log.txt index f558f59..86642f1 100644 --- a/release-log.txt +++ b/release-log.txt @@ -1,5 +1,6 @@ -- Oozie 4.1.0 release (trunk - unreleased) +OOZIE-1835 NullPointerException from SLAEmailEventListener (rkanter) OOZIE-1809 offset and len options are ignored in oozie job -info for workflow (ryota) OOZIE-1826 Add thread which detects JVM pauses (rkanter) OOZIE-1791 add IGNORED status to Coordinator Job and Action (ryota)
