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);