Examples of SLARegistrationBean


Examples of org.apache.oozie.sla.SLARegistrationBean

    }

    public void testOnSLAEndMetEvent() throws Exception {
        JMSSLAEventListener slaListener = new JMSSLAEventListener();
        slaListener.init(conf);
        SLACalcStatus endMet = new SLACalcStatus(new SLARegistrationBean());
        SLARegistrationBean endMetBean = endMet.getSLARegistrationBean();
        Date expectedEndDate = DateUtils.parseDateUTC("2013-01-01T12:00Z");
        Date actualEndDate = DateUtils.parseDateUTC("2013-01-01T11:00Z");
        endMet.setId("0000000-000000000000001-oozie-wrkf-C@1");
        endMetBean.setParentId("0000000-000000000000001-oozie-wrkf-C");
        endMetBean.setAppName("Test-SLA-End-Met");
        endMet.setEventStatus(EventStatus.END_MET);
        endMet.setSLAStatus(SLAStatus.MET);
        endMetBean.setAppType(AppType.COORDINATOR_ACTION);
        endMetBean.setUser("dummyuser");
        endMetBean.setNotificationMsg("notification of end met");
        endMetBean.setExpectedEnd(expectedEndDate);
        endMet.setActualEnd(actualEndDate);

        ConnectionContext jmsContext = getConnectionContext();

        Session session = jmsContext.createSession(Session.AUTO_ACKNOWLEDGE);
View Full Code Here

Examples of org.apache.oozie.sla.SLARegistrationBean

    }

    public void testOnSLADurationMetEvent() throws Exception {
        JMSSLAEventListener slaListener = new JMSSLAEventListener();
        slaListener.init(conf);
        SLACalcStatus durationMet = new SLACalcStatus(new SLARegistrationBean());
        SLARegistrationBean durationMetBean = durationMet.getSLARegistrationBean();

        Date expectedStartDate = DateUtils.parseDateUTC("2013-01-01T00:00Z");
        Date actualStartDate = DateUtils.parseDateUTC("2013-01-01T01:00Z");
        Date expectedEndDate = DateUtils.parseDateUTC("2013-01-01T12:00Z");
        Date actualEndDate = DateUtils.parseDateUTC("2013-01-01T14:00Z");
        long expectedDuration = ( expectedEndDate.getTime() - actualStartDate.getTime() ) / (1000 * 60);
        durationMet.setId("0000000-000000000000001-oozie-wrkf-C@1");
        durationMetBean.setParentId("0000000-000000000000001-oozie-wrkf-C");
        durationMetBean.setAppName("Test-SLA-Duration-Met");
        durationMet.setEventStatus(EventStatus.DURATION_MET);
        durationMet.setSLAStatus(SLAStatus.MET);
        durationMetBean.setAppType(AppType.COORDINATOR_ACTION);
        durationMetBean.setUser("dummyuser");
        durationMetBean.setNotificationMsg("notification of duration met");
        durationMetBean.setExpectedStart(expectedStartDate);
        durationMet.setActualStart(actualStartDate);
        durationMetBean.setExpectedEnd(expectedEndDate);
        durationMet.setActualEnd(actualEndDate);
        durationMetBean.setExpectedDuration(expectedDuration);
        long actualDuration = actualEndDate.getTime() - actualStartDate.getTime();
        durationMet.setActualDuration(actualDuration);

        ConnectionContext jmsContext = getConnectionContext();

View Full Code Here

Examples of org.apache.oozie.sla.SLARegistrationBean

        services.destroy();
        super.tearDown();
    }

    public void testOnStartMiss() throws Exception {
        SLACalcStatus event = new SLACalcStatus(new SLARegistrationBean());
        SLARegistrationBean eventBean = event.getSLARegistrationBean();
        Date startDate = DateUtils.parseDateUTC("2013-01-01T00:00Z");
        Date actualstartDate = DateUtils.parseDateUTC("2013-01-01T01:00Z");
        event.setEventStatus(EventStatus.START_MISS);
        event.setJobStatus(JobEvent.EventStatus.STARTED.toString());
        event.setId("0000000-000000000000001-oozie-wrkf-C@1");
        eventBean.setParentId("0000000-000000000000001-oozie-wrkf-C");
        eventBean.setAppName("Test-SLA-Start-Miss");
        eventBean.setUser("dummyuser");
        eventBean.setNominalTime(startDate);
        eventBean.setExpectedStart(startDate);
        eventBean.setNotificationMsg("Notification of Missing Expected Start Time");
        eventBean.setAlertContact("alert-receiver@oozie.com");
        event.setActualStart(actualstartDate);
        eventBean.setAppType(AppType.COORDINATOR_ACTION);

        slaEmailListener.onStartMiss(event);

        MimeMessage[] msgs = greenMail.getReceivedMessages();
        MimeMessage msg = msgs[0];
View Full Code Here

Examples of org.apache.oozie.sla.SLARegistrationBean

        assertTrue(msgBody.indexOf(indent + EmailField.EXPECTED_START_TIME.toString() + sep + startDate) > -1);
        assertTrue(msgBody.indexOf(indent + EmailField.ACTUAL_START_TIME.toString() + sep + actualstartDate) > -1);
    }

    public void testOnEndMiss() throws Exception {
        SLACalcStatus event = new SLACalcStatus(new SLARegistrationBean());
        SLARegistrationBean eventBean = event.getSLARegistrationBean();
        Date expectedStartDate = DateUtils.parseDateUTC("2013-01-01T00:00Z");
        Date actualStartDate = DateUtils.parseDateUTC("2013-01-01T01:00Z");
        Date expectedEndDate = DateUtils.parseDateUTC("2013-01-01T12:00Z");
        Date actualEndDate = DateUtils.parseDateUTC("2013-01-01T13:00Z");
        event.setId("0000000-000000000000001-oozie-wrkf-C@1");
        eventBean.setParentId("0000000-000000000000001-oozie-wrkf-C");
        event.setEventStatus(EventStatus.END_MISS);
        event.setJobStatus(JobEvent.EventStatus.SUCCESS.toString());
        eventBean.setAppName("Test-SLA-End-Miss");
        eventBean.setUser("dummyuser");
        eventBean.setNominalTime(expectedStartDate);
        eventBean.setExpectedStart(expectedStartDate);
        eventBean.setExpectedEnd(expectedEndDate);
        eventBean.setNotificationMsg("notification of end miss");
        eventBean.setAlertContact("alert-receiver-endmiss@oozie.com");
        eventBean.setAppType(AppType.COORDINATOR_ACTION);
        eventBean.setExpectedStart(expectedStartDate);
        eventBean.setExpectedEnd(expectedEndDate);
        event.setActualStart(actualStartDate);
        event.setActualEnd(actualEndDate);

        slaEmailListener.onEndMiss(event);
View Full Code Here

Examples of org.apache.oozie.sla.SLARegistrationBean

        assertTrue(msgBody.indexOf(indent + EmailField.ACTUAL_END_TIME.toString() + sep + actualEndDate) > -1);

    }

    public void testOnDurationMiss() throws Exception {
        SLACalcStatus event = new SLACalcStatus(new SLARegistrationBean());
        SLARegistrationBean eventBean = event.getSLARegistrationBean();
        Date expectedStartDate = DateUtils.parseDateUTC("2013-01-01T00:00Z");
        Date actualStartDate = DateUtils.parseDateUTC("2013-01-01T00:10Z");
        Date expectedEndDate = DateUtils.parseDateUTC("2013-01-01T00:20Z");
        Date actualEndDate = DateUtils.parseDateUTC("2013-01-01T00:40Z");
        long expectedDuration = expectedEndDate.getTime() - expectedStartDate.getTime();
        long actualDuration = actualEndDate.getTime() - actualStartDate.getTime();
        long expectedDurationInMins = expectedDuration / 60000;
        long actualDurationInMins = actualDuration / 60000;
        event.setId("0000000-000000000000001-oozie-wrkf-C@1");
        eventBean.setParentId("0000000-000000000000001-oozie-wrkf-C");
        event.setEventStatus(EventStatus.DURATION_MISS);
        event.setJobStatus(JobEvent.EventStatus.SUCCESS.toString());
        eventBean.setAppName("Test-SLA-Duration-Miss");
        eventBean.setUser("dummyuser");
        eventBean.setNominalTime(expectedStartDate);
        eventBean.setExpectedStart(expectedStartDate);
        eventBean.setExpectedEnd(expectedEndDate);
        eventBean.setNotificationMsg("notification of duration miss");
        eventBean.setAlertContact("alert-receiver-durationmiss@oozie.com");
        eventBean.setAppType(AppType.COORDINATOR_ACTION);
        eventBean.setExpectedStart(expectedStartDate);
        eventBean.setExpectedEnd(expectedEndDate);
        event.setActualStart(actualStartDate);
        event.setActualEnd(actualEndDate);
        eventBean.setExpectedDuration(expectedDuration);
        event.setActualDuration(actualDuration);

        slaEmailListener.onEndMiss(event);

        MimeMessage[] msgs = greenMail.getReceivedMessages();
View Full Code Here

Examples of org.apache.oozie.sla.SLARegistrationBean

        assertTrue(msgBody.indexOf(indent + EmailField.EXPECTED_DURATION.toString() + sep + expectedDurationInMins) > -1);
        assertTrue(msgBody.indexOf(indent + EmailField.ACTUAL_DURATION.toString() + sep + actualDurationInMins) > -1);
    }

    public void testUserAlertEventSetting() throws Exception {
        SLACalcStatus event = new SLACalcStatus(new SLARegistrationBean());
        SLARegistrationBean eventBean = event.getSLARegistrationBean();
        // user choose only END MISS, thus, START_MISS email should not be sent
        eventBean.setAlertEvents(EventStatus.END_MISS.name());

        Date startDate = DateUtils.parseDateUTC("2013-01-01T00:00Z");
        Date actualstartDate = DateUtils.parseDateUTC("2013-01-01T01:00Z");
        event.setEventStatus(EventStatus.START_MISS);
        event.setId("0000000-000000000000001-oozie-wrkf-C@1");
        eventBean.setAppName("Test-SLA-Start-Miss");
        eventBean.setUser("dummyuser");
        eventBean.setNominalTime(startDate);
        eventBean.setExpectedStart(startDate);
        eventBean.setAlertContact("alert-receiver@oozie.com");
        event.setActualStart(actualstartDate);
        eventBean.setAppType(AppType.COORDINATOR_ACTION);

        slaEmailListener.onStartMiss(event);

        // START_MISS should not be sent
        MimeMessage[] msgs = greenMail.getReceivedMessages();
View Full Code Here

Examples of org.apache.oozie.sla.SLARegistrationBean

        msgs = greenMail.getReceivedMessages();
        assertNotNull(msgs[0]);
    }

    public void testInvalidDestAddress() throws Exception {
        SLACalcStatus event = new SLACalcStatus(new SLARegistrationBean());
        SLARegistrationBean eventBean = event.getSLARegistrationBean();
        Date startDate = DateUtils.parseDateUTC("2013-01-01T00:00Z");
        // set invalid address as alert contact
        eventBean.setAlertContact("invalidAddress");
        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();
View Full Code Here

Examples of org.apache.oozie.sla.SLARegistrationBean

        MimeMessage[] msgs = greenMail.getReceivedMessages();
        assertEquals(msgs.length, 0);
    }

    public void testMultipleDestAddress() throws Exception {
        SLACalcStatus event = new SLACalcStatus(new SLARegistrationBean());
        SLARegistrationBean eventBean = event.getSLARegistrationBean();
        Date startDate = DateUtils.parseDateUTC("2013-01-01T00:00Z");
        // set multiple addresses as alert contact
        eventBean.setAlertContact("alert-receiver1@oozie.com, alert-receiver2@oozie.com");
        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();
View Full Code Here

Examples of org.apache.oozie.sla.SLARegistrationBean

    public void testBlackList() throws Exception {
        String blackListedEmail = "alert-receiver@oozie.com";
        // add email to blacklist
        slaEmailListener.addBlackList(blackListedEmail);
        SLACalcStatus event = new SLACalcStatus(new SLARegistrationBean());
        SLARegistrationBean eventBean = event.getSLARegistrationBean();
        event.setEventStatus(EventStatus.START_MISS);
        eventBean.setAlertContact(blackListedEmail);
        eventBean.setAppType(AppType.COORDINATOR_ACTION);
        eventBean.setAppName("Test-SLA-Start-Miss");
        eventBean.setUser("dummyuser");
        eventBean.setAlertContact("alert-receiver@oozie.com");
        event.setActualStart(DateUtils.parseDateUTC("2013-01-01T01:00Z"));

        // blacklist blocks email from being sent out
        slaEmailListener.onStartMiss(event);
        MimeMessage[] msgs = greenMail.getReceivedMessages();
View Full Code Here

Examples of org.apache.oozie.sla.SLARegistrationBean

            AppType appType, String user, String appName, XLog log, boolean rerun) throws CommandException {
        if (eSla == null || !SLAService.isEnabled()) {
            log.debug("Not registering SLA for job [{0}]. Sla-Xml null OR SLAService not enabled", jobId);
            return null;
        }
        SLARegistrationBean sla = new SLARegistrationBean();

        // Setting nominal time
        String strNominalTime = getTagElement(eSla, NOMINAL_TIME);
        if (strNominalTime == null || strNominalTime.length() == 0) {
            throw new CommandException(ErrorCode.E1101, NOMINAL_TIME);
        }
        Date nominalTime;
        try {
            nominalTime = DateUtils.parseDateOozieTZ(strNominalTime);
            sla.setNominalTime(nominalTime);
        }
        catch (ParseException pex) {
            throw new CommandException(ErrorCode.E0302, strNominalTime, pex);
        }

        // Setting expected start time
        String strExpectedStart = getTagElement(eSla, SHOULD_START);
        if (strExpectedStart != null) {
            float expectedStart = Float.parseFloat(strExpectedStart);
            if (expectedStart < 0) {
                throw new CommandException(ErrorCode.E0302, strExpectedStart, "for SLA Expected start time");
            }
            else {
                Date expectedStartTime = new Date(nominalTime.getTime() + (long) (expectedStart * 60 * 1000));
                sla.setExpectedStart(expectedStartTime);
            }
        }

        // Setting expected end time
        String strExpectedEnd = getTagElement(eSla, SHOULD_END);
        if (strExpectedEnd == null || strExpectedEnd.length() == 0) {
            throw new CommandException(ErrorCode.E1101, SHOULD_END);
        }
        float expectedEnd = Float.parseFloat(strExpectedEnd);
        if (expectedEnd < 0) {
            throw new CommandException(ErrorCode.E0302, strExpectedEnd, "for SLA Expected end time");
        }
        else {
            Date expectedEndTime = new Date(nominalTime.getTime() + (long) (expectedEnd * 60 * 1000));
            sla.setExpectedEnd(expectedEndTime);
        }

        // Setting expected duration in milliseconds
        String expectedDurationStr = getTagElement(eSla, MAX_DURATION);
        if (expectedDurationStr != null && expectedDurationStr.length() > 0) {
            float expectedDuration = Float.parseFloat(expectedDurationStr);
            if (expectedDuration > 0) {
                sla.setExpectedDuration((long) (expectedDuration * 60 * 1000));
            }
        }
        else if (sla.getExpectedStart() != null) {
            sla.setExpectedDuration(sla.getExpectedEnd().getTime() - sla.getExpectedStart().getTime());
        }

        // Parse desired alert-types i.e. start-miss, end-miss, start-met etc..
        String alertEvents = getTagElement(eSla, ALERT_EVENTS);
        if (alertEvents != null) {
            String events[] = alertEvents.split(",");
            StringBuilder alertsStr = new StringBuilder();
            for (int i = 0; i < events.length; i++) {
                String event = events[i].trim().toUpperCase();
                try {
                    EventStatus.valueOf(event);
                }
                catch (IllegalArgumentException iae) {
                    XLog.getLog(SLAService.class).warn(
                            "Invalid value: [" + event + "]" + " for SLA Alert-event. Should be one of "
                                    + EventStatus.values() + ". Setting it to default [" + EventStatus.END_MISS.name()
                                    + "]");
                    event = EventStatus.END_MISS.name();
                }
                alertsStr.append(event).append(",");
            }
            sla.setAlertEvents(alertsStr.toString().substring(0, alertsStr.lastIndexOf(",")));
        }

        // Other sla config
        sla.setNotificationMsg(getTagElement(eSla, "notification-msg"));
        sla.setAlertContact(getTagElement(eSla, "alert-contact"));
        sla.setUpstreamApps(getTagElement(eSla, "upstream-apps"));

        // Oozie defined
        sla.setId(jobId);
        sla.setAppType(appType);
        sla.setAppName(appName);
        sla.setUser(user);
        sla.setParentId(parentId);

        SLAService slaService = Services.get().get(SLAService.class);
        try {
            if (!rerun) {
                slaService.addRegistrationEvent(sla);
View Full Code Here
TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.