OOZIE-3079 Filtering coordinators returns bundle id as null (satishsaley) (cherry picked from commit 660b3151ce1b808e922d708f14b460a715fa6a33)
Project: http://git-wip-us.apache.org/repos/asf/oozie/repo Commit: http://git-wip-us.apache.org/repos/asf/oozie/commit/7234eee5 Tree: http://git-wip-us.apache.org/repos/asf/oozie/tree/7234eee5 Diff: http://git-wip-us.apache.org/repos/asf/oozie/diff/7234eee5 Branch: refs/heads/branch-4.3 Commit: 7234eee586731360519b32f4c624b0b540b5a14e Parents: f409c2d Author: satishsaley <satishsa...@apache.org> Authored: Mon Oct 9 09:57:37 2017 -0700 Committer: satishsaley <satishsa...@apache.org> Committed: Sat Jan 6 11:44:06 2018 -0800 ---------------------------------------------------------------------- .../org/apache/oozie/CoordinatorJobBean.java | 5 ++++- .../executor/jpa/CoordJobInfoGetJPAExecutor.java | 3 +++ .../apache/oozie/store/StoreStatusFilter.java | 2 +- .../jpa/TestCoordJobInfoGetJPAExecutor.java | 19 +++++++++++++++++++ release-log.txt | 1 + 5 files changed, 28 insertions(+), 2 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/oozie/blob/7234eee5/core/src/main/java/org/apache/oozie/CoordinatorJobBean.java ---------------------------------------------------------------------- diff --git a/core/src/main/java/org/apache/oozie/CoordinatorJobBean.java b/core/src/main/java/org/apache/oozie/CoordinatorJobBean.java index 3a3120d..7dda508 100644 --- a/core/src/main/java/org/apache/oozie/CoordinatorJobBean.java +++ b/core/src/main/java/org/apache/oozie/CoordinatorJobBean.java @@ -108,7 +108,10 @@ import org.json.simple.JSONObject; @NamedQuery(name = "GET_COORD_JOBS_COUNT", query = "select count(w) from CoordinatorJobBean w"), - @NamedQuery(name = "GET_COORD_JOBS_COLUMNS", query = "select w.id, w.appName, w.statusStr, w.user, w.group, w.startTimestamp, w.endTimestamp, w.appPath, w.concurrency, w.frequency, w.lastActionTimestamp, w.nextMaterializedTimestamp, w.createdTimestamp, w.timeUnitStr, w.timeZone, w.timeOut from CoordinatorJobBean w order by w.createdTimestamp desc"), + @NamedQuery(name = "GET_COORD_JOBS_COLUMNS", query = "select w.id, w.appName, w.statusStr, w.user, w.group, " + + "w.startTimestamp, w.endTimestamp, w.appPath, w.concurrency, w.frequency, w.lastActionTimestamp, " + + "w.nextMaterializedTimestamp, w.createdTimestamp, w.timeUnitStr, w.timeZone, w.timeOut, w.bundleId " + + "from CoordinatorJobBean w order by w.createdTimestamp desc"), //TODO need to remove. @NamedQuery(name = "GET_COORD_JOBS_OLDER_THAN", query = "select OBJECT(w) from CoordinatorJobBean w where w.startTimestamp <= :matTime AND (w.statusStr = 'PREP' OR w.statusStr = 'RUNNING' or w.statusStr = 'RUNNINGWITHERROR') AND (w.nextMaterializedTimestamp < :matTime OR w.nextMaterializedTimestamp IS NULL) AND (w.nextMaterializedTimestamp IS NULL OR (w.endTimestamp > w.nextMaterializedTimestamp AND (w.pauseTimestamp IS NULL OR w.pauseTimestamp > w.nextMaterializedTimestamp))) order by w.lastModifiedTimestamp"), http://git-wip-us.apache.org/repos/asf/oozie/blob/7234eee5/core/src/main/java/org/apache/oozie/executor/jpa/CoordJobInfoGetJPAExecutor.java ---------------------------------------------------------------------- diff --git a/core/src/main/java/org/apache/oozie/executor/jpa/CoordJobInfoGetJPAExecutor.java b/core/src/main/java/org/apache/oozie/executor/jpa/CoordJobInfoGetJPAExecutor.java index 8ae070e..4c641d7 100644 --- a/core/src/main/java/org/apache/oozie/executor/jpa/CoordJobInfoGetJPAExecutor.java +++ b/core/src/main/java/org/apache/oozie/executor/jpa/CoordJobInfoGetJPAExecutor.java @@ -168,6 +168,9 @@ public class CoordJobInfoGetJPAExecutor implements JPAExecutor<CoordinatorJobInf if (arr[15] != null) { bean.setTimeout((Integer) arr[15]); } + if (arr[16] != null) { + bean.setBundleId((String) arr[16]); + } return bean; } } http://git-wip-us.apache.org/repos/asf/oozie/blob/7234eee5/core/src/main/java/org/apache/oozie/store/StoreStatusFilter.java ---------------------------------------------------------------------- diff --git a/core/src/main/java/org/apache/oozie/store/StoreStatusFilter.java b/core/src/main/java/org/apache/oozie/store/StoreStatusFilter.java index fb1db29..556e708 100644 --- a/core/src/main/java/org/apache/oozie/store/StoreStatusFilter.java +++ b/core/src/main/java/org/apache/oozie/store/StoreStatusFilter.java @@ -32,7 +32,7 @@ import org.apache.oozie.util.XLog; public class StoreStatusFilter { public static final String coordSeletStr = "Select w.id, w.appName, w.statusStr, w.user, w.group, w.startTimestamp, " + "w.endTimestamp, w.appPath, w.concurrency, w.frequency, w.lastActionTimestamp, w.nextMaterializedTimestamp, " + - "w.createdTimestamp, w.timeUnitStr, w.timeZone, w.timeOut from CoordinatorJobBean w"; + "w.createdTimestamp, w.timeUnitStr, w.timeZone, w.timeOut, w.bundleId from CoordinatorJobBean w"; public static final String coordCountStr = "Select count(w) from CoordinatorJobBean w"; http://git-wip-us.apache.org/repos/asf/oozie/blob/7234eee5/core/src/test/java/org/apache/oozie/executor/jpa/TestCoordJobInfoGetJPAExecutor.java ---------------------------------------------------------------------- diff --git a/core/src/test/java/org/apache/oozie/executor/jpa/TestCoordJobInfoGetJPAExecutor.java b/core/src/test/java/org/apache/oozie/executor/jpa/TestCoordJobInfoGetJPAExecutor.java index 7d468f1..ce91da6 100644 --- a/core/src/test/java/org/apache/oozie/executor/jpa/TestCoordJobInfoGetJPAExecutor.java +++ b/core/src/test/java/org/apache/oozie/executor/jpa/TestCoordJobInfoGetJPAExecutor.java @@ -340,6 +340,25 @@ public class TestCoordJobInfoGetJPAExecutor extends XDataTestCase { compareCoordJobs(coordinatorJob1, ret.getCoordJobs().get(0)); } + public void testGetJobInfoForBundleId() throws Exception { + String bundleId = "0000000-171003192756908-oozie-test-B"; + String coordId = "0000000-171003192756999-oozie-test-C"; + addRecordToCoordJobTableWithBundle(bundleId, coordId, CoordinatorJob.Status.SUCCEEDED, true, true, 1); + + JPAService jpaService = Services.get().get(JPAService.class); + assertNotNull(jpaService); + Map<String, List<String>> filter = new HashMap<String, List<String>>(); + List<String> jobIdList = new ArrayList<String>(); + jobIdList.add(coordId); + filter.put(OozieClient.FILTER_ID, jobIdList); + + CoordJobInfoGetJPAExecutor coordInfoGetCmd = new CoordJobInfoGetJPAExecutor(filter, 1, 20); + CoordinatorJobInfo ret = jpaService.execute(coordInfoGetCmd); + assertNotNull("CoordinatorJobInfo should not be null", ret); + assertEquals("The number of coord jobs should be 1", 1, ret.getCoordJobs().size()); + assertEquals("Failed to verify bundle id of coord job", bundleId, ret.getCoordJobs().get(0).getBundleId()); + } + private void compareCoordJobs(CoordinatorJobBean coordBean, CoordinatorJobBean retCoordBean) { assertEquals(coordBean.getId(), retCoordBean.getId()); assertEquals(coordBean.getStatusStr(), retCoordBean.getStatusStr()); http://git-wip-us.apache.org/repos/asf/oozie/blob/7234eee5/release-log.txt ---------------------------------------------------------------------- diff --git a/release-log.txt b/release-log.txt index c682dfa..95b8415 100644 --- a/release-log.txt +++ b/release-log.txt @@ -1,5 +1,6 @@ -- Oozie 4.3.1 release +OOZIE-3079 Filtering coordinators returns bundle id as null (satishsaley) OOZIE-3078 PasswordMasker throws NPE with null arguments (asasvari) OOZIE-3127 Remove redundant check for user (satishsaley) OOZIE-2885 Running Spark actions should not need Hive on the classpath (satishsaley)