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 2013/09/17 22:50:33 UTC

svn commit: r1524222 - in /oozie/trunk: ./ core/src/main/java/org/apache/oozie/ core/src/main/java/org/apache/oozie/executor/jpa/ core/src/main/java/org/apache/oozie/service/ core/src/test/java/org/apache/oozie/executor/jpa/ core/src/test/java/org/apac...

Author: virag
Date: Tue Sep 17 20:50:32 2013
New Revision: 1524222

URL: http://svn.apache.org/r1524222
Log:
CoordRerunX and ActionEndX not updating some of the modified beans.(virag)

Modified:
    oozie/trunk/core/src/main/java/org/apache/oozie/CoordinatorActionBean.java
    oozie/trunk/core/src/main/java/org/apache/oozie/WorkflowActionBean.java
    oozie/trunk/core/src/main/java/org/apache/oozie/executor/jpa/CoordActionQueryExecutor.java
    oozie/trunk/core/src/main/java/org/apache/oozie/executor/jpa/WorkflowActionQueryExecutor.java
    oozie/trunk/core/src/main/java/org/apache/oozie/service/JPAService.java
    oozie/trunk/core/src/main/java/org/apache/oozie/service/ShareLibService.java
    oozie/trunk/core/src/test/java/org/apache/oozie/executor/jpa/TestWorkflowActionQueryExecutor.java
    oozie/trunk/core/src/test/java/org/apache/oozie/test/XDataTestCase.java
    oozie/trunk/release-log.txt

Modified: oozie/trunk/core/src/main/java/org/apache/oozie/CoordinatorActionBean.java
URL: http://svn.apache.org/viewvc/oozie/trunk/core/src/main/java/org/apache/oozie/CoordinatorActionBean.java?rev=1524222&r1=1524221&r2=1524222&view=diff
==============================================================================
--- oozie/trunk/core/src/main/java/org/apache/oozie/CoordinatorActionBean.java (original)
+++ oozie/trunk/core/src/main/java/org/apache/oozie/CoordinatorActionBean.java Tue Sep 17 20:50:32 2013
@@ -74,7 +74,7 @@ import org.json.simple.JSONObject;
 
         @NamedQuery(name = "UPDATE_COORD_ACTION_FOR_MODIFIED_DATE", query = "update CoordinatorActionBean w set w.lastModifiedTimestamp = :lastModifiedTime where w.id = :id"),
 
-        @NamedQuery(name = "UPDATE_COORD_ACTION_RERUN", query = "update CoordinatorActionBean w set w.actionXml =:actionXml, w.statusStr = :status, w.externalId = :externalId, w.externalStatus = :externalStatus, w.rerunTimestamp = :rerunTime, w.lastModifiedTimestamp = :lastModifiedTime, w.createdTimestamp = :createdTime where w.id = :id"),
+        @NamedQuery(name = "UPDATE_COORD_ACTION_RERUN", query = "update CoordinatorActionBean w set w.actionXml =:actionXml, w.statusStr = :status, w.externalId = :externalId, w.externalStatus = :externalStatus, w.rerunTimestamp = :rerunTime, w.lastModifiedTimestamp = :lastModifiedTime, w.createdTimestamp = :createdTime, w.createdConf = :createdConf, w.runConf = :runConf, w.missingDependencies = :missingDependencies, w.pushMissingDependencies = :pushMissingDependencies where w.id = :id"),
 
         @NamedQuery(name = "DELETE_COMPLETED_ACTIONS_FOR_COORDINATOR", query = "delete from CoordinatorActionBean a where a.jobId = :jobId and (a.statusStr = 'SUCCEEDED' OR a.statusStr = 'FAILED' OR a.statusStr= 'KILLED')"),
 

Modified: oozie/trunk/core/src/main/java/org/apache/oozie/WorkflowActionBean.java
URL: http://svn.apache.org/viewvc/oozie/trunk/core/src/main/java/org/apache/oozie/WorkflowActionBean.java?rev=1524222&r1=1524221&r2=1524222&view=diff
==============================================================================
--- oozie/trunk/core/src/main/java/org/apache/oozie/WorkflowActionBean.java (original)
+++ oozie/trunk/core/src/main/java/org/apache/oozie/WorkflowActionBean.java Tue Sep 17 20:50:32 2013
@@ -63,9 +63,9 @@ import org.json.simple.JSONObject;
 
     @NamedQuery(name = "UPDATE_ACTION_START", query = "update WorkflowActionBean a set a.startTimestamp = :startTime, a.externalChildIDs = :externalChildIDs, a.conf = :conf, a.errorCode = :errorCode, a.errorMessage = :errorMessage, a.startTimestamp = :startTime, a.externalId = :externalId, a.trackerUri = :trackerUri, a.consoleUrl = :consoleUrl, a.lastCheckTimestamp = :lastCheckTime, a.statusStr = :status, a.externalStatus = :externalStatus, a.data = :data, a.retries = :retries, a.pending = :pending, a.pendingAgeTimestamp = :pendingAge, a.userRetryCount = :userRetryCount where a.id = :id"),
 
-    @NamedQuery(name = "UPDATE_ACTION_CHECK", query = "update WorkflowActionBean a set a.externalChildIDs = :externalChildIDs, a.externalStatus = :externalStatus, a.statusStr = :status, a.data = :data, a.pending = :pending, a.errorCode = :errorCode, a.errorMessage = :errorMessage, a.lastCheckTimestamp = :lastCheckTime, a.retries = :retries, a.pendingAgeTimestamp = :pendingAge, a.startTimestamp = :startTime where a.id = :id"),
+    @NamedQuery(name = "UPDATE_ACTION_CHECK", query = "update WorkflowActionBean a set a.userRetryCount = :userRetryCount, a.stats = :stats, a.externalChildIDs = :externalChildIDs, a.externalStatus = :externalStatus, a.statusStr = :status, a.data = :data, a.pending = :pending, a.errorCode = :errorCode, a.errorMessage = :errorMessage, a.lastCheckTimestamp = :lastCheckTime, a.retries = :retries, a.pendingAgeTimestamp = :pendingAge, a.startTimestamp = :startTime where a.id = :id"),
 
-    @NamedQuery(name = "UPDATE_ACTION_END", query = "update WorkflowActionBean a set a.errorCode = :errorCode, a.errorMessage = :errorMessage, a.retries = :retries, a.endTimestamp = :endTime, a.statusStr = :status, a.pending = :pending, a.pendingAgeTimestamp = :pendingAge, a.signalValue = :signalValue, a.userRetryCount = :userRetryCount, a.externalStatus = :externalStatus where a.id = :id"),
+    @NamedQuery(name = "UPDATE_ACTION_END", query = "update WorkflowActionBean a set a.stats = :stats, a.errorCode = :errorCode, a.errorMessage = :errorMessage, a.retries = :retries, a.endTimestamp = :endTime, a.statusStr = :status, a.pending = :pending, a.pendingAgeTimestamp = :pendingAge, a.signalValue = :signalValue, a.userRetryCount = :userRetryCount, a.externalStatus = :externalStatus where a.id = :id"),
 
     @NamedQuery(name = "UPDATE_ACTION_PENDING", query = "update WorkflowActionBean a set a.pending = :pending where a.id = :id"),
 

Modified: oozie/trunk/core/src/main/java/org/apache/oozie/executor/jpa/CoordActionQueryExecutor.java
URL: http://svn.apache.org/viewvc/oozie/trunk/core/src/main/java/org/apache/oozie/executor/jpa/CoordActionQueryExecutor.java?rev=1524222&r1=1524221&r2=1524222&view=diff
==============================================================================
--- oozie/trunk/core/src/main/java/org/apache/oozie/executor/jpa/CoordActionQueryExecutor.java (original)
+++ oozie/trunk/core/src/main/java/org/apache/oozie/executor/jpa/CoordActionQueryExecutor.java Tue Sep 17 20:50:32 2013
@@ -147,6 +147,10 @@ public class CoordActionQueryExecutor ex
                 query.setParameter("rerunTime", actionBean.getRerunTimestamp());
                 query.setParameter("lastModifiedTime", actionBean.getLastModifiedTimestamp());
                 query.setParameter("createdTime", actionBean.getCreatedTimestamp());
+                query.setParameter("createdConf", actionBean.getCreatedConfBlob());
+                query.setParameter("runConf", actionBean.getRunConfBlob());
+                query.setParameter("missingDependencies", actionBean.getMissingDependenciesBlob());
+                query.setParameter("pushMissingDependencies", actionBean.getPushMissingDependenciesBlob());
                 query.setParameter("id", actionBean.getId());
                 break;
 

Modified: oozie/trunk/core/src/main/java/org/apache/oozie/executor/jpa/WorkflowActionQueryExecutor.java
URL: http://svn.apache.org/viewvc/oozie/trunk/core/src/main/java/org/apache/oozie/executor/jpa/WorkflowActionQueryExecutor.java?rev=1524222&r1=1524221&r2=1524222&view=diff
==============================================================================
--- oozie/trunk/core/src/main/java/org/apache/oozie/executor/jpa/WorkflowActionQueryExecutor.java (original)
+++ oozie/trunk/core/src/main/java/org/apache/oozie/executor/jpa/WorkflowActionQueryExecutor.java Tue Sep 17 20:50:32 2013
@@ -156,6 +156,8 @@ public class WorkflowActionQueryExecutor
                 query.setParameter("retries", actionBean.getRetries());
                 query.setParameter("pendingAge", actionBean.getPendingAgeTimestamp());
                 query.setParameter("startTime", actionBean.getStartTimestamp());
+                query.setParameter("stats", actionBean.getStatsBlob());
+                query.setParameter("userRetryCount", actionBean.getUserRetryCount());
                 query.setParameter("id", actionBean.getId());
                 break;
             case UPDATE_ACTION_END:
@@ -169,6 +171,7 @@ public class WorkflowActionQueryExecutor
                 query.setParameter("signalValue", actionBean.getSignalValue());
                 query.setParameter("userRetryCount", actionBean.getUserRetryCount());
                 query.setParameter("externalStatus", actionBean.getExternalStatus());
+                query.setParameter("stats", actionBean.getStatsBlob());
                 query.setParameter("id", actionBean.getId());
                 break;
             default:

Modified: oozie/trunk/core/src/main/java/org/apache/oozie/service/JPAService.java
URL: http://svn.apache.org/viewvc/oozie/trunk/core/src/main/java/org/apache/oozie/service/JPAService.java?rev=1524222&r1=1524221&r2=1524222&view=diff
==============================================================================
--- oozie/trunk/core/src/main/java/org/apache/oozie/service/JPAService.java (original)
+++ oozie/trunk/core/src/main/java/org/apache/oozie/service/JPAService.java Tue Sep 17 20:50:32 2013
@@ -186,7 +186,7 @@ public class JPAService implements Servi
             CodecFactory.initialize(conf);
         }
         catch (Exception ex) {
-            throw new ServiceException(ErrorCode.E1700, ex);
+            throw new ServiceException(ErrorCode.E0100, getClass().getName(), ex);
         }
     }
 

Modified: oozie/trunk/core/src/main/java/org/apache/oozie/service/ShareLibService.java
URL: http://svn.apache.org/viewvc/oozie/trunk/core/src/main/java/org/apache/oozie/service/ShareLibService.java?rev=1524222&r1=1524221&r2=1524222&view=diff
==============================================================================
--- oozie/trunk/core/src/main/java/org/apache/oozie/service/ShareLibService.java (original)
+++ oozie/trunk/core/src/main/java/org/apache/oozie/service/ShareLibService.java Tue Sep 17 20:50:32 2013
@@ -55,7 +55,7 @@ public class ShareLibService implements 
 
     public static final String LAUNCHERJAR_LIB_RETENTION = CONF_PREFIX
             + "ShareLibService.temp.sharelib.retention.days";
-
+    private static final String PERMISSION_STRING = "-rwxr-xr-x";
     private Services services;
     private Map<String, List<Path>> shareLibLauncherMap = new HashMap<String, List<Path>>();
     private static XLog LOG = XLog.getLog(ShareLibService.class);
@@ -71,6 +71,7 @@ public class ShareLibService implements 
         try {
             FileSystem fs = FileSystem.get(has.createJobConf(uri.getAuthority()));
             copyLauncherJarsToShareLib(fs, tmpShareLibPath);
+            recursiveChangePermissions(fs, tmpShareLibPath, FsPermission.valueOf(PERMISSION_STRING));
             purgeShareLibs(fs, tmpShareLibPath);
         }
         catch (Exception e) {
@@ -78,6 +79,20 @@ public class ShareLibService implements 
         }
     }
 
+    private void recursiveChangePermissions(FileSystem fs, Path path, FsPermission fsPerm) throws IOException {
+        fs.setPermission(path, fsPerm);
+        FileStatus[] filesStatus = fs.listStatus(path);
+        for (int i = 0; i < filesStatus.length; i++) {
+            Path p = filesStatus[i].getPath();
+            if (filesStatus[i].isDir()) {
+                recursiveChangePermissions(fs, p, fsPerm);
+            }
+            else {
+                fs.setPermission(p, fsPerm);
+            }
+        }
+    }
+
     private void copyLauncherJarsToShareLib(FileSystem fs, Path tmpShareLibPath) throws IOException,
             ClassNotFoundException {
         ActionService actionService = Services.get().get(ActionService.class);
@@ -102,7 +117,6 @@ public class ShareLibService implements 
     private void copyJarContainingClasses(List<Class> classes, FileSystem fs, Path executorDir, String type)
             throws IOException {
         fs.mkdirs(executorDir);
-        fs.setPermission(executorDir, FsPermission.valueOf("-rwxr-xr-x"));
         Set<String> localJarSet = new HashSet<String>();
         for (Class c : classes) {
             String localJar = findContainingJar(c);
@@ -118,7 +132,6 @@ public class ShareLibService implements 
             File localJar = new File(localJarStr);
             fs.copyFromLocalFile(new Path(localJar.getPath()), executorDir);
             Path path = new Path(executorDir, localJar.getName());
-            fs.setPermission(path, FsPermission.valueOf("-rw-r--r--"));
             listOfPaths.add(path);
             LOG.info(localJar.getName() + " uploaded to " + executorDir.toString());
         }

Modified: oozie/trunk/core/src/test/java/org/apache/oozie/executor/jpa/TestWorkflowActionQueryExecutor.java
URL: http://svn.apache.org/viewvc/oozie/trunk/core/src/test/java/org/apache/oozie/executor/jpa/TestWorkflowActionQueryExecutor.java?rev=1524222&r1=1524221&r2=1524222&view=diff
==============================================================================
--- oozie/trunk/core/src/test/java/org/apache/oozie/executor/jpa/TestWorkflowActionQueryExecutor.java (original)
+++ oozie/trunk/core/src/test/java/org/apache/oozie/executor/jpa/TestWorkflowActionQueryExecutor.java Tue Sep 17 20:50:32 2013
@@ -158,6 +158,8 @@ public class TestWorkflowActionQueryExec
         assertEquals(query.getParameterValue("retries"), bean.getRetries());
         assertEquals(query.getParameterValue("pendingAge"), bean.getPendingAgeTimestamp());
         assertEquals(query.getParameterValue("startTime"), bean.getStartTimestamp());
+        assertEquals(query.getParameterValue("stats"), bean.getStatsBlob());
+        assertEquals(query.getParameterValue("userRetryCount"), bean.getUserRetryCount());
         assertEquals(query.getParameterValue("id"), bean.getId());
         // UPDATE_ACTION_END
         query = WorkflowActionQueryExecutor.getInstance().getUpdateQuery(WorkflowActionQuery.UPDATE_ACTION_END, bean,
@@ -172,6 +174,7 @@ public class TestWorkflowActionQueryExec
         assertEquals(query.getParameterValue("signalValue"), bean.getSignalValue());
         assertEquals(query.getParameterValue("userRetryCount"), bean.getUserRetryCount());
         assertEquals(query.getParameterValue("externalStatus"), bean.getExternalStatus());
+        assertEquals(query.getParameterValue("stats"), bean.getStatsBlob());
         assertEquals(query.getParameterValue("id"), bean.getId());
         em.close();
     }

Modified: oozie/trunk/core/src/test/java/org/apache/oozie/test/XDataTestCase.java
URL: http://svn.apache.org/viewvc/oozie/trunk/core/src/test/java/org/apache/oozie/test/XDataTestCase.java?rev=1524222&r1=1524221&r2=1524222&view=diff
==============================================================================
--- oozie/trunk/core/src/test/java/org/apache/oozie/test/XDataTestCase.java (original)
+++ oozie/trunk/core/src/test/java/org/apache/oozie/test/XDataTestCase.java Tue Sep 17 20:50:32 2013
@@ -1195,6 +1195,7 @@ public abstract class XDataTestCase exte
         action.setEndTime(new Date());
         action.setLastCheckTime(new Date());
         action.setCred("null");
+        action.setStats("dummyStats");
         if (pending) {
             action.setPendingOnly();
         }

Modified: oozie/trunk/release-log.txt
URL: http://svn.apache.org/viewvc/oozie/trunk/release-log.txt?rev=1524222&r1=1524221&r2=1524222&view=diff
==============================================================================
--- oozie/trunk/release-log.txt (original)
+++ oozie/trunk/release-log.txt Tue Sep 17 20:50:32 2013
@@ -1,5 +1,6 @@
 -- Oozie 4.1.0 release (trunk - unreleased)
 
+OOZIE-1528 CoordRerunX and ActionEndX not updating some of the modified beans. (virag)
 OOZIE-1540 When oozie.zookeeper.oozie.id is not specified, its using a space instead of the hostname (rkanter)
 OOZIE-1509 Do not preload all tabs in Oozie UI and make Active Jobs default (mona)
 OOZIE-1496 Oozie demo and streaming examples fails to run on Windows (eshevchuk via rkanter)