You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@oozie.apache.org by mo...@apache.org on 2013/03/07 00:19:04 UTC

svn commit: r1453615 - in /oozie/trunk: ./ core/src/main/java/org/apache/oozie/coord/ core/src/main/java/org/apache/oozie/dependency/ core/src/test/java/org/apache/oozie/command/coord/

Author: mona
Date: Wed Mar  6 23:19:03 2013
New Revision: 1453615

URL: http://svn.apache.org/r1453615
Log:
OOZIE-1251 Log messages for DependencyChecker class show wrong jobid and actionid (rohini via mona)

Modified:
    oozie/trunk/core/src/main/java/org/apache/oozie/coord/CoordELFunctions.java
    oozie/trunk/core/src/main/java/org/apache/oozie/coord/HCatELFunctions.java
    oozie/trunk/core/src/main/java/org/apache/oozie/dependency/DependencyChecker.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/coord/CoordELFunctions.java
URL: http://svn.apache.org/viewvc/oozie/trunk/core/src/main/java/org/apache/oozie/coord/CoordELFunctions.java?rev=1453615&r1=1453614&r2=1453615&view=diff
==============================================================================
--- oozie/trunk/core/src/main/java/org/apache/oozie/coord/CoordELFunctions.java (original)
+++ oozie/trunk/core/src/main/java/org/apache/oozie/coord/CoordELFunctions.java Wed Mar  6 23:19:03 2013
@@ -40,7 +40,6 @@ import org.apache.oozie.service.URIHandl
  */
 
 public class CoordELFunctions {
-    final private static XLog LOG = XLog.getLog(CoordELFunctions.class);
     final private static String DATASET = "oozie.coord.el.dataset.bean";
     final private static String COORD_ACTION = "oozie.coord.el.app.bean";
     final public static String CONFIGURATION = "oozie.coord.el.conf";
@@ -272,6 +271,7 @@ public class CoordELFunctions {
     }
 
     private static String coord_futureRange_sync(int startOffset, int endOffset, int instance) throws Exception {
+        final XLog LOG = XLog.getLog(CoordELFunctions.class);
         ELEvaluator eval = ELEvaluator.getCurrent();
         String retVal = "";
         int datasetFrequency = (int) getDSFrequency();// in minutes
@@ -769,7 +769,7 @@ public class CoordELFunctions {
         ELEvaluator eval = ELEvaluator.getCurrent();
         String val = (String) eval.getVariable("oozie.dataname." + n);
         if (val == null || val.equals("data-in") == false) {
-            LOG.error("data_in_name " + n + " is not valid");
+            XLog.getLog(CoordELFunctions.class).error("data_in_name " + n + " is not valid");
             throw new RuntimeException("data_in_name " + n + " is not valid");
         }
         return echoUnResolved("dataIn", "'" + n + "'");
@@ -779,7 +779,7 @@ public class CoordELFunctions {
         ELEvaluator eval = ELEvaluator.getCurrent();
         String val = (String) eval.getVariable("oozie.dataname." + n);
         if (val == null || val.equals("data-out") == false) {
-            LOG.error("data_out_name " + n + " is not valid");
+            XLog.getLog(CoordELFunctions.class).error("data_out_name " + n + " is not valid");
             throw new RuntimeException("data_out_name " + n + " is not valid");
         }
         return echoUnResolved("dataOut", "'" + n + "'");
@@ -885,6 +885,7 @@ public class CoordELFunctions {
     }
 
     private static String coord_currentRange_sync(int start, int end) throws Exception {
+        final XLog LOG = XLog.getLog(CoordELFunctions.class);
         int datasetFrequency = getDSFrequency();// in minutes
         TimeUnit dsTimeUnit = getDSTimeUnit();
         int[] instCount = new int[1];// used as pass by ref
@@ -974,7 +975,7 @@ public class CoordELFunctions {
         Calendar nominalInstanceCal = getInitialInstanceCal();
         nominalInstanceCal.add(freqUnit.getCalendarUnit(), freq * freqCount);
         if (nominalInstanceCal.getTime().compareTo(getInitialInstance()) < 0) {
-            LOG.warn("If the initial instance of the dataset is later than the offset instance"
+            XLog.getLog(CoordELFunctions.class).warn("If the initial instance of the dataset is later than the offset instance"
                     + " specified, such as coord:offset({0}, {1}) in this case, an empty string is returned. This means that no"
                     + " data is available at the offset instance specified by the user and the user could try modifying his"
                     + " initial-instance to an earlier time.", n, timeUnit);
@@ -998,6 +999,7 @@ public class CoordELFunctions {
     }
 
     private static String coord_latestRange_sync(int startOffset, int endOffset) throws Exception {
+        final XLog LOG = XLog.getLog(CoordELFunctions.class);
         ELEvaluator eval = ELEvaluator.getCurrent();
         String retVal = "";
         int datasetFrequency = (int) getDSFrequency();// in minutes
@@ -1471,7 +1473,7 @@ public class CoordELFunctions {
             cal = getCurrentInstance(getActionCreationtime(eval), null, eval);
         }
         if (cal == null) {
-            LOG.warn("If the initial instance of the dataset is later than the nominal time, an"
+            XLog.getLog(CoordELFunctions.class).warn("If the initial instance of the dataset is later than the nominal time, an"
                     + " empty string is returned. This means that no data is available at the offset instance specified by the user"
                     + " and the user could try modifying his or her initial-instance to an earlier time.");
             return null;

Modified: oozie/trunk/core/src/main/java/org/apache/oozie/coord/HCatELFunctions.java
URL: http://svn.apache.org/viewvc/oozie/trunk/core/src/main/java/org/apache/oozie/coord/HCatELFunctions.java?rev=1453615&r1=1453614&r2=1453615&view=diff
==============================================================================
--- oozie/trunk/core/src/main/java/org/apache/oozie/coord/HCatELFunctions.java (original)
+++ oozie/trunk/core/src/main/java/org/apache/oozie/coord/HCatELFunctions.java Wed Mar  6 23:19:03 2013
@@ -35,7 +35,6 @@ import org.apache.oozie.util.XLog;
  */
 
 public class HCatELFunctions {
-    private static XLog LOG = XLog.getLog(HCatELFunctions.class);
     private static final Configuration EMPTY_CONF = new Configuration(true);
 
     enum EventType {
@@ -238,7 +237,7 @@ public class HCatELFunctions {
             return hcatUri.getPartitionValue(partitionName);
         }
         catch(URISyntaxException urie) {
-            LOG.warn("Exception with uriTemplate [{0}]. Reason [{1}]: ", uri, urie);
+            XLog.getLog(HCatELFunctions.class).warn("Exception with uriTemplate [{0}]. Reason [{1}]: ", uri, urie);
             throw new RuntimeException("HCat URI can't be parsed " + urie);
         }
     }
@@ -305,7 +304,7 @@ public class HCatELFunctions {
             }
         }
         else {
-            LOG.warn("URI is null");
+            XLog.getLog(HCatELFunctions.class).warn("URI is null");
             return null;
         }
         return minPartition;
@@ -349,7 +348,7 @@ public class HCatELFunctions {
             }
         }
         else {
-            LOG.warn("URI is null");
+            XLog.getLog(HCatELFunctions.class).warn("URI is null");
             return null;
         }
         return maxPartition;
@@ -375,6 +374,7 @@ public class HCatELFunctions {
     }
 
     private static HCatURI getURIFromResolved(String dataInName, EventType type) {
+        final XLog LOG = XLog.getLog(HCatELFunctions.class);
         StringBuilder uriTemplate = new StringBuilder();
         ELEvaluator eval = ELEvaluator.getCurrent();
         String uris;
@@ -408,7 +408,7 @@ public class HCatELFunctions {
         ELEvaluator eval = ELEvaluator.getCurrent();
         String val = (String) eval.getVariable("oozie.dataname." + dataInName);
         if (val == null || (val.equals("data-in") == false && val.equals("data-out") == false)) {
-            LOG.error("dataset name " + dataInName + " is not valid. val :" + val);
+            XLog.getLog(HCatELFunctions.class).error("dataset name " + dataInName + " is not valid. val :" + val);
             throw new RuntimeException("data set name " + dataInName + " is not valid");
         }
         return true;

Modified: oozie/trunk/core/src/main/java/org/apache/oozie/dependency/DependencyChecker.java
URL: http://svn.apache.org/viewvc/oozie/trunk/core/src/main/java/org/apache/oozie/dependency/DependencyChecker.java?rev=1453615&r1=1453614&r2=1453615&view=diff
==============================================================================
--- oozie/trunk/core/src/main/java/org/apache/oozie/dependency/DependencyChecker.java (original)
+++ oozie/trunk/core/src/main/java/org/apache/oozie/dependency/DependencyChecker.java Wed Mar  6 23:19:03 2013
@@ -34,8 +34,6 @@ import org.apache.oozie.util.XLog;
 
 public class DependencyChecker {
 
-    private static XLog LOG = XLog.getLog(DependencyChecker.class);
-
     /**
      * Return a string of missing dependencies concatenated by CoordELFunctions.INSTANCE_SEPARATOR
      *
@@ -86,6 +84,7 @@ public class DependencyChecker {
      */
     public static ActionDependency checkForAvailability(String[] missingDependencies, Configuration actionConf,
             boolean stopOnFirstMissing) throws CommandException {
+        final XLog LOG = XLog.getLog(DependencyChecker.class); //OOZIE-1251. Don't initialize as static variable.
         String user = ParamChecker.notEmpty(actionConf.get(OozieClient.USER_NAME), OozieClient.USER_NAME);
         List<String> missingDeps = new ArrayList<String>();
         List<String> availableDeps = new ArrayList<String>();

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=1453615&r1=1453614&r2=1453615&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  6 23:19:03 2013
@@ -17,13 +17,20 @@
  */
 package org.apache.oozie.command.coord;
 
+import java.io.ByteArrayOutputStream;
 import java.util.List;
 
+import org.apache.log4j.Appender;
+import org.apache.log4j.Layout;
+import org.apache.log4j.Logger;
+import org.apache.log4j.SimpleLayout;
+import org.apache.log4j.WriterAppender;
 import org.apache.oozie.CoordinatorActionBean;
 import org.apache.oozie.CoordinatorJobBean;
 import org.apache.oozie.client.CoordinatorAction;
 import org.apache.oozie.client.CoordinatorJob;
 import org.apache.oozie.coord.CoordELFunctions;
+import org.apache.oozie.dependency.DependencyChecker;
 import org.apache.oozie.executor.jpa.CoordActionGetJPAExecutor;
 import org.apache.oozie.executor.jpa.JPAExecutorException;
 import org.apache.oozie.service.HCatAccessorService;
@@ -304,6 +311,29 @@ public class TestCoordPushDependencyChec
         assertFalse(hcatService.isRegisteredForNotification(new HCatURI(newHCatDependency1)));
     }
 
+    @Test
+    public void testLogMessagePrefix() throws Exception {
+        Logger logger = Logger.getLogger(DependencyChecker.class);
+        ByteArrayOutputStream out = new ByteArrayOutputStream();
+        Layout layout = new SimpleLayout();
+        Appender appender = new WriterAppender(layout, out);
+        logger.addAppender(appender);
+
+        String db = "default";
+        String table = "tablename";
+        populateTable(db, table);
+
+        String newHCatDependency = "hcat://" + server + "/" + db + "/" + table + "/dt=20120430;country=brazil";
+        String actionId1 = addInitRecords(newHCatDependency);
+        new CoordPushDependencyCheckXCommand(actionId1).call();
+        assertTrue(out.toString().contains("ACTION[" + actionId1 + "]"));
+        out.reset();
+        String actionId2 = addInitRecords(newHCatDependency);
+        new CoordPushDependencyCheckXCommand(actionId2).call();
+        assertFalse(out.toString().contains("ACTION[" + actionId1 + "]"));
+        assertTrue(out.toString().contains("ACTION[" + actionId2 + "]"));
+    }
+
     private void populateTable(String db, String table) throws Exception {
         dropTable(db, table, true);
         dropDatabase(db, true);

Modified: oozie/trunk/release-log.txt
URL: http://svn.apache.org/viewvc/oozie/trunk/release-log.txt?rev=1453615&r1=1453614&r2=1453615&view=diff
==============================================================================
--- oozie/trunk/release-log.txt (original)
+++ oozie/trunk/release-log.txt Wed Mar  6 23:19:03 2013
@@ -4,6 +4,7 @@ OOZIE-1239 Bump up trunk to 4.1.0-SNAPSH
 
 -- Oozie 4.0.0 (unreleased)
 
+OOZIE-1251 Log messages for DependencyChecker class show wrong jobid and actionid (rohini via mona)
 OOZIE-1218 Create a HCatalog Integration Guide (rohini via virag)
 OOZIE-1250 Coord action timeout not happening when there is a exception (rohini via mona)
 OOZIE-1207 Optimize current EL resolution in case of start-instance and end-instance (rohini via mona)