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 2014/12/02 05:57:10 UTC

incubator-lens git commit: LENS-84 : Makes sessionid optional in httpresult set (Jaideep Dhok via amareshwari)

Repository: incubator-lens
Updated Branches:
  refs/heads/master be6fb66ce -> 630bbbb5e


LENS-84 : Makes sessionid optional in httpresult set (Jaideep Dhok via amareshwari)


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

Branch: refs/heads/master
Commit: 630bbbb5e2ae01992982c0ef01791aff93948939
Parents: be6fb66
Author: Amareshwari Sriramdasu <am...@inmobi.com>
Authored: Tue Dec 2 10:26:59 2014 +0530
Committer: Amareshwari Sriramdasu <am...@inmobi.com>
Committed: Tue Dec 2 10:26:59 2014 +0530

----------------------------------------------------------------------
 .../org/apache/lens/server/LensService.java     | 12 +++--
 .../lens/server/query/QueryServiceResource.java |  1 -
 .../lens/server/query/TestQueryService.java     | 48 +++++++++++++++-----
 3 files changed, 45 insertions(+), 16 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-lens/blob/630bbbb5/lens-server/src/main/java/org/apache/lens/server/LensService.java
----------------------------------------------------------------------
diff --git a/lens-server/src/main/java/org/apache/lens/server/LensService.java b/lens-server/src/main/java/org/apache/lens/server/LensService.java
index dc0c311..7756236 100644
--- a/lens-server/src/main/java/org/apache/lens/server/LensService.java
+++ b/lens-server/src/main/java/org/apache/lens/server/LensService.java
@@ -254,8 +254,10 @@ public abstract class LensService extends CompositeService implements Externaliz
    *          the session handle
    */
   public void acquire(LensSessionHandle sessionHandle) {
-    LOG.debug("Acquiring lens session:" + sessionHandle.getPublicId());
-    getSession(sessionHandle).acquire();
+    if (sessionHandle != null) {
+      LOG.debug("Acquiring lens session:" + sessionHandle.getPublicId());
+      getSession(sessionHandle).acquire();
+    }
   }
 
   /**
@@ -275,8 +277,10 @@ public abstract class LensService extends CompositeService implements Externaliz
    *          the session handle
    */
   public void release(LensSessionHandle sessionHandle) {
-    getSession(sessionHandle).release();
-    LOG.debug("Released lens session:" + sessionHandle.getPublicId());
+    if (sessionHandle != null) {
+      getSession(sessionHandle).release();
+      LOG.debug("Released lens session:" + sessionHandle.getPublicId());
+    }
   }
 
   /**

http://git-wip-us.apache.org/repos/asf/incubator-lens/blob/630bbbb5/lens-server/src/main/java/org/apache/lens/server/query/QueryServiceResource.java
----------------------------------------------------------------------
diff --git a/lens-server/src/main/java/org/apache/lens/server/query/QueryServiceResource.java b/lens-server/src/main/java/org/apache/lens/server/query/QueryServiceResource.java
index 13b0cfd..9587a87 100644
--- a/lens-server/src/main/java/org/apache/lens/server/query/QueryServiceResource.java
+++ b/lens-server/src/main/java/org/apache/lens/server/query/QueryServiceResource.java
@@ -758,7 +758,6 @@ public class QueryServiceResource {
   @Produces({ MediaType.APPLICATION_OCTET_STREAM })
   public Response getHttpResultSet(@QueryParam("sessionid") LensSessionHandle sessionid,
       @PathParam("queryHandle") String queryHandle) {
-    checkSessionId(sessionid);
     try {
       return queryServer.getHttpResultSet(sessionid, getQueryHandle(queryHandle));
     } catch (LensException e) {

http://git-wip-us.apache.org/repos/asf/incubator-lens/blob/630bbbb5/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 b0ff421..8c63c3e 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
@@ -765,6 +765,33 @@ public class TestQueryService extends LensJerseyTest {
     } else {
       Assert.assertTrue(ctx2.getStatus().getStatus() == QueryStatus.Status.CANCELED);
     }
+
+    // Test http download end point
+    LOG.info("Starting httpendpoint test");
+    final FormDataMultiPart mp3 = new FormDataMultiPart();
+    mp3.bodyPart(new FormDataBodyPart(FormDataContentDisposition.name("sessionid").build(), lensSessionId,
+        MediaType.APPLICATION_XML_TYPE));
+    mp3.bodyPart(new FormDataBodyPart(FormDataContentDisposition.name("query").build(), "select ID, IDSTR from "
+        + testTable));
+    mp3.bodyPart(new FormDataBodyPart(FormDataContentDisposition.name("operation").build(), "execute"));
+    LensConf conf = new LensConf();
+    conf.addProperty(LensConfConstants.QUERY_PERSISTENT_RESULT_SET, "true");
+
+    mp3.bodyPart(new FormDataBodyPart(FormDataContentDisposition.name("conf").fileName("conf").build(), conf,
+        MediaType.APPLICATION_XML_TYPE));
+    final QueryHandle handle3 = target.request().post(Entity.entity(mp3, MediaType.MULTIPART_FORM_DATA_TYPE),
+        QueryHandle.class);
+
+    // Get query
+    ctx = target.path(handle3.toString()).queryParam("sessionid", lensSessionId).request().get(LensQuery.class);
+    // wait till the query finishes
+    stat = ctx.getStatus();
+    while (!stat.isFinished()) {
+      ctx = target.path(handle3.toString()).queryParam("sessionid", lensSessionId).request().get(LensQuery.class);
+      stat = ctx.getStatus();
+      Thread.sleep(1000);
+    }
+    validateHttpEndPoint(target(), null, handle3, null);
   }
 
   /**
@@ -958,6 +985,7 @@ public class TestQueryService extends LensJerseyTest {
    */
   static void validateHttpEndPoint(WebTarget parent, LensSessionHandle lensSessionId, QueryHandle handle,
       String redirectUrl) throws IOException {
+    LOG.info("@@@ validateHttpEndPoint sessionid " + lensSessionId);
     Response response = parent.path("queryapi/queries/" + handle.toString() + "/httpresultset")
         .queryParam("sessionid", lensSessionId).request().get();
 
@@ -1003,6 +1031,7 @@ public class TestQueryService extends LensJerseyTest {
       Assert.assertEquals(response.getStatus(), Response.Status.NOT_FOUND.getStatusCode());
     } catch (NotFoundException e) {
       // expected
+      e.printStackTrace();
     }
 
   }
@@ -1076,28 +1105,27 @@ public class TestQueryService extends LensJerseyTest {
     // test post execute op
     final WebTarget target = target().path("queryapi/queries");
 
-
     final FormDataMultiPart drop = new FormDataMultiPart();
     LensConf conf = new LensConf();
     conf.addProperty(LensConfConstants.QUERY_PERSISTENT_RESULT_INDRIVER, "false");
     drop.bodyPart(new FormDataBodyPart(FormDataContentDisposition.name("sessionid").build(), lensSessionId,
-      MediaType.APPLICATION_XML_TYPE));
+        MediaType.APPLICATION_XML_TYPE));
     drop.bodyPart(new FormDataBodyPart(FormDataContentDisposition.name("query").build(),
-      "drop table if exists temp_output"));
+        "drop table if exists temp_output"));
     drop.bodyPart(new FormDataBodyPart(FormDataContentDisposition.name("operation").build(), "execute"));
     drop.bodyPart(new FormDataBodyPart(FormDataContentDisposition.name("conf").fileName("conf").build(), conf,
-      MediaType.APPLICATION_XML_TYPE));
+        MediaType.APPLICATION_XML_TYPE));
     final QueryHandle dropHandle = target.request().post(Entity.entity(drop, MediaType.MULTIPART_FORM_DATA_TYPE),
-      QueryHandle.class);
+        QueryHandle.class);
 
     Assert.assertNotNull(dropHandle);
 
     // Get query
     LensQuery ctx = target.path(dropHandle.toString()).queryParam("sessionid", lensSessionId).request()
-      .get(LensQuery.class);
+        .get(LensQuery.class);
     Assert.assertTrue(ctx.getStatus().getStatus().equals(Status.QUEUED)
-      || ctx.getStatus().getStatus().equals(Status.LAUNCHED) || ctx.getStatus().getStatus().equals(Status.RUNNING)
-      || ctx.getStatus().getStatus().equals(Status.SUCCESSFUL));
+        || ctx.getStatus().getStatus().equals(Status.LAUNCHED) || ctx.getStatus().getStatus().equals(Status.RUNNING)
+        || ctx.getStatus().getStatus().equals(Status.SUCCESSFUL));
 
     // wait till the query finishes
     QueryStatus stat = ctx.getStatus();
@@ -1108,7 +1136,6 @@ public class TestQueryService extends LensJerseyTest {
     }
     Assert.assertEquals(ctx.getStatus().getStatus(), QueryStatus.Status.SUCCESSFUL);
 
-
     final FormDataMultiPart mp = new FormDataMultiPart();
     conf = new LensConf();
     conf.addProperty(LensConfConstants.QUERY_PERSISTENT_RESULT_INDRIVER, "false");
@@ -1125,8 +1152,7 @@ public class TestQueryService extends LensJerseyTest {
     Assert.assertNotNull(handle);
 
     // Get query
-    ctx = target.path(handle.toString()).queryParam("sessionid", lensSessionId).request()
-        .get(LensQuery.class);
+    ctx = target.path(handle.toString()).queryParam("sessionid", lensSessionId).request().get(LensQuery.class);
     Assert.assertTrue(ctx.getStatus().getStatus().equals(Status.QUEUED)
         || ctx.getStatus().getStatus().equals(Status.LAUNCHED) || ctx.getStatus().getStatus().equals(Status.RUNNING)
         || ctx.getStatus().getStatus().equals(Status.SUCCESSFUL));