You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lens.apache.org by pr...@apache.org on 2015/12/10 07:50:17 UTC
lens git commit: LENS-882: Provide option from CLI to list queries by
driver
Repository: lens
Updated Branches:
refs/heads/master 22e202208 -> 0e4c18cb9
LENS-882: Provide option from CLI to list queries by driver
Project: http://git-wip-us.apache.org/repos/asf/lens/repo
Commit: http://git-wip-us.apache.org/repos/asf/lens/commit/0e4c18cb
Tree: http://git-wip-us.apache.org/repos/asf/lens/tree/0e4c18cb
Diff: http://git-wip-us.apache.org/repos/asf/lens/diff/0e4c18cb
Branch: refs/heads/master
Commit: 0e4c18cb917015b469ca43d30d7e2196d8f64789
Parents: 22e2022
Author: Deepak Barr <de...@gmail.com>
Authored: Thu Dec 10 12:16:11 2015 +0530
Committer: Rajat Khandelwal <ra...@gmail.com>
Committed: Thu Dec 10 12:16:11 2015 +0530
----------------------------------------------------------------------
.../lens/cli/commands/LensQueryCommands.java | 4 ++-
.../apache/lens/cli/TestLensQueryCommands.java | 26 +++++++++++++-------
.../java/org/apache/lens/client/LensClient.java | 5 ++--
.../org/apache/lens/client/LensStatement.java | 6 +++--
src/site/apt/user/cli.apt | 2 +-
5 files changed, 28 insertions(+), 15 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/lens/blob/0e4c18cb/lens-cli/src/main/java/org/apache/lens/cli/commands/LensQueryCommands.java
----------------------------------------------------------------------
diff --git a/lens-cli/src/main/java/org/apache/lens/cli/commands/LensQueryCommands.java b/lens-cli/src/main/java/org/apache/lens/cli/commands/LensQueryCommands.java
index fe9b84d..e3c08ff 100644
--- a/lens-cli/src/main/java/org/apache/lens/cli/commands/LensQueryCommands.java
+++ b/lens-cli/src/main/java/org/apache/lens/cli/commands/LensQueryCommands.java
@@ -218,6 +218,7 @@ public class LensQueryCommands extends BaseLensCommand {
* @param state the state
* @param queryName the query name
* @param user the user
+ * @param driver the driver name
* @param fromDate the from date
* @param toDate the to date
* @return the all queries
@@ -229,11 +230,12 @@ public class LensQueryCommands extends BaseLensCommand {
@CliOption(key = {"state"}, mandatory = false, help = "<query-status>") String state,
@CliOption(key = {"name"}, mandatory = false, help = "<query-name>") String queryName,
@CliOption(key = {"user"}, mandatory = false, help = "<user-who-submitted-query>") String user,
+ @CliOption(key = {"driver"}, mandatory = false, help = "<driver-where-query-ran>") String driver,
@CliOption(key = {"fromDate"}, mandatory = false, unspecifiedDefaultValue = "-1", help
= "<submission-time-is-after>") long fromDate,
@CliOption(key = {"toDate"}, mandatory = false, unspecifiedDefaultValue = "" + Long.MAX_VALUE, help
= "<submission-time-is-before>") long toDate) {
- List<QueryHandle> handles = getClient().getQueries(state, queryName, user, fromDate, toDate);
+ List<QueryHandle> handles = getClient().getQueries(state, queryName, user, driver, fromDate, toDate);
if (handles != null && !handles.isEmpty()) {
return Joiner.on("\n").skipNulls().join(handles).concat("\n").concat("Total number of queries: "
+ handles.size());
http://git-wip-us.apache.org/repos/asf/lens/blob/0e4c18cb/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 48b3ebb..6ebfff7 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
@@ -230,7 +230,7 @@ public class TestLensQueryCommands extends LensCliApplicationTest {
String qh = qCom.executeQuery(sql, true, "testQuery1");
String user = qCom.getClient().getLensStatement(new QueryHandle(UUID.fromString(qh)))
.getQuery().getSubmittedUser();
- String result = qCom.getAllQueries("", "testQuery1", user, -1, Long.MAX_VALUE);
+ String result = qCom.getAllQueries("", "testQuery1", user, "", -1, Long.MAX_VALUE);
// this is because previous query has run two query handle will be there
assertTrue(result.contains(qh), result);
assertTrue(result.contains("Total number of queries"));
@@ -249,7 +249,7 @@ public class TestLensQueryCommands extends LensCliApplicationTest {
}
// Check that query name searching is 'ilike'
- String result2 = qCom.getAllQueries("", "query", "all", -1, Long.MAX_VALUE);
+ String result2 = qCom.getAllQueries("", "query", "all", "", -1, Long.MAX_VALUE);
assertTrue(result2.contains(qh), result2);
assertTrue(qCom.getStatus(qh).contains("Status : SUCCESSFUL"));
@@ -265,10 +265,10 @@ public class TestLensQueryCommands extends LensCliApplicationTest {
// Kill query is not tested as there is no deterministic way of killing a query
- result = qCom.getAllQueries("SUCCESSFUL", "", "all", -1, Long.MAX_VALUE);
+ result = qCom.getAllQueries("SUCCESSFUL", "", "all", "", -1, Long.MAX_VALUE);
assertTrue(result.contains(qh), result);
- result = qCom.getAllQueries("FAILED", "", "all", -1, Long.MAX_VALUE);
+ result = qCom.getAllQueries("FAILED", "", "all", "", -1, Long.MAX_VALUE);
if (!result.contains("No queries")) {
// Make sure valid query handles are returned
String[] handles = StringUtils.split(result, "\n");
@@ -282,22 +282,30 @@ public class TestLensQueryCommands extends LensCliApplicationTest {
String queryName = qCom.getClient().getLensStatement(new QueryHandle(UUID.fromString(qh))).getQuery()
.getQueryName();
assertTrue("testQuery1".equalsIgnoreCase(queryName), queryName);
- result = qCom.getAllQueries("", "", "", submitTime, System.currentTimeMillis());
+ result = qCom.getAllQueries("", "", "", "", submitTime, System.currentTimeMillis());
assertTrue(result.contains(qh), result);
- result = qCom.getAllQueries("", "fooBar", "all", submitTime, System.currentTimeMillis());
+ result = qCom.getAllQueries("", "fooBar", "all", "", submitTime, System.currentTimeMillis());
assertTrue(result.contains("No queries"), result);
- result = qCom.getAllQueries("SUCCESSFUL", "", "all", submitTime, System.currentTimeMillis());
+ result = qCom.getAllQueries("SUCCESSFUL", "", "all", "", submitTime, System.currentTimeMillis());
assertTrue(result.contains(qh));
- result = qCom.getAllQueries("SUCCESSFUL", "", "all", submitTime - 5000, submitTime - 1);
+ result = qCom.getAllQueries("SUCCESSFUL", "", "all", "", submitTime - 5000, submitTime - 1);
// should not give query since its not in the range
assertFalse(result.contains(qh));
+ // Filters on driver
+ result = qCom.getAllQueries("SUCCESSFUL", "", "all", "hive/hive1", submitTime,
+ System.currentTimeMillis());
+ assertTrue(result.contains(qh));
+
+ result = qCom.getAllQueries("SUCCESSFUL", "", "all", "DummyDriver", submitTime, System.currentTimeMillis());
+ assertFalse(result.contains(qh));
+
try {
// Should fail with bad request since fromDate > toDate
- result = qCom.getAllQueries("SUCCESSFUL", "", "all", submitTime + 5000, submitTime);
+ result = qCom.getAllQueries("SUCCESSFUL", "", "all", "", submitTime + 5000, submitTime);
fail("Call should have failed with BadRequestException, instead got " + result);
} catch (BadRequestException exc) {
// pass
http://git-wip-us.apache.org/repos/asf/lens/blob/0e4c18cb/lens-client/src/main/java/org/apache/lens/client/LensClient.java
----------------------------------------------------------------------
diff --git a/lens-client/src/main/java/org/apache/lens/client/LensClient.java b/lens-client/src/main/java/org/apache/lens/client/LensClient.java
index 5fd04c4..8f197e4 100644
--- a/lens-client/src/main/java/org/apache/lens/client/LensClient.java
+++ b/lens-client/src/main/java/org/apache/lens/client/LensClient.java
@@ -226,8 +226,9 @@ public class LensClient {
return getLensStatement(query).getResultSet();
}
- public List<QueryHandle> getQueries(String state, String queryName, String user, long fromDate, long toDate) {
- return new LensStatement(connection).getAllQueries(state, queryName, user, fromDate, toDate);
+ public List<QueryHandle> getQueries(String state, String queryName, String user, String driver, long fromDate,
+ long toDate) {
+ return new LensStatement(connection).getAllQueries(state, queryName, user, driver, fromDate, toDate);
}
private void connectToLensServer() {
http://git-wip-us.apache.org/repos/asf/lens/blob/0e4c18cb/lens-client/src/main/java/org/apache/lens/client/LensStatement.java
----------------------------------------------------------------------
diff --git a/lens-client/src/main/java/org/apache/lens/client/LensStatement.java b/lens-client/src/main/java/org/apache/lens/client/LensStatement.java
index 40e6d76..71caa48 100644
--- a/lens-client/src/main/java/org/apache/lens/client/LensStatement.java
+++ b/lens-client/src/main/java/org/apache/lens/client/LensStatement.java
@@ -382,15 +382,17 @@ public class LensStatement {
* @param state the state
* @param queryName the query name
* @param user the user
+ * @param driver the driver name
* @param fromDate the from date
* @param toDate the to date
* @return the all queries
*/
- public List<QueryHandle> getAllQueries(String state, String queryName, String user, long fromDate, long toDate) {
+ public List<QueryHandle> getAllQueries(String state, String queryName, String user, String driver, long fromDate,
+ long toDate) {
WebTarget target = getQueryWebTarget(connection.buildClient());
List<QueryHandle> handles = target.queryParam("sessionid", connection.getSessionHandle())
.queryParam("state", state).queryParam("queryName", queryName).queryParam("user", user)
- .queryParam("fromDate", fromDate).queryParam("toDate", toDate).request()
+ .queryParam("driver", driver).queryParam("fromDate", fromDate).queryParam("toDate", toDate).request()
.get(new GenericType<List<QueryHandle>>() {
});
return handles;
http://git-wip-us.apache.org/repos/asf/lens/blob/0e4c18cb/src/site/apt/user/cli.apt
----------------------------------------------------------------------
diff --git a/src/site/apt/user/cli.apt b/src/site/apt/user/cli.apt
index c266c6d..3db53c4 100644
--- a/src/site/apt/user/cli.apt
+++ b/src/site/apt/user/cli.apt
@@ -355,7 +355,7 @@ User CLI Commands
*--+--+
|query kill [--query_handle] \<query_handle\>|Kill query with handle <<<query_handle>>>|
*--+--+
-|query list [--state \<query-status\>] [--name \<query-name\>] [--user \<user-who-submitted-query\>] [--fromDate \<submission-time-is-after\>] [--toDate \<submission-time-is-before\>]|Get all queries. Various filter options can be provided(optionally), as can be seen from the command syntax|
+|query list [--state \<query-status\>] [--name \<query-name\>] [--user \<user-who-submitted-query\>] [--driver \<driver-where-query-was-executed\>] [--fromDate \<submission-time-is-after\>] [--toDate \<submission-time-is-before\>]|Get all queries. Various filter options can be provided(optionally), as can be seen from the command syntax|
*--+--+
|query results [--query_handle] \<query_handle\> [--save_location \<save_location\>] [--async \<async\>]|get results of query with query handle <<<query_handle>>>. If async is false then wait till the query execution is completed, it's by default true. Can optionally save the results to a file by providing <<<save_location>>>.|
*--+--+