You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@oozie.apache.org by vi...@apache.org on 2012/11/30 05:44:35 UTC
svn commit: r1415499 - in /oozie/branches/branch-3.3:
core/src/main/java/org/apache/oozie/command/coord/CoordRerunXCommand.java
core/src/test/java/org/apache/oozie/command/bundle/TestBundleRerunXCommand.java
release-log.txt
Author: virag
Date: Fri Nov 30 04:44:34 2012
New Revision: 1415499
URL: http://svn.apache.org/viewvc?rev=1415499&view=rev
Log:
OOZIE-1065 bundle status does not transit after rerun (virag)
Modified:
oozie/branches/branch-3.3/core/src/main/java/org/apache/oozie/command/coord/CoordRerunXCommand.java
oozie/branches/branch-3.3/core/src/test/java/org/apache/oozie/command/bundle/TestBundleRerunXCommand.java
oozie/branches/branch-3.3/release-log.txt
Modified: oozie/branches/branch-3.3/core/src/main/java/org/apache/oozie/command/coord/CoordRerunXCommand.java
URL: http://svn.apache.org/viewvc/oozie/branches/branch-3.3/core/src/main/java/org/apache/oozie/command/coord/CoordRerunXCommand.java?rev=1415499&r1=1415498&r2=1415499&view=diff
==============================================================================
--- oozie/branches/branch-3.3/core/src/main/java/org/apache/oozie/command/coord/CoordRerunXCommand.java (original)
+++ oozie/branches/branch-3.3/core/src/main/java/org/apache/oozie/command/coord/CoordRerunXCommand.java Fri Nov 30 04:44:34 2012
@@ -281,9 +281,15 @@ public class CoordRerunXCommand extends
*/
@Override
protected void verifyPrecondition() throws CommandException, PreconditionException {
+ BundleStatusUpdateXCommand bundleStatusUpdate = new BundleStatusUpdateXCommand(coordJob, coordJob.getStatus());
if (coordJob.getStatus() == CoordinatorJob.Status.KILLED
|| coordJob.getStatus() == CoordinatorJob.Status.FAILED) {
LOG.info("CoordRerunXCommand is not able to run, job status=" + coordJob.getStatus() + ", jobid=" + jobId);
+ // Call the parent so the pending flag is reset and state transition
+ // of bundle can happen
+ if (coordJob.getBundleId() != null) {
+ bundleStatusUpdate.call();
+ }
throw new CommandException(ErrorCode.E1018,
"coordinator job is killed or failed so all actions are not eligible to rerun!");
}
@@ -291,6 +297,11 @@ public class CoordRerunXCommand extends
// no actioins have been created for PREP job
if (coordJob.getStatus() == CoordinatorJob.Status.PREP) {
LOG.info("CoordRerunXCommand is not able to run, job status=" + coordJob.getStatus() + ", jobid=" + jobId);
+ // Call the parent so the pending flag is reset and state transition
+ // of bundle can happen
+ if (coordJob.getBundleId() != null) {
+ bundleStatusUpdate.call();
+ }
throw new CommandException(ErrorCode.E1018,
"coordinator job is PREP so no actions are materialized to rerun!");
}
Modified: oozie/branches/branch-3.3/core/src/test/java/org/apache/oozie/command/bundle/TestBundleRerunXCommand.java
URL: http://svn.apache.org/viewvc/oozie/branches/branch-3.3/core/src/test/java/org/apache/oozie/command/bundle/TestBundleRerunXCommand.java?rev=1415499&r1=1415498&r2=1415499&view=diff
==============================================================================
--- oozie/branches/branch-3.3/core/src/test/java/org/apache/oozie/command/bundle/TestBundleRerunXCommand.java (original)
+++ oozie/branches/branch-3.3/core/src/test/java/org/apache/oozie/command/bundle/TestBundleRerunXCommand.java Fri Nov 30 04:44:34 2012
@@ -19,10 +19,12 @@ package org.apache.oozie.command.bundle;
import java.util.Date;
+import org.apache.oozie.BundleActionBean;
import org.apache.oozie.BundleJobBean;
import org.apache.oozie.CoordinatorJobBean;
import org.apache.oozie.client.CoordinatorJob;
import org.apache.oozie.client.Job;
+import org.apache.oozie.executor.jpa.BundleActionGetJPAExecutor;
import org.apache.oozie.executor.jpa.BundleJobGetJPAExecutor;
import org.apache.oozie.executor.jpa.BundleJobInsertJPAExecutor;
import org.apache.oozie.executor.jpa.CoordJobInsertJPAExecutor;
@@ -99,6 +101,30 @@ public class TestBundleRerunXCommand ext
assertEquals(Job.Status.RUNNING, job.getStatus());
}
+
+ /**
+ * Test : Rerun bundle job with a killed coordinator. Make sure the bundle action pending flag is reset.
+ *
+ * @throws Exception
+ */
+ public void testBundleRerunKilledCoordinator() throws Exception {
+ BundleJobBean job = this.addRecordToBundleJobTable(Job.Status.DONEWITHERROR, false);
+ String bundleId = job.getId();
+ addRecordToBundleActionTable(bundleId, "action1", 0, Job.Status.KILLED);
+ addRecordToCoordJobTableWithBundle(bundleId, "action1", CoordinatorJob.Status.KILLED, false, false, 1);
+
+ JPAService jpaService = Services.get().get(JPAService.class);
+ assertNotNull(jpaService);
+
+ new BundleRerunXCommand(bundleId, "action1", null, false, true).call();
+
+ sleep(1000);
+
+ BundleActionGetJPAExecutor bundleActionJPA = new BundleActionGetJPAExecutor(bundleId, "action1");
+ BundleActionBean ba = jpaService.execute(bundleActionJPA);
+ assertEquals(0, ba.getPending());
+ }
+
/**
* Test : Rerun a DONEWITHERROR bundle job. Status should
* change to RUNNINGWITHERROR
Modified: oozie/branches/branch-3.3/release-log.txt
URL: http://svn.apache.org/viewvc/oozie/branches/branch-3.3/release-log.txt?rev=1415499&r1=1415498&r2=1415499&view=diff
==============================================================================
--- oozie/branches/branch-3.3/release-log.txt (original)
+++ oozie/branches/branch-3.3/release-log.txt Fri Nov 30 04:44:34 2012
@@ -1,5 +1,6 @@
-- Oozie 3.3.0 release
+OOZIE-1065 bundle status does not transit after rerun (virag)
OOZIE-1064 Status value of coordinator job not reflected in bundle action and invalid transition of coordinator job (virag)
OOZIE-1089 DistributedCache workaround for Hadoop 2.0.2-alpha (tucu)
OOZIE-1005 Tests from OOZIE-994 use wrong condition in waitFor (rkanter via virag)