You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@oozie.apache.org by as...@apache.org on 2019/11/26 16:22:03 UTC

[oozie] branch master updated: OOZIE-3491 Confusing System ID error message (matijhs via asalamon74)

This is an automated email from the ASF dual-hosted git repository.

asalamon74 pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/oozie.git


The following commit(s) were added to refs/heads/master by this push:
     new d69712a  OOZIE-3491 Confusing System ID error message (matijhs via asalamon74)
d69712a is described below

commit d69712aee0ea118121cc0101484204f3b88089ee
Author: Andras Salamon <as...@apache.org>
AuthorDate: Tue Nov 26 17:19:25 2019 +0100

    OOZIE-3491 Confusing System ID error message (matijhs via asalamon74)
---
 core/src/main/java/org/apache/oozie/service/Services.java  | 14 ++++++++++----
 .../test/java/org/apache/oozie/service/TestServices.java   | 10 ++++++++++
 release-log.txt                                            |  1 +
 3 files changed, 21 insertions(+), 4 deletions(-)

diff --git a/core/src/main/java/org/apache/oozie/service/Services.java b/core/src/main/java/org/apache/oozie/service/Services.java
index 5e40f88..9360d9e 100644
--- a/core/src/main/java/org/apache/oozie/service/Services.java
+++ b/core/src/main/java/org/apache/oozie/service/Services.java
@@ -117,13 +117,19 @@ public class Services {
                                          DateUtils.getOozieProcessingTimeZone().getID());
         }
         systemId = ConfigurationService.get(conf, CONF_SYSTEM_ID);
+        systemId = trimIfExceedsLimit(systemId);
+        setSystemMode(SYSTEM_MODE.valueOf(ConfigurationService.get(conf, CONF_SYSTEM_MODE)));
+        runtimeDir = createRuntimeDir();
+    }
+
+    protected String trimIfExceedsLimit(String systemId) {
         if (systemId.length() > MAX_SYSTEM_ID_LEN) {
+            String origSystemId = systemId;
             systemId = systemId.substring(0, MAX_SYSTEM_ID_LEN);
-            XLog.getLog(getClass()).warn("System ID [{0}] exceeds maximum length [{1}], trimming", systemId,
-                                         MAX_SYSTEM_ID_LEN);
+            XLog.getLog(getClass()).warn("System ID [{0}] exceeds maximum length [{1}], trimming to [{2}]",
+                    origSystemId, MAX_SYSTEM_ID_LEN, systemId);
         }
-        setSystemMode(SYSTEM_MODE.valueOf(ConfigurationService.get(conf, CONF_SYSTEM_MODE)));
-        runtimeDir = createRuntimeDir();
+        return systemId;
     }
 
     private String createRuntimeDir() throws ServiceException {
diff --git a/core/src/test/java/org/apache/oozie/service/TestServices.java b/core/src/test/java/org/apache/oozie/service/TestServices.java
index d680010..1921706 100644
--- a/core/src/test/java/org/apache/oozie/service/TestServices.java
+++ b/core/src/test/java/org/apache/oozie/service/TestServices.java
@@ -44,6 +44,16 @@ public class TestServices extends XTestCase {
         }
     }
 
+    public void testSystemIdTrim() throws Exception {
+        Services services = new Services();
+        final String systemId = services.trimIfExceedsLimit("1234567890oozieee");
+        try {
+            assertEquals("System id length is larger than expected", 10, systemId.length());
+        } finally {
+            services.destroy();
+        }
+    }
+
     public static class S1 implements Service {
         public static boolean INITED_S1 = false;
 
diff --git a/release-log.txt b/release-log.txt
index 4e81552..caf5a08 100644
--- a/release-log.txt
+++ b/release-log.txt
@@ -1,5 +1,6 @@
 -- Oozie 5.3.0 release (trunk - unreleased)
 
+OOZIE-3491 Confusing System ID error message (matijhs via asalamon74)
 OOZIE-3536 Invalid configuration tag <additionalparam> in maven-javadoc-plugin (nobigo via asalamon74)
 OOZIE-3559 Code generation encoding error in fluent-job-api (nobigo via asalamon74)
 OOZIE-3555 Remove unnecessary StandardCharsets.UTF_8.name() calls (zsombor via asalamon74)