You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@kylin.apache.org by sh...@apache.org on 2018/11/02 09:32:16 UTC

[kylin] branch master updated: KYLIN-3653 Build failed if two jobs for creating flat table submitted at same time

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

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


The following commit(s) were added to refs/heads/master by this push:
     new caf109e  KYLIN-3653 Build failed if two jobs for creating flat table submitted at same time
caf109e is described below

commit caf109ea016c0bcbbef8f15c26b620003f253955
Author: Ni Chunen <ch...@kyligence.io>
AuthorDate: Fri Nov 2 17:30:37 2018 +0800

    KYLIN-3653 Build failed if two jobs for creating flat table submitted at same time
---
 .../java/org/apache/kylin/common/util/HiveCmdBuilder.java | 15 ++++++++-------
 1 file changed, 8 insertions(+), 7 deletions(-)

diff --git a/core-common/src/main/java/org/apache/kylin/common/util/HiveCmdBuilder.java b/core-common/src/main/java/org/apache/kylin/common/util/HiveCmdBuilder.java
index c04952d..707b3f3 100644
--- a/core-common/src/main/java/org/apache/kylin/common/util/HiveCmdBuilder.java
+++ b/core-common/src/main/java/org/apache/kylin/common/util/HiveCmdBuilder.java
@@ -18,9 +18,10 @@
 
 package org.apache.kylin.common.util;
 
-import java.util.ArrayList;
+import java.util.List;
 import java.util.Locale;
 import java.util.Map;
+import java.util.UUID;
 
 import org.apache.commons.lang.StringUtils;
 import org.apache.kylin.common.KylinConfig;
@@ -39,8 +40,8 @@ public class HiveCmdBuilder {
     }
 
     private KylinConfig kylinConfig;
-    final private Map<String, String> hiveConfProps;
-    final private ArrayList<String> statements = Lists.newArrayList();
+    private final Map<String, String> hiveConfProps;
+    private final List<String> statements = Lists.newArrayList();
 
     public HiveCmdBuilder() {
         kylinConfig = KylinConfig.getInstanceFromEnv();
@@ -61,7 +62,7 @@ public class HiveCmdBuilder {
             }
         }
 
-        StringBuffer buf = new StringBuffer();
+        StringBuilder buf = new StringBuilder();
 
         switch (clientMode) {
         case CLI:
@@ -76,7 +77,7 @@ public class HiveCmdBuilder {
             String tmpHqlPath = null;
             StringBuilder hql = new StringBuilder();
             try {
-                tmpHqlPath = "/tmp/" + System.currentTimeMillis() + ".hql";
+                tmpHqlPath = "/tmp/" + UUID.randomUUID().toString() + ".hql";
                 for (String statement : statements) {
                     hql.append(statement);
                     hql.append("\n");
@@ -95,12 +96,12 @@ public class HiveCmdBuilder {
                 buf.append(";exit $ret_code");
             } finally {
                 if (tmpHqlPath != null && logger.isDebugEnabled()) {
-                    logger.debug("The SQL to execute in beeline: \n" + hql);
+                    logger.debug("The SQL to execute in beeline: {} \n", hql);
                 }
             }
             break;
         default:
-            throw new RuntimeException("Hive client cannot be recognized: " + clientMode);
+            throw new IllegalArgumentException("Hive client cannot be recognized: " + clientMode);
         }
 
         return buf.toString();