You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lens.apache.org by am...@apache.org on 2016/03/21 10:02:37 UTC

lens git commit: LENS-990 : Fix exception fetching results while purging a failed query

Repository: lens
Updated Branches:
  refs/heads/master 8cd7c2022 -> a1445f3d3


LENS-990 : Fix exception fetching results while purging a failed query


Project: http://git-wip-us.apache.org/repos/asf/lens/repo
Commit: http://git-wip-us.apache.org/repos/asf/lens/commit/a1445f3d
Tree: http://git-wip-us.apache.org/repos/asf/lens/tree/a1445f3d
Diff: http://git-wip-us.apache.org/repos/asf/lens/diff/a1445f3d

Branch: refs/heads/master
Commit: a1445f3d35d4a7e452ced7b1ca4431051382141e
Parents: 8cd7c20
Author: Puneet Gupta <pu...@apache.org>
Authored: Mon Mar 21 14:32:18 2016 +0530
Committer: Amareshwari Sriramadasu <am...@apache.org>
Committed: Mon Mar 21 14:32:18 2016 +0530

----------------------------------------------------------------------
 .../org/apache/lens/server/api/driver/DriverQueryStatus.java | 4 ++++
 .../java/org/apache/lens/server/api/query/QueryContext.java  | 8 ++++----
 .../apache/lens/server/query/QueryExecutionServiceImpl.java  | 2 +-
 3 files changed, 9 insertions(+), 5 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/lens/blob/a1445f3d/lens-server-api/src/main/java/org/apache/lens/server/api/driver/DriverQueryStatus.java
----------------------------------------------------------------------
diff --git a/lens-server-api/src/main/java/org/apache/lens/server/api/driver/DriverQueryStatus.java b/lens-server-api/src/main/java/org/apache/lens/server/api/driver/DriverQueryStatus.java
index 79d8bf1..2374c1e 100644
--- a/lens-server-api/src/main/java/org/apache/lens/server/api/driver/DriverQueryStatus.java
+++ b/lens-server-api/src/main/java/org/apache/lens/server/api/driver/DriverQueryStatus.java
@@ -212,4 +212,8 @@ public class DriverQueryStatus implements Serializable {
       || state.equals(DriverQueryState.CANCELED) || state.equals(DriverQueryState.CLOSED);
   }
 
+  public boolean isSuccessful() {
+    return state.equals(DriverQueryState.SUCCESSFUL);
+  }
+
 }

http://git-wip-us.apache.org/repos/asf/lens/blob/a1445f3d/lens-server-api/src/main/java/org/apache/lens/server/api/query/QueryContext.java
----------------------------------------------------------------------
diff --git a/lens-server-api/src/main/java/org/apache/lens/server/api/query/QueryContext.java b/lens-server-api/src/main/java/org/apache/lens/server/api/query/QueryContext.java
index d01e4a4..8ee8a3b 100644
--- a/lens-server-api/src/main/java/org/apache/lens/server/api/query/QueryContext.java
+++ b/lens-server-api/src/main/java/org/apache/lens/server/api/query/QueryContext.java
@@ -335,10 +335,10 @@ public class QueryContext extends AbstractQueryContext {
   public boolean isResultAvailableInDriver() {
     // result is available in driver if driverStatus.isResultSetAvailable() - will be true for fetching inmemory
     // result set.
-    // if result is persisted in driver driverStatus.isResultSetAvailable() will be false
-    // so, for select queries, if result is persisted in driver, we return true sothat the result can be fetched thru
-    // persistent resultset
-    return isDriverPersistent() || driverStatus.isResultSetAvailable();
+    // if result is persisted in driver driverStatus.isResultSetAvailable() will be false but isDriverPersistent will
+    // be true. So, for select queries, if result is persisted in driver, we return true so that the result can be
+    //  fetched thru persistent resultset
+    return driverStatus.isSuccessful() && (isDriverPersistent() || driverStatus.isResultSetAvailable());
   }
 
   /**

http://git-wip-us.apache.org/repos/asf/lens/blob/a1445f3d/lens-server/src/main/java/org/apache/lens/server/query/QueryExecutionServiceImpl.java
----------------------------------------------------------------------
diff --git a/lens-server/src/main/java/org/apache/lens/server/query/QueryExecutionServiceImpl.java b/lens-server/src/main/java/org/apache/lens/server/query/QueryExecutionServiceImpl.java
index 4c95506..90c25e4 100644
--- a/lens-server/src/main/java/org/apache/lens/server/query/QueryExecutionServiceImpl.java
+++ b/lens-server/src/main/java/org/apache/lens/server/query/QueryExecutionServiceImpl.java
@@ -538,7 +538,7 @@ public class QueryExecutionServiceImpl extends BaseLensService implements QueryE
       if (ctx.isResultAvailableInDriver()) {
         try {
           driverRS = ctx.getSelectedDriver().fetchResultSet(getCtx());
-        } catch (LensException e) {
+        } catch (Exception e) {
           log.error(
               "Error while getting result ser form driver {}. Driver result set based purging logic will be ignored",
               ctx.getSelectedDriver(), e);