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