Repository: oozie Updated Branches: refs/heads/master 853a4af9f -> adb91c6a9
OOZIE-1775 TestEventGeneration.testCoordinatorActionEvent is failing and CoordRerunX should generate event (mona) Project: http://git-wip-us.apache.org/repos/asf/oozie/repo Commit: http://git-wip-us.apache.org/repos/asf/oozie/commit/adb91c6a Tree: http://git-wip-us.apache.org/repos/asf/oozie/tree/adb91c6a Diff: http://git-wip-us.apache.org/repos/asf/oozie/diff/adb91c6a Branch: refs/heads/master Commit: adb91c6a95328e078c77a014aec01a3949f92e95 Parents: 853a4af Author: mona <[email protected]> Authored: Wed May 28 11:27:53 2014 -0700 Committer: mona <[email protected]> Committed: Wed May 28 11:27:53 2014 -0700 ---------------------------------------------------------------------- .../apache/oozie/command/TransitionXCommand.java | 5 +++-- .../oozie/command/coord/CoordRerunXCommand.java | 2 +- .../oozie/command/coord/CoordResumeXCommand.java | 6 ++++++ .../org/apache/oozie/sla/service/SLAService.java | 1 + .../apache/oozie/event/TestEventGeneration.java | 19 +++++++++++++++---- .../apache/oozie/sla/TestSLAEventGeneration.java | 1 + core/src/test/resources/coord-action-sla.xml | 2 +- release-log.txt | 1 + 8 files changed, 29 insertions(+), 8 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/oozie/blob/adb91c6a/core/src/main/java/org/apache/oozie/command/TransitionXCommand.java ---------------------------------------------------------------------- diff --git a/core/src/main/java/org/apache/oozie/command/TransitionXCommand.java b/core/src/main/java/org/apache/oozie/command/TransitionXCommand.java index c9e185c..dc4be10 100644 --- a/core/src/main/java/org/apache/oozie/command/TransitionXCommand.java +++ b/core/src/main/java/org/apache/oozie/command/TransitionXCommand.java @@ -18,6 +18,7 @@ package org.apache.oozie.command; import java.util.ArrayList; +import java.util.Date; import java.util.List; import org.apache.oozie.CoordinatorActionBean; @@ -77,13 +78,13 @@ public abstract class TransitionXCommand<T> extends XCommand<T> { * @param em * @throws CommandException */ - public void generateEvents(CoordinatorJobBean coordJob) throws CommandException { + public void generateEvents(CoordinatorJobBean coordJob, Date startTime) throws CommandException { for(UpdateEntry entry : updateList){ JsonBean actionBean = entry.getBean(); if (actionBean instanceof CoordinatorActionBean) { CoordinatorActionBean caBean = (CoordinatorActionBean) actionBean; caBean.setJobId(coordJob.getId()); - CoordinatorXCommand.generateEvent(caBean, coordJob.getUser(), coordJob.getAppName(), null); + CoordinatorXCommand.generateEvent(caBean, coordJob.getUser(), coordJob.getAppName(), startTime); } // TODO generate Coord Job event } http://git-wip-us.apache.org/repos/asf/oozie/blob/adb91c6a/core/src/main/java/org/apache/oozie/command/coord/CoordRerunXCommand.java ---------------------------------------------------------------------- diff --git a/core/src/main/java/org/apache/oozie/command/coord/CoordRerunXCommand.java b/core/src/main/java/org/apache/oozie/command/coord/CoordRerunXCommand.java index 8aeb803..735b295 100644 --- a/core/src/main/java/org/apache/oozie/command/coord/CoordRerunXCommand.java +++ b/core/src/main/java/org/apache/oozie/command/coord/CoordRerunXCommand.java @@ -391,7 +391,7 @@ public class CoordRerunXCommand extends RerunTransitionXCommand<CoordinatorActio try { BatchQueryExecutor.getInstance().executeBatchInsertUpdateDelete(insertList, updateList, null); if (EventHandlerService.isEnabled()) { - generateEvents(coordJob); + generateEvents(coordJob, null); } } catch (JPAExecutorException e) { http://git-wip-us.apache.org/repos/asf/oozie/blob/adb91c6a/core/src/main/java/org/apache/oozie/command/coord/CoordResumeXCommand.java ---------------------------------------------------------------------- diff --git a/core/src/main/java/org/apache/oozie/command/coord/CoordResumeXCommand.java b/core/src/main/java/org/apache/oozie/command/coord/CoordResumeXCommand.java index 47900a4..0aae1e6 100644 --- a/core/src/main/java/org/apache/oozie/command/coord/CoordResumeXCommand.java +++ b/core/src/main/java/org/apache/oozie/command/coord/CoordResumeXCommand.java @@ -38,6 +38,7 @@ import org.apache.oozie.executor.jpa.CoordJobGetActionsSuspendedJPAExecutor; import org.apache.oozie.executor.jpa.CoordJobGetJPAExecutor; import org.apache.oozie.executor.jpa.JPAExecutorException; import org.apache.oozie.executor.jpa.CoordJobQueryExecutor.CoordJobQuery; +import org.apache.oozie.service.EventHandlerService; import org.apache.oozie.service.JPAService; import org.apache.oozie.service.Services; import org.apache.oozie.util.InstrumentUtils; @@ -164,6 +165,11 @@ public class CoordResumeXCommand extends ResumeTransitionXCommand { public void performWrites() throws CommandException { try { BatchQueryExecutor.getInstance().executeBatchInsertUpdateDelete(null, updateList, null); + if (EventHandlerService.isEnabled()) { + // good enough to set event start time as coord's last modified time + // updated when set to running + generateEvents(coordJob, coordJob.getLastModifiedTime()); + } } catch (JPAExecutorException e) { throw new CommandException(e); http://git-wip-us.apache.org/repos/asf/oozie/blob/adb91c6a/core/src/main/java/org/apache/oozie/sla/service/SLAService.java ---------------------------------------------------------------------- diff --git a/core/src/main/java/org/apache/oozie/sla/service/SLAService.java b/core/src/main/java/org/apache/oozie/sla/service/SLAService.java index ea2983f..7fcb334 100644 --- a/core/src/main/java/org/apache/oozie/sla/service/SLAService.java +++ b/core/src/main/java/org/apache/oozie/sla/service/SLAService.java @@ -93,6 +93,7 @@ public class SLAService implements Service { return slaEnabled; } + @VisibleForTesting public SLACalculator getSLACalculator() { return calcImpl; } http://git-wip-us.apache.org/repos/asf/oozie/blob/adb91c6a/core/src/test/java/org/apache/oozie/event/TestEventGeneration.java ---------------------------------------------------------------------- diff --git a/core/src/test/java/org/apache/oozie/event/TestEventGeneration.java b/core/src/test/java/org/apache/oozie/event/TestEventGeneration.java index 9c03299..3f68c73 100644 --- a/core/src/test/java/org/apache/oozie/event/TestEventGeneration.java +++ b/core/src/test/java/org/apache/oozie/event/TestEventGeneration.java @@ -17,7 +17,6 @@ */ package org.apache.oozie.event; -import java.io.File; import java.io.FileWriter; import java.io.Reader; import java.io.Writer; @@ -85,6 +84,7 @@ import org.apache.oozie.service.LiteWorkflowStoreService; import org.apache.oozie.service.Services; import org.apache.oozie.service.UUIDService; import org.apache.oozie.test.XDataTestCase; +import org.apache.oozie.test.XTestCase.Predicate; import org.apache.oozie.util.DateUtils; import org.apache.oozie.util.IOUtils; import org.apache.oozie.util.XConfiguration; @@ -320,18 +320,20 @@ public class TestEventGeneration extends XDataTestCase { ((LiteWorkflowInstance) wfInstance).setStatus(WorkflowInstance.Status.SUSPENDED); wfJob.setWorkflowInstance(wfInstance); WorkflowJobQueryExecutor.getInstance().executeUpdate(WorkflowJobQuery.UPDATE_WORKFLOW_STATUS_INSTANCE_MODIFIED, wfJob); + queue.clear(); new CoordResumeXCommand(coord.getId()).call(); - Thread.sleep(5000); + waitForEventGeneration(1000); CoordinatorActionEvent cevent = (CoordinatorActionEvent) queue.poll(); assertEquals(EventStatus.STARTED, cevent.getEventStatus()); assertEquals(AppType.COORDINATOR_ACTION, cevent.getAppType()); assertEquals(action.getId(), cevent.getId()); assertEquals(action.getJobId(), cevent.getParentId()); assertEquals(action.getNominalTime(), cevent.getNominalTime()); - assertEquals(wfJob.getStartTime(), cevent.getStartTime()); + coord = CoordJobQueryExecutor.getInstance().get(CoordJobQuery.GET_COORD_JOB, coord.getId()); + assertEquals(coord.getLastModifiedTime(), cevent.getStartTime()); // Action going to WAITING on Coord Rerun - action.setStatus(CoordinatorAction.Status.SUCCEEDED); + action.setStatus(CoordinatorAction.Status.KILLED); CoordActionQueryExecutor.getInstance().executeUpdate(CoordActionQuery.UPDATE_COORD_ACTION_STATUS_PENDING_TIME, action); queue.clear(); new CoordRerunXCommand(coord.getId(), RestConstants.JOB_COORD_SCOPE_ACTION, "1", false, true) @@ -655,4 +657,13 @@ public class TestEventGeneration extends XDataTestCase { return action.getId(); } + private void waitForEventGeneration(int wait) { + waitFor(wait, new Predicate() { + @Override + public boolean evaluate() throws Exception { + return ehs.getEventQueue().peek() != null; + } + }); + } + } http://git-wip-us.apache.org/repos/asf/oozie/blob/adb91c6a/core/src/test/java/org/apache/oozie/sla/TestSLAEventGeneration.java ---------------------------------------------------------------------- diff --git a/core/src/test/java/org/apache/oozie/sla/TestSLAEventGeneration.java b/core/src/test/java/org/apache/oozie/sla/TestSLAEventGeneration.java index f3bfc29..cb4e434 100644 --- a/core/src/test/java/org/apache/oozie/sla/TestSLAEventGeneration.java +++ b/core/src/test/java/org/apache/oozie/sla/TestSLAEventGeneration.java @@ -436,6 +436,7 @@ public class TestSLAEventGeneration extends XDataTestCase { assertTrue(SLAStatus.IN_PROCESS == slaEvent.getSLAStatus() || SLAStatus.NOT_STARTED == slaEvent.getSLAStatus()); assertEquals(EventStatus.START_MISS, slaEvent.getEventStatus()); + ehs.getEventQueue().clear(); // test that sla processes the Job Event from Start command action.setStatus(CoordinatorAction.Status.SUBMITTED); CoordActionQueryExecutor.getInstance().executeUpdate(CoordActionQuery.UPDATE_COORD_ACTION_STATUS_PENDING_TIME, action); http://git-wip-us.apache.org/repos/asf/oozie/blob/adb91c6a/core/src/test/resources/coord-action-sla.xml ---------------------------------------------------------------------- diff --git a/core/src/test/resources/coord-action-sla.xml b/core/src/test/resources/coord-action-sla.xml index e88df6c..4893c61 100644 --- a/core/src/test/resources/coord-action-sla.xml +++ b/core/src/test/resources/coord-action-sla.xml @@ -16,7 +16,7 @@ limitations under the License. --> <coordinator-app name="test-coord-sla" frequency="${coord:days(1)}" - start="2009-01-02T08:01Z" end="2010-01-01T08:01Z" + start="2009-01-01T08:01Z" end="2009-01-02T08:01Z" timezone="America/Los_Angeles" xmlns="uri:oozie:coordinator:0.4" xmlns:sla="uri:oozie:sla:0.2"> http://git-wip-us.apache.org/repos/asf/oozie/blob/adb91c6a/release-log.txt ---------------------------------------------------------------------- diff --git a/release-log.txt b/release-log.txt index 44e42d5..ef32934 100644 --- a/release-log.txt +++ b/release-log.txt @@ -1,5 +1,6 @@ -- Oozie 4.1.0 release (trunk - unreleased) +OOZIE-1775 TestEventGeneration.testCoordinatorActionEvent is failing and CoordRerunX should generate event (mona) OOZIE-1844 HA - Lock mechanism for CoordMaterializeTriggerService (puru via rohini) OOZIE-1834 sla should-start is supposed to be optional but it is not (rkanter) OOZIE-1838 jdbc.connections.active sampler does not show up (rkanter)
