You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lens.apache.org by de...@apache.org on 2016/02/02 12:07:05 UTC
lens git commit: LENS-928 : DELETE request on /resultset API gives
500 in case of InMemory Result
Repository: lens
Updated Branches:
refs/heads/master 2f0e5fdbf -> a5091fe0c
LENS-928 : DELETE request on /resultset API gives 500 in case of InMemory Result
Project: http://git-wip-us.apache.org/repos/asf/lens/repo
Commit: http://git-wip-us.apache.org/repos/asf/lens/commit/a5091fe0
Tree: http://git-wip-us.apache.org/repos/asf/lens/tree/a5091fe0
Diff: http://git-wip-us.apache.org/repos/asf/lens/diff/a5091fe0
Branch: refs/heads/master
Commit: a5091fe0c2b351bd5d8643de9edaac23f2bd3793
Parents: 2f0e5fd
Author: Deepak Barr <de...@apache.org>
Authored: Tue Feb 2 16:36:07 2016 +0530
Committer: Deepak Kumar Barr <de...@apache.org>
Committed: Tue Feb 2 16:36:07 2016 +0530
----------------------------------------------------------------------
.../src/main/java/org/apache/lens/driver/es/ESDriver.java | 4 +---
.../main/java/org/apache/lens/server/api/driver/LensDriver.java | 2 +-
.../org/apache/lens/server/query/QueryExecutionServiceImpl.java | 5 ++++-
.../java/org/apache/lens/server/query/TestQueryService.java | 4 ++++
4 files changed, 10 insertions(+), 5 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/lens/blob/a5091fe0/lens-driver-es/src/main/java/org/apache/lens/driver/es/ESDriver.java
----------------------------------------------------------------------
diff --git a/lens-driver-es/src/main/java/org/apache/lens/driver/es/ESDriver.java b/lens-driver-es/src/main/java/org/apache/lens/driver/es/ESDriver.java
index d166e43..8a4f410 100644
--- a/lens-driver-es/src/main/java/org/apache/lens/driver/es/ESDriver.java
+++ b/lens-driver-es/src/main/java/org/apache/lens/driver/es/ESDriver.java
@@ -195,10 +195,8 @@ public class ESDriver extends AbstractLensDriver {
@Override
public void closeResultSet(QueryHandle handle) throws LensException {
- try {
+ if (resultSetMap.containsKey(handle)) {
resultSetMap.remove(handle);
- } catch (NullPointerException e) {
- throw new LensException("The query does not exist or was already purged", e);
}
}
http://git-wip-us.apache.org/repos/asf/lens/blob/a5091fe0/lens-server-api/src/main/java/org/apache/lens/server/api/driver/LensDriver.java
----------------------------------------------------------------------
diff --git a/lens-server-api/src/main/java/org/apache/lens/server/api/driver/LensDriver.java b/lens-server-api/src/main/java/org/apache/lens/server/api/driver/LensDriver.java
index 3d38ddd..ed97673 100644
--- a/lens-server-api/src/main/java/org/apache/lens/server/api/driver/LensDriver.java
+++ b/lens-server-api/src/main/java/org/apache/lens/server/api/driver/LensDriver.java
@@ -151,7 +151,7 @@ public interface LensDriver extends Externalizable {
LensResultSet fetchResultSet(QueryContext context) throws LensException;
/**
- * Close the resultset for the query.
+ * Close the resultset for the query. Closing an already closed resultset should not result in failures.
*
* @param handle The query handle
* @throws LensException the lens exception
http://git-wip-us.apache.org/repos/asf/lens/blob/a5091fe0/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 19077d2..e61398b 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
@@ -2100,7 +2100,10 @@ public class QueryExecutionServiceImpl extends BaseLensService implements QueryE
acquire(sessionHandle);
resultSets.remove(queryHandle);
// Ask driver to close result set
- getQueryContext(queryHandle).getSelectedDriver().closeResultSet(queryHandle);
+ QueryContext ctx=getQueryContext(queryHandle);
+ if (null != ctx) {
+ ctx.getSelectedDriver().closeResultSet(queryHandle);
+ }
} finally {
release(sessionHandle);
}
http://git-wip-us.apache.org/repos/asf/lens/blob/a5091fe0/lens-server/src/test/java/org/apache/lens/server/query/TestQueryService.java
----------------------------------------------------------------------
diff --git a/lens-server/src/test/java/org/apache/lens/server/query/TestQueryService.java b/lens-server/src/test/java/org/apache/lens/server/query/TestQueryService.java
index 5d949d2..ef8c1aa 100644
--- a/lens-server/src/test/java/org/apache/lens/server/query/TestQueryService.java
+++ b/lens-server/src/test/java/org/apache/lens/server/query/TestQueryService.java
@@ -984,6 +984,10 @@ public class TestQueryService extends LensJerseyTest {
validateInmemoryResult(resultset);
validNotFoundForHttpResult(target(), lensSessionId, handle);
+ waitForPurge(0, queryService.finishedQueries);
+ APIResult result=target.path(handle.toString()).path("resultset")
+ .queryParam("sessionid", lensSessionId).request().delete(APIResult.class);
+ assertEquals(result.getStatus(), APIResult.Status.SUCCEEDED);
}
@Test