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/04/15 21:49:49 UTC
[15/50] [abbrv] incubator-lens git commit: LENS-440 : Remove rewriter
cache and synchronization on rewrite in JDBCDruver (amareshwari)
LENS-440 : Remove rewriter cache and synchronization on rewrite in JDBCDruver (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/4a5c02a0
Tree: http://git-wip-us.apache.org/repos/asf/incubator-lens/tree/4a5c02a0
Diff: http://git-wip-us.apache.org/repos/asf/incubator-lens/diff/4a5c02a0
Branch: refs/heads/current-release-line
Commit: 4a5c02a02ae85ecab7d52d9f59c6238923d41593
Parents: 56c5813
Author: Amareshwari Sriramadasu <am...@apache.org>
Authored: Tue Mar 31 10:03:09 2015 +0530
Committer: Amareshwari Sriramadasu <am...@apache.org>
Committed: Tue Mar 31 10:03:09 2015 +0530
----------------------------------------------------------------------
.../lens/driver/jdbc/ColumnarSQLRewriter.java | 2 +-
.../org/apache/lens/driver/jdbc/JDBCDriver.java | 36 +++++++-------------
2 files changed, 14 insertions(+), 24 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-lens/blob/4a5c02a0/lens-driver-jdbc/src/main/java/org/apache/lens/driver/jdbc/ColumnarSQLRewriter.java
----------------------------------------------------------------------
diff --git a/lens-driver-jdbc/src/main/java/org/apache/lens/driver/jdbc/ColumnarSQLRewriter.java b/lens-driver-jdbc/src/main/java/org/apache/lens/driver/jdbc/ColumnarSQLRewriter.java
index d5dc9a3..749e0dd 100644
--- a/lens-driver-jdbc/src/main/java/org/apache/lens/driver/jdbc/ColumnarSQLRewriter.java
+++ b/lens-driver-jdbc/src/main/java/org/apache/lens/driver/jdbc/ColumnarSQLRewriter.java
@@ -1026,7 +1026,7 @@ public class ColumnarSQLRewriter implements QueryRewriter {
* @see org.apache.lens.server.api.query.QueryRewriter#rewrite(java.lang.String, org.apache.hadoop.conf.Configuration)
*/
@Override
- public synchronized String rewrite(String query, Configuration conf, HiveConf metastoreConf) throws LensException {
+ public String rewrite(String query, Configuration conf, HiveConf metastoreConf) throws LensException {
this.query = query;
StringBuilder mergedQuery;
rewrittenQuery.setLength(0);
http://git-wip-us.apache.org/repos/asf/incubator-lens/blob/4a5c02a0/lens-driver-jdbc/src/main/java/org/apache/lens/driver/jdbc/JDBCDriver.java
----------------------------------------------------------------------
diff --git a/lens-driver-jdbc/src/main/java/org/apache/lens/driver/jdbc/JDBCDriver.java b/lens-driver-jdbc/src/main/java/org/apache/lens/driver/jdbc/JDBCDriver.java
index 92f7b96..2346b52 100644
--- a/lens-driver-jdbc/src/main/java/org/apache/lens/driver/jdbc/JDBCDriver.java
+++ b/lens-driver-jdbc/src/main/java/org/apache/lens/driver/jdbc/JDBCDriver.java
@@ -82,9 +82,6 @@ public class JDBCDriver implements LensDriver {
/** The query context map. */
private ConcurrentHashMap<QueryHandle, JdbcQueryContext> queryContextMap;
- /** The rewriter cache. */
- private ConcurrentHashMap<Class<? extends QueryRewriter>, QueryRewriter> rewriterCache;
-
/** The conf. */
private Configuration conf;
@@ -418,7 +415,6 @@ public class JDBCDriver implements LensDriver {
*/
protected void init(Configuration conf) throws LensException {
queryContextMap = new ConcurrentHashMap<QueryHandle, JdbcQueryContext>();
- rewriterCache = new ConcurrentHashMap<Class<? extends QueryRewriter>, QueryRewriter>();
asyncQueryPool = Executors.newCachedThreadPool(new ThreadFactory() {
@Override
public Thread newThread(Runnable runnable) {
@@ -466,23 +462,18 @@ public class JDBCDriver implements LensDriver {
* @return the query rewriter
* @throws LensException the lens exception
*/
- protected synchronized QueryRewriter getQueryRewriter() throws LensException {
+ protected QueryRewriter getQueryRewriter() throws LensException {
QueryRewriter rewriter;
Class<? extends QueryRewriter> queryRewriterClass = conf.getClass(JDBC_QUERY_REWRITER_CLASS,
DummyQueryRewriter.class, QueryRewriter.class);
- if (rewriterCache.containsKey(queryRewriterClass)) {
- rewriter = rewriterCache.get(queryRewriterClass);
- } else {
- try {
- rewriter = queryRewriterClass.newInstance();
- LOG.info("Initialized :" + queryRewriterClass);
- } catch (Exception e) {
- LOG.error("Unable to create rewriter object", e);
- throw new LensException(e);
- }
- rewriter.init(conf);
- rewriterCache.put(queryRewriterClass, rewriter);
+ try {
+ rewriter = queryRewriterClass.newInstance();
+ LOG.info("Initialized :" + queryRewriterClass);
+ } catch (Exception e) {
+ LOG.error("Unable to create rewriter object", e);
+ throw new LensException(e);
}
+ rewriter.init(conf);
return rewriter;
}
@@ -633,7 +624,7 @@ public class JDBCDriver implements LensDriver {
throw new NullPointerException("Null driver query for " + pContext.getUserQuery());
}
boolean validateThroughPrepare = pContext.getDriverConf(this).getBoolean(JDBC_VALIDATE_THROUGH_PREPARE,
- DEFAULT_JDBC_VALIDATE_THROUGH_PREPARE);
+ DEFAULT_JDBC_VALIDATE_THROUGH_PREPARE);
if (validateThroughPrepare) {
PreparedStatement stmt = null;
// Estimate queries need to get connection from estimate pool to make sure
@@ -686,7 +677,7 @@ public class JDBCDriver implements LensDriver {
tmpConf.set(JDBC_POOL_IDLE_TIME, getKeyOrFallBack(tmpConf, getEstimateKey(JDBC_POOL_IDLE_TIME),
JDBC_POOL_IDLE_TIME));
tmpConf.set(JDBC_MAX_STATEMENTS_PER_CONNECTION, getKeyOrFallBack(tmpConf,
- getEstimateKey(JDBC_MAX_STATEMENTS_PER_CONNECTION), JDBC_MAX_STATEMENTS_PER_CONNECTION));
+ getEstimateKey(JDBC_MAX_STATEMENTS_PER_CONNECTION), JDBC_MAX_STATEMENTS_PER_CONNECTION));
tmpConf.set(JDBC_GET_CONNECTION_TIMEOUT, getKeyOrFallBack(tmpConf,
getEstimateKey(JDBC_GET_CONNECTION_TIMEOUT), JDBC_GET_CONNECTION_TIMEOUT));
@@ -710,7 +701,7 @@ public class JDBCDriver implements LensDriver {
}
private final Map<QueryPrepareHandle, PreparedStatement> preparedQueries =
- new HashMap<QueryPrepareHandle, PreparedStatement>();
+ new HashMap<QueryPrepareHandle, PreparedStatement>();
/**
* Internally prepare the query
@@ -905,9 +896,8 @@ public class JDBCDriver implements LensDriver {
* @throws LensException the lens exception
*/
@Override
- public void registerForCompletionNotification(
- QueryHandle handle, long timeoutMillis, QueryCompletionListener listener)
- throws LensException {
+ public void registerForCompletionNotification(QueryHandle handle, long timeoutMillis,
+ QueryCompletionListener listener) throws LensException {
checkConfigured();
getQueryContext(handle).setListener(listener);
}