Author: virag
Date: Wed Mar 20 07:40:36 2013
New Revision: 1458672

URL: http://svn.apache.org/r1458672
Log:
OOZIE-1277 CoordActionInputCheck requeues itself even if only push missing 
dependencies exist (virag)

Modified:
    
oozie/trunk/core/src/main/java/org/apache/oozie/command/coord/CoordActionInputCheckXCommand.java
    
oozie/trunk/core/src/test/java/org/apache/oozie/command/coord/TestCoordPushDependencyCheckXCommand.java
    oozie/trunk/release-log.txt

Modified: 
oozie/trunk/core/src/main/java/org/apache/oozie/command/coord/CoordActionInputCheckXCommand.java
URL: 
http://svn.apache.org/viewvc/oozie/trunk/core/src/main/java/org/apache/oozie/command/coord/CoordActionInputCheckXCommand.java?rev=1458672&r1=1458671&r2=1458672&view=diff
==============================================================================
--- 
oozie/trunk/core/src/main/java/org/apache/oozie/command/coord/CoordActionInputCheckXCommand.java
 (original)
+++ 
oozie/trunk/core/src/main/java/org/apache/oozie/command/coord/CoordActionInputCheckXCommand.java
 Wed Mar 20 07:40:36 2013
@@ -133,7 +133,7 @@ public class CoordActionInputCheckXComma
             String pushDeps = coordAction.getPushMissingDependencies();
             // Resolve latest/future only when all current missingDependencies 
and
             // pushMissingDependencies are met
-            if (status) {
+            if (status && nonResolvedList.length() > 0) {
                 status = (pushDeps == null || pushDeps.length() == 0) ? 
checkUnResolvedInput(actionXml, actionConf)
                         : false;
             }
@@ -148,7 +148,7 @@ public class CoordActionInputCheckXComma
                 isChangeInDependency = true;
                 coordAction.setMissingDependencies(nonExistListStr);
             }
-            if (status) {
+            if (status && (pushDeps == null || pushDeps.length() == 0)) {
                 String newActionXml = resolveCoordConfiguration(actionXml, 
actionConf, actionId);
                 actionXml.replace(0, actionXml.length(), newActionXml);
                 coordAction.setActionXml(actionXml.toString());

Modified: 
oozie/trunk/core/src/test/java/org/apache/oozie/command/coord/TestCoordPushDependencyCheckXCommand.java
URL: 
http://svn.apache.org/viewvc/oozie/trunk/core/src/test/java/org/apache/oozie/command/coord/TestCoordPushDependencyCheckXCommand.java?rev=1458672&r1=1458671&r2=1458672&view=diff
==============================================================================
--- 
oozie/trunk/core/src/test/java/org/apache/oozie/command/coord/TestCoordPushDependencyCheckXCommand.java
 (original)
+++ 
oozie/trunk/core/src/test/java/org/apache/oozie/command/coord/TestCoordPushDependencyCheckXCommand.java
 Wed Mar 20 07:40:36 2013
@@ -358,7 +358,14 @@ public class TestCoordPushDependencyChec
         String newHCatDependency2 = "hcat://" + server + 
"/nodb/notable/dt=20120430;country=usa";
         String newHCatDependency = newHCatDependency1 + 
CoordELFunctions.INSTANCE_SEPARATOR + newHCatDependency2;
 
-        String actionId = addInitRecords(newHCatDependency);
+
+        CoordinatorJobBean job = 
addRecordToCoordJobTableForWaiting("coord-job-for-action-input-check.xml",
+                CoordinatorJob.Status.RUNNING, false, true);
+
+        CoordinatorActionBean action = 
addRecordToCoordActionTableForWaiting(job.getId(), 1,
+                CoordinatorAction.Status.WAITING, 
"coord-action-for-action-input-check.xml", null,
+                newHCatDependency, "Z");
+        String actionId = action.getId();
         checkCoordAction(actionId, newHCatDependency, 
CoordinatorAction.Status.WAITING);
         try {
             new CoordPushDependencyCheckXCommand(actionId, true).call();
@@ -371,6 +378,12 @@ public class TestCoordPushDependencyChec
         CallableQueueService callableQueueService = 
Services.get().get(CallableQueueService.class);
         assertEquals(0, callableQueueService.getQueueDump().size());
 
+        // Nothing should be queued as there are no pull missing dependencies
+        // but only push missing deps are there
+        new CoordActionInputCheckXCommand(actionId, job.getId()).call();
+        callableQueueService = Services.get().get(CallableQueueService.class);
+        assertEquals(0, callableQueueService.getQueueDump().size());
+
         setMissingDependencies(actionId, newHCatDependency1);
         try {
             new CoordPushDependencyCheckXCommand(actionId, true).call();

Modified: oozie/trunk/release-log.txt
URL: 
http://svn.apache.org/viewvc/oozie/trunk/release-log.txt?rev=1458672&r1=1458671&r2=1458672&view=diff
==============================================================================
--- oozie/trunk/release-log.txt (original)
+++ oozie/trunk/release-log.txt Wed Mar 20 07:40:36 2013
@@ -7,6 +7,7 @@ OOZIE-1239 Bump up trunk to 4.1.0-SNAPSH
 
 -- Oozie 4.0.0 (unreleased)
 
+OOZIE-1277 CoordActionInputCheck requeues itself even if only push missing 
dependencies exist (virag)
 OOZIE-1272 Two workflow jobs mapped to a single coordinator action (ryota via 
virag)
 OOZIE-1274 change recovery service interval to make it consistent with 
oozie-default.xml (ryota via virag)
 OOZIE-1246 appname need to be persisted on SLA event table by SLA status event 
(ryota via virag)


Reply via email to