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/09/28 15:33:52 UTC
lens git commit: LENS-224: FinishedLensQuery is not storing
selectedDriver
Repository: lens
Updated Branches:
refs/heads/master 5bae273ee -> e5b793c83
LENS-224: FinishedLensQuery is not storing selectedDriver
Project: http://git-wip-us.apache.org/repos/asf/lens/repo
Commit: http://git-wip-us.apache.org/repos/asf/lens/commit/e5b793c8
Tree: http://git-wip-us.apache.org/repos/asf/lens/tree/e5b793c8
Diff: http://git-wip-us.apache.org/repos/asf/lens/diff/e5b793c8
Branch: refs/heads/master
Commit: e5b793c83f2a627d049fac7de2ceee7a730574de
Parents: 5bae273
Author: Deepak Barr <de...@gmail.com>
Authored: Mon Sep 28 19:03:15 2015 +0530
Committer: Rajat Khandelwal <ra...@gmail.com>
Committed: Mon Sep 28 19:03:15 2015 +0530
----------------------------------------------------------------------
.../server/api/query/FinishedLensQuery.java | 34 ++++++++++++++++++--
.../apache/lens/server/query/LensServerDAO.java | 10 +++---
2 files changed, 37 insertions(+), 7 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/lens/blob/e5b793c8/lens-server-api/src/main/java/org/apache/lens/server/api/query/FinishedLensQuery.java
----------------------------------------------------------------------
diff --git a/lens-server-api/src/main/java/org/apache/lens/server/api/query/FinishedLensQuery.java b/lens-server-api/src/main/java/org/apache/lens/server/api/query/FinishedLensQuery.java
index 7a06c44..8308198 100644
--- a/lens-server-api/src/main/java/org/apache/lens/server/api/query/FinishedLensQuery.java
+++ b/lens-server-api/src/main/java/org/apache/lens/server/api/query/FinishedLensQuery.java
@@ -19,6 +19,7 @@
package org.apache.lens.server.api.query;
import java.util.Collection;
+import java.util.Iterator;
import org.apache.lens.api.LensConf;
import org.apache.lens.api.query.QueryHandle;
@@ -164,6 +165,13 @@ public class FinishedLensQuery {
@Setter
private String queryName;
+ /**
+ * The selected driver class name.
+ */
+ @Getter
+ @Setter
+ private String driverClass;
+
@Getter
private LensDriver selectedDriver;
@@ -195,11 +203,21 @@ public class FinishedLensQuery {
this.queryName = ctx.getQueryName().toLowerCase();
}
this.selectedDriver = ctx.getSelectedDriver();
+ if (null != ctx.getSelectedDriver()) {
+ this.driverClass = ctx.getSelectedDriver().getClass().getName();
+ }
}
public QueryContext toQueryContext(Configuration conf, Collection<LensDriver> drivers) {
- QueryContext qctx = new QueryContext(userQuery, submitter, new LensConf(), conf, drivers, null, submissionTime,
- false);
+
+ if (null == selectedDriver && null != driverClass) {
+ selectedDriver = getDriverFromClassName(drivers);
+ }
+
+ QueryContext qctx =
+ new QueryContext(userQuery, submitter, new LensConf(), conf, drivers, selectedDriver, submissionTime,
+ false);
+
qctx.setQueryHandle(QueryHandle.fromString(handle));
qctx.setLaunchTime(this.startTime);
qctx.setEndTime(getEndTime());
@@ -212,6 +230,18 @@ public class FinishedLensQuery {
return qctx;
}
+ private LensDriver getDriverFromClassName(Collection<LensDriver> drivers) {
+ Iterator<LensDriver> iterator = drivers.iterator();
+ while (iterator.hasNext()) {
+ LensDriver driver = iterator.next();
+ if (driverClass.equals(driver.getClass().getName())) {
+ //TODO : LENS-123 - Ability to load different instances of same driver class
+ return driver;
+ }
+ }
+ return null;
+ }
+
public ImmutableSet<WaitingQueriesSelectionPolicy> getDriverSelectionPolicies() {
return this.selectedDriver.getWaitingQuerySelectionPolicies();
}
http://git-wip-us.apache.org/repos/asf/lens/blob/e5b793c8/lens-server/src/main/java/org/apache/lens/server/query/LensServerDAO.java
----------------------------------------------------------------------
diff --git a/lens-server/src/main/java/org/apache/lens/server/query/LensServerDAO.java b/lens-server/src/main/java/org/apache/lens/server/query/LensServerDAO.java
index 59b1221..8a2ac19 100644
--- a/lens-server/src/main/java/org/apache/lens/server/query/LensServerDAO.java
+++ b/lens-server/src/main/java/org/apache/lens/server/query/LensServerDAO.java
@@ -85,8 +85,8 @@ public class LensServerDAO {
+ "userquery varchar(10000) not null," + "submitter varchar(255) not null," + "starttime bigint, "
+ "endtime bigint," + "result varchar(255)," + "status varchar(255), " + "metadata varchar(100000), "
+ "rows int, " + "filesize bigint, " + "errormessage varchar(10000), " + "driverstarttime bigint, "
- + "driverendtime bigint, " + "metadataclass varchar(10000), " + "queryname varchar(255), "
- + "submissiontime bigint" + ")";
+ + "driverendtime bigint, " + "metadataclass varchar(10000), " + "driverclass varchar(10000), "
+ + "queryname varchar(255), " + "submissiontime bigint" + ")";
try {
QueryRunner runner = new QueryRunner(ds);
runner.update(sql);
@@ -109,15 +109,15 @@ public class LensServerDAO {
Connection conn = null;
String sql = "insert into finished_queries (handle, userquery,submitter,"
+ "starttime,endtime,result,status,metadata,rows,filesize,"
- + "errormessage,driverstarttime,driverendtime, metadataclass, queryname, submissiontime)"
- + " values (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)";
+ + "errormessage,driverstarttime,driverendtime, metadataclass, driverclass, queryname, submissiontime)"
+ + " values (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)";
try {
conn = getConnection();
QueryRunner runner = new QueryRunner();
runner.update(conn, sql, query.getHandle(), query.getUserQuery(), query.getSubmitter(), query.getStartTime(),
query.getEndTime(), query.getResult(), query.getStatus(), query.getMetadata(), query.getRows(),
query.getFileSize(), query.getErrorMessage(), query.getDriverStartTime(), query.getDriverEndTime(),
- query.getMetadataClass(), query.getQueryName(), query.getSubmissionTime());
+ query.getMetadataClass(), query.getDriverClass(), query.getQueryName(), query.getSubmissionTime());
conn.commit();
} finally {
DbUtils.closeQuietly(conn);