Repository: oozie Updated Branches: refs/heads/master c7b2bb74b -> e68f723a3
OOZIE-3083 Make improved version Info backward compatible (gezapeti via asasvari) Project: http://git-wip-us.apache.org/repos/asf/oozie/repo Commit: http://git-wip-us.apache.org/repos/asf/oozie/commit/e68f723a Tree: http://git-wip-us.apache.org/repos/asf/oozie/tree/e68f723a Diff: http://git-wip-us.apache.org/repos/asf/oozie/diff/e68f723a Branch: refs/heads/master Commit: e68f723a320f48a52f3266cce5c037916ebff3e0 Parents: c7b2bb7 Author: Attila Sasvari <asasv...@cloudera.com> Authored: Tue Jan 9 16:48:02 2018 +0100 Committer: Attila Sasvari <asasv...@cloudera.com> Committed: Tue Jan 9 16:48:02 2018 +0100 ---------------------------------------------------------------------- .../java/org/apache/oozie/client/OozieClient.java | 2 +- .../java/org/apache/oozie/client/rest/JsonTags.java | 1 + .../org/apache/oozie/servlet/BaseAdminServlet.java | 3 ++- .../java/org/apache/oozie/client/TestOozieCLI.java | 13 +++++++++---- .../org/apache/oozie/client/TestWorkflowClient.java | 10 ++++++++-- .../org/apache/oozie/servlet/TestAdminServlet.java | 13 ++++++++++--- .../org/apache/oozie/servlet/TestV1AdminServlet.java | 14 +++++++++++--- release-log.txt | 1 + 8 files changed, 43 insertions(+), 14 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/oozie/blob/e68f723a/client/src/main/java/org/apache/oozie/client/OozieClient.java ---------------------------------------------------------------------- diff --git a/client/src/main/java/org/apache/oozie/client/OozieClient.java b/client/src/main/java/org/apache/oozie/client/OozieClient.java index 7e41ef8..e581e50 100644 --- a/client/src/main/java/org/apache/oozie/client/OozieClient.java +++ b/client/src/main/java/org/apache/oozie/client/OozieClient.java @@ -2174,7 +2174,7 @@ public class OozieClient { if ((conn.getResponseCode() == HttpURLConnection.HTTP_OK)) { Reader reader = new InputStreamReader(conn.getInputStream()); JSONObject json = (JSONObject) JSONValue.parse(reader); - return (String) json.get(JsonTags.BUILD_INFO); + return json.get(JsonTags.BUILD_INFO).toString(); } else { handleError(conn); http://git-wip-us.apache.org/repos/asf/oozie/blob/e68f723a/client/src/main/java/org/apache/oozie/client/rest/JsonTags.java ---------------------------------------------------------------------- diff --git a/client/src/main/java/org/apache/oozie/client/rest/JsonTags.java b/client/src/main/java/org/apache/oozie/client/rest/JsonTags.java index e041354..446e5be 100644 --- a/client/src/main/java/org/apache/oozie/client/rest/JsonTags.java +++ b/client/src/main/java/org/apache/oozie/client/rest/JsonTags.java @@ -26,6 +26,7 @@ public interface JsonTags { String OOZIE_SAFE_MODE = "safeMode"; //Applicable for V0 only String OOZIE_SYSTEM_MODE = "systemMode"; String BUILD_INFO = "buildInfo"; + String BUILD_VERSION = "buildVersion"; String QUEUE_DUMP = "queueDump"; String CALLABLE_DUMP = "callableDump"; String UNIQUE_MAP_DUMP = "uniqueMapDump"; http://git-wip-us.apache.org/repos/asf/oozie/blob/e68f723a/core/src/main/java/org/apache/oozie/servlet/BaseAdminServlet.java ---------------------------------------------------------------------- diff --git a/core/src/main/java/org/apache/oozie/servlet/BaseAdminServlet.java b/core/src/main/java/org/apache/oozie/servlet/BaseAdminServlet.java index 7f57fec..85610eb 100644 --- a/core/src/main/java/org/apache/oozie/servlet/BaseAdminServlet.java +++ b/core/src/main/java/org/apache/oozie/servlet/BaseAdminServlet.java @@ -149,7 +149,8 @@ public abstract class BaseAdminServlet extends JsonRestServlet { } else if (resource.equals(RestConstants.ADMIN_BUILD_VERSION_RESOURCE)) { JSONObject json = new JSONObject(); - json.put(JsonTags.BUILD_INFO, BuildInfo.getBuildInfo().toString()); + json.put(JsonTags.BUILD_VERSION, BuildInfo.getBuildInfo().getProperty(BuildInfo.BUILD_VERSION)); + json.put(JsonTags.BUILD_INFO, BuildInfo.getBuildInfo()); sendJsonResponse(response, HttpServletResponse.SC_OK, json); } else if (resource.equals(RestConstants.ADMIN_QUEUE_DUMP_RESOURCE)) { http://git-wip-us.apache.org/repos/asf/oozie/blob/e68f723a/core/src/test/java/org/apache/oozie/client/TestOozieCLI.java ---------------------------------------------------------------------- diff --git a/core/src/test/java/org/apache/oozie/client/TestOozieCLI.java b/core/src/test/java/org/apache/oozie/client/TestOozieCLI.java index cf76631..8c2aa98 100644 --- a/core/src/test/java/org/apache/oozie/client/TestOozieCLI.java +++ b/core/src/test/java/org/apache/oozie/client/TestOozieCLI.java @@ -51,6 +51,7 @@ import org.apache.oozie.servlet.V2JobServlet; import org.apache.oozie.servlet.V2ValidateServlet; import org.apache.oozie.util.IOUtils; import org.apache.oozie.util.XConfiguration; +import org.json.simple.JSONValue; //hardcoding options instead using constants on purpose, to detect changes to option names if any and correct docs. public class TestOozieCLI extends DagServletTestCase { @@ -981,11 +982,15 @@ public class TestOozieCLI extends DagServletTestCase { HeaderTestingVersionServlet.OOZIE_HEADERS.clear(); String oozieUrl = getContextURL(); - String[] args = new String[]{"admin", "-version", "-oozie", oozieUrl}; + String[] args = new String[] { "admin", "-version", "-oozie", oozieUrl }; String out = runOozieCLIAndGetStdout(args); - assertEquals("Oozie server build version: " + BuildInfo.getBuildInfo() + - SYSTEM_LINE_SEPARATOR, out); - + assertTrue(out, out.startsWith("Oozie server build version: {")); + assertTrue(out, out.endsWith(SYSTEM_LINE_SEPARATOR)); + assertTrue(out, out.contains("build.time")); + assertTrue(out, out.contains("build.version")); + assertTrue(out, out.contains("build.user")); + assertTrue(out, out.contains("vc.url")); + assertTrue(out, out.contains("vc.revision")); return null; } }); http://git-wip-us.apache.org/repos/asf/oozie/blob/e68f723a/core/src/test/java/org/apache/oozie/client/TestWorkflowClient.java ---------------------------------------------------------------------- diff --git a/core/src/test/java/org/apache/oozie/client/TestWorkflowClient.java b/core/src/test/java/org/apache/oozie/client/TestWorkflowClient.java index fdd04d3..e440c3a 100644 --- a/core/src/test/java/org/apache/oozie/client/TestWorkflowClient.java +++ b/core/src/test/java/org/apache/oozie/client/TestWorkflowClient.java @@ -39,6 +39,8 @@ import org.apache.oozie.servlet.V2AdminServlet; import org.apache.oozie.servlet.V2JobServlet; import org.apache.oozie.servlet.V2SLAServlet; import org.json.simple.JSONArray; +import org.json.simple.JSONObject; +import org.json.simple.JSONValue; import java.io.*; import java.net.HttpURLConnection; @@ -412,8 +414,12 @@ public class TestWorkflowClient extends DagServletTestCase { public Void call() throws Exception { String oozieUrl = getContextURL(); OozieClient wc = new OozieClient(oozieUrl); - assertEquals(BuildInfo.getBuildInfo().toString(), - wc.getServerBuildVersion()); + String buildVersion = wc.getServerBuildVersion(); + JSONObject buildInfo = (JSONObject) JSONValue.parse(buildVersion); + for (String buildInfoKey : BuildInfo.getBuildInfo().stringPropertyNames()) { + assertEquals("Build value difference in key " + buildInfoKey, + BuildInfo.getBuildInfo().getProperty(buildInfoKey), buildInfo.get(buildInfoKey)); + } return null; } }); http://git-wip-us.apache.org/repos/asf/oozie/blob/e68f723a/core/src/test/java/org/apache/oozie/servlet/TestAdminServlet.java ---------------------------------------------------------------------- diff --git a/core/src/test/java/org/apache/oozie/servlet/TestAdminServlet.java b/core/src/test/java/org/apache/oozie/servlet/TestAdminServlet.java index 0d7b362..f91d22f 100644 --- a/core/src/test/java/org/apache/oozie/servlet/TestAdminServlet.java +++ b/core/src/test/java/org/apache/oozie/servlet/TestAdminServlet.java @@ -18,6 +18,7 @@ package org.apache.oozie.servlet; +import org.apache.commons.io.IOUtils; import org.apache.oozie.client.rest.JsonTags; import org.apache.oozie.client.rest.RestConstants; import org.apache.oozie.service.Services; @@ -27,6 +28,7 @@ import org.json.simple.JSONValue; import javax.servlet.http.HttpServletResponse; import java.io.InputStreamReader; +import java.io.StringReader; import java.net.HttpURLConnection; import java.net.URL; import java.util.Collections; @@ -214,9 +216,14 @@ public class TestAdminServlet extends DagServletTestCase { conn.setRequestMethod("GET"); assertEquals(HttpServletResponse.SC_OK, conn.getResponseCode()); assertTrue(conn.getHeaderField("content-type").startsWith(RestConstants.JSON_CONTENT_TYPE)); - JSONObject json = (JSONObject) JSONValue.parse(new InputStreamReader(conn.getInputStream())); - assertEquals(BuildInfo.getBuildInfo().toString(), - json.get(JsonTags.BUILD_INFO)); + final String response = IOUtils.toString(conn.getInputStream()); + JSONObject json = (JSONObject) JSONValue.parse(new StringReader(response)); + assertEquals(BuildInfo.getBuildInfo().getProperty(BuildInfo.BUILD_VERSION), json.get(JsonTags.BUILD_VERSION)); + JSONObject buildInfo = (JSONObject) json.get(JsonTags.BUILD_INFO); + for (String buildInfoKey : BuildInfo.getBuildInfo().stringPropertyNames()) { + assertEquals("Build value difference in key " + buildInfoKey, + BuildInfo.getBuildInfo().getProperty(buildInfoKey), buildInfo.get(buildInfoKey)); + } return null; } }); http://git-wip-us.apache.org/repos/asf/oozie/blob/e68f723a/core/src/test/java/org/apache/oozie/servlet/TestV1AdminServlet.java ---------------------------------------------------------------------- diff --git a/core/src/test/java/org/apache/oozie/servlet/TestV1AdminServlet.java b/core/src/test/java/org/apache/oozie/servlet/TestV1AdminServlet.java index 0113751..534f572 100644 --- a/core/src/test/java/org/apache/oozie/servlet/TestV1AdminServlet.java +++ b/core/src/test/java/org/apache/oozie/servlet/TestV1AdminServlet.java @@ -19,6 +19,7 @@ package org.apache.oozie.servlet; import java.io.InputStreamReader; +import java.io.StringReader; import java.net.HttpURLConnection; import java.net.URL; import java.util.Collections; @@ -27,6 +28,8 @@ import java.util.Map; import java.util.concurrent.Callable; import javax.servlet.http.HttpServletResponse; + +import org.apache.commons.io.IOUtils; import org.apache.hadoop.util.Shell; import org.apache.oozie.BuildInfo; @@ -220,9 +223,14 @@ public class TestV1AdminServlet extends DagServletTestCase { conn.setRequestMethod("GET"); assertEquals(HttpServletResponse.SC_OK, conn.getResponseCode()); assertTrue(conn.getHeaderField("content-type").startsWith(RestConstants.JSON_CONTENT_TYPE)); - JSONObject json = (JSONObject) JSONValue.parse(new InputStreamReader(conn.getInputStream())); - assertEquals(BuildInfo.getBuildInfo().toString(), - json.get(JsonTags.BUILD_INFO)); + final String response = IOUtils.toString(conn.getInputStream()); + JSONObject json = (JSONObject) JSONValue.parse(new StringReader(response)); + assertEquals(BuildInfo.getBuildInfo().getProperty(BuildInfo.BUILD_VERSION), json.get(JsonTags.BUILD_VERSION)); + JSONObject buildInfo = (JSONObject) json.get(JsonTags.BUILD_INFO); + for (String buildInfoKey : BuildInfo.getBuildInfo().stringPropertyNames()) { + assertEquals("Build value difference in key " + buildInfoKey, + BuildInfo.getBuildInfo().getProperty(buildInfoKey), buildInfo.get(buildInfoKey)); + } return null; } }); http://git-wip-us.apache.org/repos/asf/oozie/blob/e68f723a/release-log.txt ---------------------------------------------------------------------- diff --git a/release-log.txt b/release-log.txt index 5829699..c4ace0b 100644 --- a/release-log.txt +++ b/release-log.txt @@ -1,5 +1,6 @@ -- Oozie 5.0.0 release (trunk - unreleased) +OOZIE-3083 Make improved version Info backward compatible (gezapeti via asasvari) OOZIE-2150 Shell launcher should print shell script (jtolar via andras.piros) OOZIE-3147 Misleading documentation of oozie.service.PurgeService.purge.limit configuration property (okalinin via andras.piros) OOZIE-3148 Rerun Failing Tests through Maven surefire (asasvari)