You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@oozie.apache.org by tu...@apache.org on 2012/06/20 23:05:40 UTC
svn commit: r1352318 - in /incubator/oozie/trunk: ./
client/src/main/java/org/apache/oozie/cli/
core/src/main/java/org/apache/oozie/command/coord/
core/src/test/java/org/apache/oozie/command/coord/
Author: tucu
Date: Wed Jun 20 21:05:39 2012
New Revision: 1352318
URL: http://svn.apache.org/viewvc?rev=1352318&view=rev
Log:
OOZIE-563 Missing dependency showing feeds that are already present (mona via tucu)
Modified:
incubator/oozie/trunk/client/src/main/java/org/apache/oozie/cli/OozieCLI.java
incubator/oozie/trunk/core/src/main/java/org/apache/oozie/command/coord/CoordActionInputCheckXCommand.java
incubator/oozie/trunk/core/src/test/java/org/apache/oozie/command/coord/TestCoordActionInputCheckXCommand.java
incubator/oozie/trunk/release-log.txt
Modified: incubator/oozie/trunk/client/src/main/java/org/apache/oozie/cli/OozieCLI.java
URL: http://svn.apache.org/viewvc/incubator/oozie/trunk/client/src/main/java/org/apache/oozie/cli/OozieCLI.java?rev=1352318&r1=1352317&r2=1352318&view=diff
==============================================================================
--- incubator/oozie/trunk/client/src/main/java/org/apache/oozie/cli/OozieCLI.java (original)
+++ incubator/oozie/trunk/client/src/main/java/org/apache/oozie/cli/OozieCLI.java Wed Jun 20 21:05:39 2012
@@ -135,6 +135,8 @@ public class OozieCLI {
private boolean used;
+ private static final String INSTANCE_SEPARATOR = "#";
+
static {
StringBuilder sb = new StringBuilder();
for (int i = 0; i < LINE_WIDTH; i++) {
@@ -875,6 +877,10 @@ public class OozieCLI {
System.out.println(RULER);
for (CoordinatorAction action : actions) {
+ String missingDep = action.getMissingDependencies();
+ if(!missingDep.isEmpty()) {
+ missingDep = missingDep.split(INSTANCE_SEPARATOR)[0];
+ }
System.out.println(maskIfNull(action.getId()) + VERBOSE_DELIMITER + action.getActionNumber()
+ VERBOSE_DELIMITER + maskIfNull(action.getConsoleUrl()) + VERBOSE_DELIMITER
+ maskIfNull(action.getErrorCode()) + VERBOSE_DELIMITER + maskIfNull(action.getErrorMessage())
@@ -884,7 +890,7 @@ public class OozieCLI {
+ maskDate(action.getCreatedTime(), localtime) + VERBOSE_DELIMITER
+ maskDate(action.getNominalTime(), localtime) + action.getStatus() + VERBOSE_DELIMITER
+ maskDate(action.getLastModifiedTime(), localtime) + VERBOSE_DELIMITER
- + maskIfNull(action.getMissingDependencies()));
+ + maskIfNull(missingDep));
System.out.println(RULER);
}
@@ -946,7 +952,11 @@ public class OozieCLI {
System.out.println("Nominal Time : " + maskDate(coordAction.getNominalTime(), contains));
System.out.println("Status : " + coordAction.getStatus());
System.out.println("Last Modified : " + maskDate(coordAction.getLastModifiedTime(), contains));
- System.out.println("Missing Dependencies : " + maskIfNull(coordAction.getMissingDependencies()));
+ String missingDep = coordAction.getMissingDependencies();
+ if(!missingDep.isEmpty()) {
+ missingDep = missingDep.split(INSTANCE_SEPARATOR)[0];
+ }
+ System.out.println("First Missing Dependency : " + maskIfNull(missingDep));
System.out.println(RULER);
}
Modified: incubator/oozie/trunk/core/src/main/java/org/apache/oozie/command/coord/CoordActionInputCheckXCommand.java
URL: http://svn.apache.org/viewvc/incubator/oozie/trunk/core/src/main/java/org/apache/oozie/command/coord/CoordActionInputCheckXCommand.java?rev=1352318&r1=1352317&r2=1352318&view=diff
==============================================================================
--- incubator/oozie/trunk/core/src/main/java/org/apache/oozie/command/coord/CoordActionInputCheckXCommand.java (original)
+++ incubator/oozie/trunk/core/src/main/java/org/apache/oozie/command/coord/CoordActionInputCheckXCommand.java Wed Jun 20 21:05:39 2012
@@ -117,10 +117,17 @@ public class CoordActionInputCheckXComma
StringBuilder existList = new StringBuilder();
StringBuilder nonExistList = new StringBuilder();
StringBuilder nonResolvedList = new StringBuilder();
+ String firstMissingDependency = "";
CoordCommandUtils.getResolvedList(coordAction.getMissingDependencies(), nonExistList, nonResolvedList);
- LOG.info("[" + actionId + "]::CoordActionInputCheck:: Missing deps:" + nonExistList.toString() + " "
+ // For clarity regarding which is the missing dependency in synchronous order
+ // instead of printing entire list, some of which, may be available
+ if(nonExistList.length() > 0) {
+ firstMissingDependency = nonExistList.toString().split(CoordELFunctions.INSTANCE_SEPARATOR)[0];
+ }
+ LOG.info("[" + actionId + "]::CoordActionInputCheck:: Missing deps:" + firstMissingDependency + " "
+ nonResolvedList.toString());
+ // Updating the list of data dependencies that are available and those that are yet not
boolean status = checkInput(actionXml, existList, nonExistList, actionConf);
coordAction.setLastModifiedTime(currentTime);
coordAction.setActionXml(actionXml.toString());
Modified: incubator/oozie/trunk/core/src/test/java/org/apache/oozie/command/coord/TestCoordActionInputCheckXCommand.java
URL: http://svn.apache.org/viewvc/incubator/oozie/trunk/core/src/test/java/org/apache/oozie/command/coord/TestCoordActionInputCheckXCommand.java?rev=1352318&r1=1352317&r2=1352318&view=diff
==============================================================================
--- incubator/oozie/trunk/core/src/test/java/org/apache/oozie/command/coord/TestCoordActionInputCheckXCommand.java (original)
+++ incubator/oozie/trunk/core/src/test/java/org/apache/oozie/command/coord/TestCoordActionInputCheckXCommand.java Wed Jun 20 21:05:39 2012
@@ -142,6 +142,50 @@ public class TestCoordActionInputCheckXC
}
/**
+ * Test to check that missing dependencies list starts from the first unavailable dependency in synchronous order
+ * @throws Exception
+ */
+ public void testActionInputMissingDependencies() throws Exception {
+ String jobId = "0000000-" + new Date().getTime() + "-TestCoordActionInputCheckXCommand-C";
+ Date startTime = DateUtils.parseDateUTC("2009-02-15T23:59Z");
+ Date endTime = DateUtils.parseDateUTC("2009-02-16T23:59Z");
+ CoordinatorJobBean job = addRecordToCoordJobTable(jobId, startTime, endTime);
+ new CoordMaterializeTransitionXCommand(job.getId(), 3600).call();
+
+ // providing some of the dataset dirs required as per coordinator specification - /2009/12, /2009/05, /2009/29, /2009/22
+ createDir(getTestCaseDir() + "/2009/12/");
+ createDir(getTestCaseDir() + "/2009/29/");
+
+ new CoordActionInputCheckXCommand(job.getId() + "@1", job.getId()).call();
+ CoordinatorActionBean action = null;
+ try {
+ JPAService jpaService = Services.get().get(JPAService.class);
+ action = jpaService.execute(new CoordActionGetJPAExecutor(job.getId() + "@1"));
+ }
+ catch (JPAExecutorException se) {
+ fail("Action ID " + job.getId() + "@1" + " was not stored properly in db");
+ }
+
+ // Missing dependencies recorded by the coordinator action after input check
+ String missDepsOrder = action.getMissingDependencies();
+ // Expected missing dependencies are /2009/05, /2009/29, and /2009/22.
+
+ int index = missDepsOrder.indexOf("/2009/12");
+ if( index >= 0) {
+ fail("Dependency should be available! current list: " + missDepsOrder);
+ }
+ // Case when /2009/29 exists but checking stops since dataset synchronously expected before i.e. /2009/05 is missing
+ index = missDepsOrder.indexOf("/2009/29");
+ if( index < 0) {
+ fail("Data should have been in missing dependency list! current list: " + missDepsOrder);
+ }
+ index = missDepsOrder.indexOf("/2009/05");
+ if( index < 0) {
+ fail("Data should have been in missing dependency list! current list: " + missDepsOrder);
+ }
+ }
+
+ /**
* This test case verifies if getCoordInputCheckRequeueInterval picks up the
* overridden value. In reality, the value could be overridden in
* oozie-site.xml.
Modified: incubator/oozie/trunk/release-log.txt
URL: http://svn.apache.org/viewvc/incubator/oozie/trunk/release-log.txt?rev=1352318&r1=1352317&r2=1352318&view=diff
==============================================================================
--- incubator/oozie/trunk/release-log.txt (original)
+++ incubator/oozie/trunk/release-log.txt Wed Jun 20 21:05:39 2012
@@ -1,5 +1,6 @@
-- Oozie 3.3.0 release (trunk - unreleased)
+OOZIE-563 Missing dependency showing feeds that are already present (mona via tucu)
OOZIE-879 streaming sharelib brings in lots of unwanted dependencies (rkanter via tucu)
OOZIE-876 distcp packaging with Hadoop 1 brings in lots of unwanted dependencies (rkanter via tucu)
OOZIE-559 Create DistCp WF example (rkanter via tucu)