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 2015/01/30 13:16:16 UTC
incubator-lens git commit: LENS-241 : Fixes examples with results
persisted in driver(amareshwari)
Repository: incubator-lens
Updated Branches:
refs/heads/master 0ce168413 -> 0e6d6558f
LENS-241 : Fixes examples with results persisted in driver(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/0e6d6558
Tree: http://git-wip-us.apache.org/repos/asf/incubator-lens/tree/0e6d6558
Diff: http://git-wip-us.apache.org/repos/asf/incubator-lens/diff/0e6d6558
Branch: refs/heads/master
Commit: 0e6d6558f3ecd26ab7cdd7271b2e913084c9622a
Parents: 0ce1684
Author: Amareshwari Sriramdasu <am...@inmobi.com>
Authored: Fri Jan 30 17:46:07 2015 +0530
Committer: Amareshwari Sriramdasu <am...@inmobi.com>
Committed: Fri Jan 30 17:46:07 2015 +0530
----------------------------------------------------------------------
.../org/apache/lens/driver/hive/HiveDriver.java | 1 +
.../apache/lens/driver/hive/TestHiveDriver.java | 14 +++++++-------
.../lens/server/api/query/QueryContext.java | 19 ++++++++++++++++---
3 files changed, 24 insertions(+), 10 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-lens/blob/0e6d6558/lens-driver-hive/src/main/java/org/apache/lens/driver/hive/HiveDriver.java
----------------------------------------------------------------------
diff --git a/lens-driver-hive/src/main/java/org/apache/lens/driver/hive/HiveDriver.java b/lens-driver-hive/src/main/java/org/apache/lens/driver/hive/HiveDriver.java
index 300cda1..2a5f5b8 100644
--- a/lens-driver-hive/src/main/java/org/apache/lens/driver/hive/HiveDriver.java
+++ b/lens-driver-hive/src/main/java/org/apache/lens/driver/hive/HiveDriver.java
@@ -770,6 +770,7 @@ public class HiveDriver implements LensDriver {
builder.append(' ').append(context.getSelectedDriverQuery()).append(' ');
hiveQuery = builder.toString();
} else {
+ context.unSetDriverPersistent();
hiveQuery = context.getSelectedDriverQuery();
}
LOG.info("Hive driver query:" + hiveQuery);
http://git-wip-us.apache.org/repos/asf/incubator-lens/blob/0e6d6558/lens-driver-hive/src/test/java/org/apache/lens/driver/hive/TestHiveDriver.java
----------------------------------------------------------------------
diff --git a/lens-driver-hive/src/test/java/org/apache/lens/driver/hive/TestHiveDriver.java b/lens-driver-hive/src/test/java/org/apache/lens/driver/hive/TestHiveDriver.java
index cc2fe0d..d4a2280 100644
--- a/lens-driver-hive/src/test/java/org/apache/lens/driver/hive/TestHiveDriver.java
+++ b/lens-driver-hive/src/test/java/org/apache/lens/driver/hive/TestHiveDriver.java
@@ -103,7 +103,6 @@ public class TestHiveDriver {
sessionid = SessionState.get().getSessionId();
conf.setBoolean(LensConfConstants.QUERY_ADD_INSERT_OVEWRITE, false);
- conf.setBoolean(LensConfConstants.QUERY_PERSISTENT_RESULT_INDRIVER, false);
QueryContext context = createContext("USE " + DATA_BASE, conf);
driver.execute(context);
conf.setBoolean(LensConfConstants.QUERY_ADD_INSERT_OVEWRITE, true);
@@ -173,8 +172,7 @@ public class TestHiveDriver {
System.out.println("Hadoop Location: " + System.getProperty("hadoop.bin.path"));
String createTable = "CREATE TABLE IF NOT EXISTS " + tableName + "(ID STRING)" + " TBLPROPERTIES ('"
+ LensConfConstants.STORAGE_COST + "'='500')";
- conf.setBoolean(LensConfConstants.QUERY_PERSISTENT_RESULT_INDRIVER, false);
- // Craete again
+ // Create test table
QueryContext context = createContext(createTable, conf);
LensResultSet resultSet = driver.execute(context);
assertNull(resultSet);
@@ -672,8 +670,10 @@ public class TestHiveDriver {
pctx.setSelectedDriver(driver);
SessionState.setCurrentSessionState(ss);
+ HiveConf inConf = new HiveConf(conf);
+ inConf.setBoolean(LensConfConstants.QUERY_PERSISTENT_RESULT_INDRIVER, false);
plan = driver.explainAndPrepare(pctx);
- QueryContext qctx = createContext(pctx, conf);
+ QueryContext qctx = createContext(pctx, inConf);
LensResultSet result = driver.execute(qctx);
Assert.assertEquals(0, driver.getHiveHandleSize());
validateInMemoryResult(result);
@@ -682,14 +682,14 @@ public class TestHiveDriver {
qctx = createContext(pctx, conf);
driver.executeAsync(qctx);
assertNotNull(qctx.getDriverOpHandle());
- validateExecuteAsync(qctx, DriverQueryState.SUCCESSFUL, false, false);
+ validateExecuteAsync(qctx, DriverQueryState.SUCCESSFUL, true, false);
Assert.assertEquals(1, driver.getHiveHandleSize());
driver.closeQuery(qctx.getQueryHandle());
Assert.assertEquals(0, driver.getHiveHandleSize());
// for backward compatibility
- qctx = createContext(pctx, conf);
+ qctx = createContext(pctx, inConf);
qctx.setQueryHandle(new QueryHandle(pctx.getPrepareHandle().getPrepareHandleId()));
result = driver.execute(qctx);
assertNotNull(qctx.getDriverOpHandle());
@@ -700,7 +700,7 @@ public class TestHiveDriver {
qctx.setQueryHandle(new QueryHandle(pctx.getPrepareHandle().getPrepareHandleId()));
driver.executeAsync(qctx);
Assert.assertEquals(1, driver.getHiveHandleSize());
- validateExecuteAsync(qctx, DriverQueryState.SUCCESSFUL, false, false);
+ validateExecuteAsync(qctx, DriverQueryState.SUCCESSFUL, true, false);
driver.closeQuery(qctx.getQueryHandle());
driver.closePreparedQuery(pctx.getPrepareHandle());
http://git-wip-us.apache.org/repos/asf/incubator-lens/blob/0e6d6558/lens-server-api/src/main/java/org/apache/lens/server/api/query/QueryContext.java
----------------------------------------------------------------------
diff --git a/lens-server-api/src/main/java/org/apache/lens/server/api/query/QueryContext.java b/lens-server-api/src/main/java/org/apache/lens/server/api/query/QueryContext.java
index 7a5cf40..ac34760 100644
--- a/lens-server-api/src/main/java/org/apache/lens/server/api/query/QueryContext.java
+++ b/lens-server-api/src/main/java/org/apache/lens/server/api/query/QueryContext.java
@@ -73,8 +73,7 @@ public class QueryContext extends AbstractQueryContext implements Comparable<Que
/**
* The is driver persistent.
*/
- @Getter
- private final boolean isDriverPersistent;
+ @Getter private boolean isDriverPersistent;
/**
* The status.
@@ -320,13 +319,27 @@ public class QueryContext extends AbstractQueryContext implements Comparable<Que
}
public boolean isResultAvailableInDriver() {
+ // result is available in driver if driverStatus.isResultSetAvailable() - will be true for fetching inmemory
+ // result set.
+ // if result is persisted in driver driverStatus.isResultSetAvailable() will be false
+ // so, for select queries, if result is persisted in driver, we return true sothat the result can be fetched thru
+ // persistent resultset
return isDriverPersistent() || driverStatus.isResultSetAvailable();
}
+ /**
+ * Set whether result is persisted on driver to false. Set by drivers when drivers are not persisting
+ *
+ * @return true/false
+ */
+ public void unSetDriverPersistent() {
+ isDriverPersistent = false;
+ }
+
/*
* Introduced for Recovering finished query.
*/
- public void setStatusSkippingTransitionTest(QueryStatus newStatus) throws LensException {
+ void setStatusSkippingTransitionTest(QueryStatus newStatus) throws LensException {
this.status = newStatus;
}