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/05 03:15:47 UTC
lens git commit: LENS-853 : Quit shell should close session all times
Repository: lens
Updated Branches:
refs/heads/master 0ba17ef5c -> b7773d6c7
LENS-853 : Quit shell should close session all times
Project: http://git-wip-us.apache.org/repos/asf/lens/repo
Commit: http://git-wip-us.apache.org/repos/asf/lens/commit/b7773d6c
Tree: http://git-wip-us.apache.org/repos/asf/lens/tree/b7773d6c
Diff: http://git-wip-us.apache.org/repos/asf/lens/diff/b7773d6c
Branch: refs/heads/master
Commit: b7773d6c74cc323be10c0f416f4ec93d8711fe00
Parents: 0ba17ef
Author: Raju Bairishetti <ra...@apache.org>
Authored: Sat Mar 5 07:45:27 2016 +0530
Committer: Amareshwari Sriramadasu <am...@apache.org>
Committed: Sat Mar 5 07:45:27 2016 +0530
----------------------------------------------------------------------
.../apache/lens/cli/commands/BaseLensCommand.java | 12 +++++++-----
.../lens/cli/TestLensConnectionCliCommands.java | 1 -
.../org/apache/lens/cli/TestLensQueryCommands.java | 15 ++++++++++++++-
.../apache/lens/server/session/SessionResource.java | 1 +
4 files changed, 22 insertions(+), 7 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/lens/blob/b7773d6c/lens-cli/src/main/java/org/apache/lens/cli/commands/BaseLensCommand.java
----------------------------------------------------------------------
diff --git a/lens-cli/src/main/java/org/apache/lens/cli/commands/BaseLensCommand.java b/lens-cli/src/main/java/org/apache/lens/cli/commands/BaseLensCommand.java
index 0c10198..be1ca12 100644
--- a/lens-cli/src/main/java/org/apache/lens/cli/commands/BaseLensCommand.java
+++ b/lens-cli/src/main/java/org/apache/lens/cli/commands/BaseLensCommand.java
@@ -57,7 +57,8 @@ public class BaseLensCommand implements ExecutionProcessor {
protected DefaultPrettyPrinter pp;
/** The is connection active. */
- protected static boolean isConnectionActive;
+ protected boolean isConnectionActive;
+
public static final String DATE_FMT = "yyyy-MM-dd'T'HH:mm:ss:SSS";
private LensClient lensClient = null;
@@ -74,7 +75,7 @@ public class BaseLensCommand implements ExecutionProcessor {
return DATE_PARSER.get().format(dt);
}
- static {
+ private void registerShutDownHook() {
Runtime.getRuntime().addShutdownHook(new Thread() {
public void run() {
closeClientConnection();
@@ -85,10 +86,10 @@ public class BaseLensCommand implements ExecutionProcessor {
/**
* Close client connection.
*/
- protected static synchronized void closeClientConnection() {
+ protected synchronized void closeClientConnection() {
if (isConnectionActive) {
log.debug("Request for stopping lens cli received");
- getClientWrapper().getClient().closeConnection();
+ lensClient.closeConnection();
isConnectionActive = false;
}
}
@@ -97,6 +98,7 @@ public class BaseLensCommand implements ExecutionProcessor {
* Instantiates a new base lens command.
*/
public BaseLensCommand() {
+ registerShutDownHook();
mapper = new ObjectMapper();
mapper.setSerializationInclusion(Inclusion.NON_NULL);
mapper.setSerializationInclusion(Inclusion.NON_DEFAULT);
@@ -118,13 +120,13 @@ public class BaseLensCommand implements ExecutionProcessor {
}
public void setClient(LensClient client) {
+ isConnectionActive = true;
lensClient = client;
}
public LensClient getClient() {
if (lensClient == null) {
setClient(getClientWrapper().getClient());
- isConnectionActive = true;
}
return lensClient;
}
http://git-wip-us.apache.org/repos/asf/lens/blob/b7773d6c/lens-cli/src/test/java/org/apache/lens/cli/TestLensConnectionCliCommands.java
----------------------------------------------------------------------
diff --git a/lens-cli/src/test/java/org/apache/lens/cli/TestLensConnectionCliCommands.java b/lens-cli/src/test/java/org/apache/lens/cli/TestLensConnectionCliCommands.java
index 3c4d320..d1ec94e 100644
--- a/lens-cli/src/test/java/org/apache/lens/cli/TestLensConnectionCliCommands.java
+++ b/lens-cli/src/test/java/org/apache/lens/cli/TestLensConnectionCliCommands.java
@@ -195,7 +195,6 @@ public class TestLensConnectionCliCommands extends LensCliApplicationTest {
}
}
-
/**
* Test jar commands.
*/
http://git-wip-us.apache.org/repos/asf/lens/blob/b7773d6c/lens-cli/src/test/java/org/apache/lens/cli/TestLensQueryCommands.java
----------------------------------------------------------------------
diff --git a/lens-cli/src/test/java/org/apache/lens/cli/TestLensQueryCommands.java b/lens-cli/src/test/java/org/apache/lens/cli/TestLensQueryCommands.java
index 97e5512..616bf5d 100644
--- a/lens-cli/src/test/java/org/apache/lens/cli/TestLensQueryCommands.java
+++ b/lens-cli/src/test/java/org/apache/lens/cli/TestLensQueryCommands.java
@@ -92,6 +92,10 @@ public class TestLensQueryCommands extends LensCliApplicationTest {
return qCom;
}
+ private void closeClientConnection(LensQueryCommands queryCommands) {
+ queryCommands.getClient().closeConnection();
+ }
+
/**
* Test execute sync query
*/
@@ -101,7 +105,7 @@ public class TestLensQueryCommands extends LensCliApplicationTest {
String sql = "cube select id,name from test_dim";
String result = qCom.executeQuery(sql, false, "testQuery2");
assertTrue(result.contains("1\tfirst"), result);
-
+ closeClientConnection(qCom);
}
/**
@@ -167,6 +171,7 @@ public class TestLensQueryCommands extends LensCliApplicationTest {
assertFalse(handles2.contains(qh), handles2);
result = qCom.destroyPreparedQuery(handles);
assertEquals("Successfully destroyed " + handles, result);
+ closeClientConnection(qCom);
}
/**
@@ -199,6 +204,7 @@ public class TestLensQueryCommands extends LensCliApplicationTest {
log.debug(result);
assertTrue(result.contains(explainPlan));
+ closeClientConnection(qCom);
}
/**
@@ -310,6 +316,7 @@ public class TestLensQueryCommands extends LensCliApplicationTest {
}
System.out.println("@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@");
+ closeClientConnection(qCom);
}
private String readFile(String path) throws FileNotFoundException {
@@ -363,6 +370,9 @@ public class TestLensQueryCommands extends LensCliApplicationTest {
LensDimensionTableCommands dimTableCmd = new LensDimensionTableCommands();
dimTableCmd.setClient(client);
dimTableCmd.dropDimensionTable("dim_table", true);
+
+ // close client connection
+ client.closeConnection();
}
/**
@@ -391,6 +401,7 @@ public class TestLensQueryCommands extends LensCliApplicationTest {
downloadResult(qCom, qCom.getClient().getStatement().getQueryHandleString(), "testQuery3", "\"1\",\"first\"");
System.out.println("@@END_PERSISTENT_RESULT_TEST-------------");
qCom.getClient().setConnectionParam("lens.query.enable.persistent.resultset.indriver", "false");
+ closeClientConnection(qCom);
}
private void downloadResult(LensQueryCommands qCom, String qHandle, String qName, String expected)
@@ -412,6 +423,7 @@ public class TestLensQueryCommands extends LensCliApplicationTest {
String qh = qCom.executeQuery(sql, true, "testQuery4");
String result = qCom.getQueryResults(qh, null, false);
assertTrue(result.contains("1\tfirst"), result);
+ closeClientConnection(qCom);
}
/**
@@ -438,6 +450,7 @@ public class TestLensQueryCommands extends LensCliApplicationTest {
assertFalse(result.contains("(-"));
System.out.println("@@END_FINISHED_PURGED_RESULT_TEST-------------");
qCom.getClient().setConnectionParam("lens.query.enable.persistent.resultset", "false");
+ closeClientConnection(qCom);
}
}
http://git-wip-us.apache.org/repos/asf/lens/blob/b7773d6c/lens-server/src/main/java/org/apache/lens/server/session/SessionResource.java
----------------------------------------------------------------------
diff --git a/lens-server/src/main/java/org/apache/lens/server/session/SessionResource.java b/lens-server/src/main/java/org/apache/lens/server/session/SessionResource.java
index 0daa286..568b416 100644
--- a/lens-server/src/main/java/org/apache/lens/server/session/SessionResource.java
+++ b/lens-server/src/main/java/org/apache/lens/server/session/SessionResource.java
@@ -121,6 +121,7 @@ public class SessionResource {
try {
sessionService.closeSession(sessionid);
} catch (LensException e) {
+ log.error("Got an exception while closing {} session: ", sessionid, e);
return new APIResult(Status.FAILED, e.getMessage());
}
return new APIResult(Status.SUCCEEDED, "Close session with id" + sessionid + "succeeded");