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/03 13:11:03 UTC

[43/51] [abbrv] lens git commit: LENS-928 : DELETE request on /resultset API gives 500 in case of InMemory Result

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/current-release-line
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