You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@kylin.apache.org by li...@apache.org on 2015/03/21 01:28:52 UTC

[19/25] incubator-kylin git commit: KYLIN-643 JDBC couldn't connect to Kylin: "java.sql.SQLException: Authentication Failed"

KYLIN-643 JDBC couldn't connect to Kylin: "java.sql.SQLException: Authentication Failed"

Project: http://git-wip-us.apache.org/repos/asf/incubator-kylin/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-kylin/commit/933aa9ea
Tree: http://git-wip-us.apache.org/repos/asf/incubator-kylin/tree/933aa9ea
Diff: http://git-wip-us.apache.org/repos/asf/incubator-kylin/diff/933aa9ea

Branch: refs/heads/master
Commit: 933aa9ea95fd0a3dd60cfe0138a61370d2d1ac1c
Parents: 79fe5a3
Author: Shao Feng, Shi <sh...@ebay.com>
Authored: Tue Mar 17 13:54:06 2015 +0800
Committer: Shao Feng, Shi <sh...@ebay.com>
Committed: Tue Mar 17 13:54:06 2015 +0800

----------------------------------------------------------------------
 .../org/apache/kylin/jdbc/stub/KylinClient.java |  8 +++---
 .../kylin/metadata/project/ProjectL2Cache.java  | 27 ++++++++++----------
 2 files changed, 17 insertions(+), 18 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/933aa9ea/jdbc/src/main/java/org/apache/kylin/jdbc/stub/KylinClient.java
----------------------------------------------------------------------
diff --git a/jdbc/src/main/java/org/apache/kylin/jdbc/stub/KylinClient.java b/jdbc/src/main/java/org/apache/kylin/jdbc/stub/KylinClient.java
index c46f0fb..ccbfe5d 100644
--- a/jdbc/src/main/java/org/apache/kylin/jdbc/stub/KylinClient.java
+++ b/jdbc/src/main/java/org/apache/kylin/jdbc/stub/KylinClient.java
@@ -80,9 +80,9 @@ public class KylinClient implements RemoteClient {
             httpClient.executeMethod(post);
 
             if (post.getStatusCode() != 200 && post.getStatusCode() != 201) {
-                logger.error("Authentication Failed with error code " + post.getStatusCode() + " and message:\n" + post.getResponseBodyAsString());
+                logger.error("Connect failed with error code " + post.getStatusCode() + " and message:\n" + post.getResponseBodyAsString());
 
-                throw new ConnectionException("Authentication Failed.");
+                throw new ConnectionException("Connect failed, error code " + post.getStatusCode() + " and message: " + post.getResponseBodyAsString());
             }
         } catch (HttpException e) {
             logger.error(e.getLocalizedMessage(), e);
@@ -108,9 +108,9 @@ public class KylinClient implements RemoteClient {
             httpClient.executeMethod(get);
 
             if (get.getStatusCode() != 200 && get.getStatusCode() != 201) {
-                logger.error("Authentication Failed with error code " + get.getStatusCode() + " and message:\n" + get.getResponseBodyAsString());
+                logger.error("Connect failed with error code " + get.getStatusCode() + " and message:\n" + get.getResponseBodyAsString());
 
-                throw new ConnectionException("Authentication Failed.");
+                throw new ConnectionException("Connect failed, error code " + get.getStatusCode() + " and message: " + get.getResponseBodyAsString());
             }
 
             tableMetaStubs = new ObjectMapper().readValue(get.getResponseBodyAsString(), new TypeReference<List<TableMetaStub>>() {

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/933aa9ea/metadata/src/main/java/org/apache/kylin/metadata/project/ProjectL2Cache.java
----------------------------------------------------------------------
diff --git a/metadata/src/main/java/org/apache/kylin/metadata/project/ProjectL2Cache.java b/metadata/src/main/java/org/apache/kylin/metadata/project/ProjectL2Cache.java
index 50843de..d936d08 100644
--- a/metadata/src/main/java/org/apache/kylin/metadata/project/ProjectL2Cache.java
+++ b/metadata/src/main/java/org/apache/kylin/metadata/project/ProjectL2Cache.java
@@ -18,30 +18,25 @@
 
 package org.apache.kylin.metadata.project;
 
-import java.util.Collections;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
-
-import org.apache.kylin.metadata.model.TableDesc;
-import org.apache.kylin.metadata.model.TblColRef;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
 import com.google.common.collect.Lists;
 import com.google.common.collect.Maps;
 import com.google.common.collect.Sets;
 import org.apache.kylin.metadata.MetadataManager;
-import org.apache.kylin.metadata.model.ColumnDesc;
-import org.apache.kylin.metadata.model.FunctionDesc;
-import org.apache.kylin.metadata.model.MeasureDesc;
+import org.apache.kylin.metadata.model.*;
 import org.apache.kylin.metadata.realization.IRealization;
 import org.apache.kylin.metadata.realization.RealizationRegistry;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import java.util.Collections;
+import java.util.List;
+import java.util.Map;
+import java.util.Set;
 
 /**
  * This is a second level cache that is built on top of first level cached objects,
  * including Realization, TableDesc, ColumnDesc etc, to speed up query time metadata lookup.
- * 
+ * <p/>
  * On any object update, the L2 cache simply gets wiped out because it's cheap to rebuild.
  */
 class ProjectL2Cache {
@@ -158,6 +153,10 @@ class ProjectL2Cache {
         ProjectCache result = new ProjectCache(project);
 
         ProjectInstance pi = mgr.getProject(project);
+
+        if (pi == null)
+            throw new IllegalArgumentException("Project '" + project + "' does not exist;");
+
         MetadataManager metaMgr = mgr.getMetadataManager();
 
         for (String tableName : pi.getTables()) {