Repository: oozie Updated Branches: refs/heads/master 5759397a9 -> f45e1eb77
OOZIE-2572 SLA DURATION miss not shown when job is running for longer than expected time Project: http://git-wip-us.apache.org/repos/asf/oozie/repo Commit: http://git-wip-us.apache.org/repos/asf/oozie/commit/f45e1eb7 Tree: http://git-wip-us.apache.org/repos/asf/oozie/tree/f45e1eb7 Diff: http://git-wip-us.apache.org/repos/asf/oozie/diff/f45e1eb7 Branch: refs/heads/master Commit: f45e1eb7701e9f9112bc7a295700eb9949ae6ac2 Parents: 5759397 Author: Purshotam Shah <purus...@yahoo-inc.com> Authored: Tue Sep 20 14:05:21 2016 -0700 Committer: Purshotam Shah <purus...@yahoo-inc.com> Committed: Tue Sep 20 14:05:21 2016 -0700 ---------------------------------------------------------------------- .../org/apache/oozie/sla/SLASummaryBean.java | 8 +++--- .../apache/oozie/servlet/TestV2SLAServlet.java | 6 ++--- docs/src/site/twiki/DG_SLAMonitoring.twiki | 26 ++++++++++---------- release-log.txt | 1 + .../webapp/console/sla/js/oozie-sla-table.js | 21 +--------------- 5 files changed, 22 insertions(+), 40 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/oozie/blob/f45e1eb7/core/src/main/java/org/apache/oozie/sla/SLASummaryBean.java ---------------------------------------------------------------------- diff --git a/core/src/main/java/org/apache/oozie/sla/SLASummaryBean.java b/core/src/main/java/org/apache/oozie/sla/SLASummaryBean.java index 3b2cebd..cfe1522 100644 --- a/core/src/main/java/org/apache/oozie/sla/SLASummaryBean.java +++ b/core/src/main/java/org/apache/oozie/sla/SLASummaryBean.java @@ -423,7 +423,7 @@ public class SLASummaryBean implements JsonBean { } json.put(JsonTags.SLA_SUMMARY_EXPECTED_DURATION, expectedDuration); if (actualDuration == -1 && expectedDuration != -1 && actualStartTS != null) { - long currentDur = (new Date().getTime() - actualStartTS.getTime()) / (1000 * 60); + long currentDur = new Date().getTime() - actualStartTS.getTime(); json.put(JsonTags.SLA_SUMMARY_ACTUAL_DURATION, currentDur); } else { @@ -432,7 +432,7 @@ public class SLASummaryBean implements JsonBean { Long durationDelay = eventMap.get(EventStatus.DURATION_MET) != null ? eventMap.get(EventStatus.DURATION_MET) : eventMap.get(EventStatus.DURATION_MISS); if (durationDelay != null) { - json.put(JsonTags.SLA_SUMMARY_DURATION_DELAY, durationDelay); + json.put(JsonTags.SLA_SUMMARY_DURATION_DELAY, durationDelay / (1000 * 60)); } json.put(JsonTags.SLA_SUMMARY_JOB_STATUS, jobStatus); json.put(JsonTags.SLA_SUMMARY_SLA_STATUS, slaStatus); @@ -482,9 +482,9 @@ public class SLASummaryBean implements JsonBean { } else { if (actualStartTS != null) { - long currentDur = (new Date().getTime() - actualStartTS.getTime()) / (1000 * 60); + long currentDur = new Date().getTime() - actualStartTS.getTime(); if (expectedDuration < currentDur) { - events.put(EventStatus.DURATION_MISS, (currentDur - expectedDuration)); + events.put(EventStatus.DURATION_MISS, currentDur - expectedDuration); } } } http://git-wip-us.apache.org/repos/asf/oozie/blob/f45e1eb7/core/src/test/java/org/apache/oozie/servlet/TestV2SLAServlet.java ---------------------------------------------------------------------- diff --git a/core/src/test/java/org/apache/oozie/servlet/TestV2SLAServlet.java b/core/src/test/java/org/apache/oozie/servlet/TestV2SLAServlet.java index db509ac..03f2323 100644 --- a/core/src/test/java/org/apache/oozie/servlet/TestV2SLAServlet.java +++ b/core/src/test/java/org/apache/oozie/servlet/TestV2SLAServlet.java @@ -193,7 +193,7 @@ public class TestV2SLAServlet extends DagServletTestCase { String id = (String)json.get(JsonTags.SLA_SUMMARY_ID); if(id.equals(cjBean1.getId() + "@1")) { assertEquals(-2L, json.get(JsonTags.SLA_SUMMARY_START_DELAY)); - assertEquals(-1L, json.get(JsonTags.SLA_SUMMARY_DURATION_DELAY)); + assertEquals(0L, json.get(JsonTags.SLA_SUMMARY_DURATION_DELAY)); assertEquals(-1L, json.get(JsonTags.SLA_SUMMARY_END_DELAY)); } } @@ -232,7 +232,7 @@ public class TestV2SLAServlet extends DagServletTestCase { parentId = (String) json.get(JsonTags.SLA_SUMMARY_PARENT_ID); assertTrue(parentId.equals(cjBean1.getId())); assertEquals(1L, json.get(JsonTags.SLA_SUMMARY_START_DELAY)); - assertEquals(1L, json.get(JsonTags.SLA_SUMMARY_DURATION_DELAY)); + assertEquals(0L, json.get(JsonTags.SLA_SUMMARY_DURATION_DELAY)); assertEquals(2L, json.get(JsonTags.SLA_SUMMARY_END_DELAY)); //test filter bundleName + Multiple EventStatus @@ -265,7 +265,7 @@ public class TestV2SLAServlet extends DagServletTestCase { assertFalse(eventStatus.contains("END_MISS") || eventStatus.contains("END_MET")); // actualDuration is null on DB while job is running, populates it in API call assertEquals(9L, json.get(JsonTags.SLA_SUMMARY_ACTUAL_DURATION)); - assertEquals(1L, json.get(JsonTags.SLA_SUMMARY_DURATION_DELAY)); + assertEquals(0L, json.get(JsonTags.SLA_SUMMARY_DURATION_DELAY)); return null; } }); http://git-wip-us.apache.org/repos/asf/oozie/blob/f45e1eb7/docs/src/site/twiki/DG_SLAMonitoring.twiki ---------------------------------------------------------------------- diff --git a/docs/src/site/twiki/DG_SLAMonitoring.twiki b/docs/src/site/twiki/DG_SLAMonitoring.twiki index 7915d84..11a06af 100644 --- a/docs/src/site/twiki/DG_SLAMonitoring.twiki +++ b/docs/src/site/twiki/DG_SLAMonitoring.twiki @@ -200,8 +200,8 @@ GET <oozie-host>:<port>/oozie/v2/sla?timezone=GMT&filter=nominal_start=2013-06-1 actualStartTime: "2013-16-22T05:30Z" <-- (20 min late relative to expected start) expectedEndTime: "2013-16-22T05:40Z" <-- (should end by this time) actualEndTime: null - expectedDuration: 15 - actualDuration: null + expectedDuration: 900000 <-- (expected duration in milliseconds) + actualDuration: 120000 <-- (actual duration in milliseconds) notificationMessage: "My Job has encountered an SLA event!" upstreamApps: "dependent-app-1, dependent-app-2" @@ -231,8 +231,8 @@ GET <oozie-host>:<port>/oozie/v2/sla?timezone=GMT&filter=parent_id=000056-123879 actualStartTime: "2013-16-22T05:05Z" expectedEndTime: "2013-16-22T05:40Z" <-- (should end by this time) actualEndTime: "2013-16-22T06:00Z" <-- (20 min late relative to expected end) - expectedDuration: 60 - actualDuration: 55 + expectedDuration: 3600000 <-- (expected duration in milliseconds) + actualDuration: 3300000 <-- (actual duration in milliseconds) notificationMessage: "My Job has encountered an SLA event!" upstreamApps: "dependent-app-1, dependent-app-2" @@ -262,8 +262,8 @@ GET <oozie-host>:<port>/oozie/v2/sla?timezone=GMT&filter=id=000001-1238791320234 actualStartTime: "2013-16-22T05:05Z" expectedEndTime: "2013-16-22T05:40Z" actualEndTime: "2013-16-22T05:30Z" - expectedDuration: 15 <-- (expected duration in minutes) - actualDuration: 25 + expectedDuration: 900000 <-- (expected duration in milliseconds) + actualDuration: 1500000 <- (actual duration in milliseconds) notificationMessage: "My Job has encountered an SLA event!" upstreamApps: "dependent-app-1, dependent-app-2" @@ -297,9 +297,9 @@ GET <oozie-host>:<port>/oozie/v2/sla?timezone=GMT&filter=bundle=1234567-15013022 expectedEndTime: "2014-01-10T13:00Z" actualEndTime: "2014-01-10T13:05Z" endDelay: 5 - expectedDuration: 60 - actualDuration: 66 - durationDelay: 6 + expectedDuration: 3600000 <-- (expected duration in milliseconds) + actualDuration: 3960000 <-- (actual duration in milliseconds) + durationDelay: 6 <-- (duration delay in minutes) } { id : "000001-1238791320234-oozie-joe-C@2" @@ -317,9 +317,9 @@ GET <oozie-host>:<port>/oozie/v2/sla?timezone=GMT&filter=bundle=1234567-15013022 expectedEndTime: "2014-01-11T13:00Z" actualEndTime: "2014-01-11T13:01Z" endDelay: 1 - expectedDuration: 60 - actualDuration: 56 - durationDelay: -4 + expectedDuration: 3600000 <-- (expected duration in milliseconds) + actualDuration: 3360000 <-- (actual duration in milliseconds) + durationDelay: -4 <-- (duration delay in minutes) } </verbatim> @@ -349,7 +349,7 @@ SLA Details: Expected Start Time - Mon Jun 10 23:35:00 UTC 2013 Actual Start Time - Mon Jun 10 23:34:04 UTC 2013 Expected End Time - Mon Jun 10 23:38:00 UTC 2013 - Expected Duration (in mins) - 300000 + Expected Duration (in mins) - 5 Actual Duration (in mins) - -1 </verbatim> http://git-wip-us.apache.org/repos/asf/oozie/blob/f45e1eb7/release-log.txt ---------------------------------------------------------------------- diff --git a/release-log.txt b/release-log.txt index 5f939e8..e2e5ec6 100644 --- a/release-log.txt +++ b/release-log.txt @@ -1,5 +1,6 @@ -- Oozie 4.3.0 release (trunk - unreleased) +OOZIE-2572 SLA DURATION miss not shown when job is running for longer than expected time (satishsaley via puru) OOZIE-2525 SchemaChecker fails with NPE (rkanter) OOZIE-2672 SLA periodic update does not remove job from map if job is removed from database (satishsaley via puru) OOZIE-2498 Oozie CallerId configuration for downstream components (abhishekbafna via rohini) http://git-wip-us.apache.org/repos/asf/oozie/blob/f45e1eb7/webapp/src/main/webapp/console/sla/js/oozie-sla-table.js ---------------------------------------------------------------------- diff --git a/webapp/src/main/webapp/console/sla/js/oozie-sla-table.js b/webapp/src/main/webapp/console/sla/js/oozie-sla-table.js index 7ae604c..feeae5b 100644 --- a/webapp/src/main/webapp/console/sla/js/oozie-sla-table.js +++ b/webapp/src/main/webapp/console/sla/js/oozie-sla-table.js @@ -102,28 +102,12 @@ function drawTable(jsonData) { slaSummary.nominalTimeTZ = new Date(slaSummary.nominalTime).toUTCString(); if (slaSummary.expectedStart) { slaSummary.expectedStartTZ = new Date(slaSummary.expectedStart).toUTCString(); - if (slaSummary.actualStart) { - if (slaSummary.actualStart > slaSummary.expectedStart) { - slaMisses = "START_MISS, "; - } - } - else if (currentTime > slaSummary.expectedStart) { - slaMisses = "START_MISS, "; - } } if (slaSummary.actualStart) { slaSummary.actualStartTZ = new Date(slaSummary.actualStart).toUTCString(); } if (slaSummary.expectedEnd) { slaSummary.expectedEndTZ = new Date(slaSummary.expectedEnd).toUTCString(); - if (slaSummary.actualEnd) { - if (slaSummary.actualEnd > slaSummary.expectedEnd) { - slaMisses += "END_MISS, "; - } - } - else if (currentTime > slaSummary.expectedEnd) { - slaMisses += "END_MISS, "; - } } if (slaSummary.actualEnd) { slaSummary.actualEndTZ = new Date(slaSummary.actualEnd).toUTCString(); @@ -137,11 +121,8 @@ function drawTable(jsonData) { } if (slaSummary.actualDuration != -1 && slaSummary.expectedDuration != -1) { slaSummary.durDiff = slaSummary.actualDuration - slaSummary.expectedDuration; - if (slaSummary.actualDuration > slaSummary.expectedDuration) { - slaMisses += "DURATION_MISS, "; - } } - slaSummary.slaMisses = slaMisses.length > 2 ? slaMisses.substring(0, slaMisses.length - 2) : ""; + slaSummary.slaMisses = slaSummary.eventStatus; } oTable = $('#sla_table').dataTable( {