You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@lens.apache.org by "Amareshwari Sriramadasu (JIRA)" <ji...@apache.org> on 2015/03/16 06:04:38 UTC
[jira] [Commented] (LENS-408) Creating HiveConf multiple times in
estimate flow should be avoided
[ https://issues.apache.org/jira/browse/LENS-408?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14362749#comment-14362749 ]
Amareshwari Sriramadasu commented on LENS-408:
----------------------------------------------
Review request : https://reviews.apache.org/r/32043/
After the changes put up, following are all the occurrences of HiveConf creation in code.
* No occurrences
{noformat}
lens-api amareshwari.sr$ git grep 'new HiveConf(' src/main/java/
lens-cli amareshwari.sr$ git grep 'new HiveConf(' src/main/java/
lens-client amareshwari.sr$ git grep 'new HiveConf(' src/main/java/
lens-driver-jdbc amareshwari.sr$ git grep 'new HiveConf(' src/main/java/
ens-storage-db amareshwari.sr$ git grep 'new HiveConf(' src/main/java/
lens-query-lib amareshwari.sr$ git grep 'new HiveConf(' src/main/java/
lens-examples amareshwari.sr$ git grep 'new HiveConf(' src/main/java/
{noformat}
* lens-cube module :
{noformat}
lens-cube amareshwari.sr$ git grep 'new HiveConf(' src/main/java/
src/main/java/org/apache/lens/cube/metadata/CubeMetastoreClient.java: this.config = new HiveConf(conf);
src/main/java/org/apache/lens/cube/parse/HQLParser.java: ASTNode ast = parseHQL("select * from default_table ", new HiveConf());
{noformat}
** There is HiveConf created when creating CubeMetastoreClient. One call per db
** The one HQLParser.java is in main() method. mainly for debugging purpose. Does not come usual code flow.
* Hive Driver module :
{noformat}
lens-driver-hive amareshwari.sr$ git grep 'new HiveConf(' src/main/java/
src/main/java/org/apache/lens/driver/hive/HiveDriver.java: // resources have to be added separately on hiveConf again because new HiveConf() overrides hive.* properties
src/main/java/org/apache/lens/driver/hive/HiveDriver.java: this.hiveConf = new HiveConf(driverConf, HiveDriver.class);
src/main/java/org/apache/lens/driver/hive/RemoteThriftConnection.java: // new HiveConf() is getting created because connection will be different for each user
src/main/java/org/apache/lens/driver/hive/RemoteThriftConnection.java: this.conf = new HiveConf(conf);
{noformat}
** One occurrence is during driver initialization
** One occurrence is during open connection with HiveServer - will be called once per lens session and thread.
* Created LENS-409 for tracking occurrences on lens-ml-lib
* lens-server module :
{noformat}
lens-server amareshwari.sr$ git grep 'new HiveConf(' src/main/java/
src/main/java/org/apache/lens/server/LensServerConf.java: public static final HiveConf CONF = new HiveConf();
src/main/java/org/apache/lens/server/LensServerConf.java: return new HiveConf(ConfHolder.CONF);
{noformat}
** Once during server initialization
** One will be called from base class of LensSessionImpl - once per session.
** The one in LensServerConf method is used in tests
* lens-server-api method :
{noformat}
lens-server-api amareshwari.sr$ git grep 'new HiveConf(' src/main/java/
src/main/java/org/apache/lens/server/api/query/AbstractQueryContext.java: hiveConf = new HiveConf(this.conf, this.getClass());
{noformat}
** Once per query.
> Creating HiveConf multiple times in estimate flow should be avoided
> -------------------------------------------------------------------
>
> Key: LENS-408
> URL: https://issues.apache.org/jira/browse/LENS-408
> Project: Apache Lens
> Issue Type: Improvement
> Components: driver-hive, driver-jdbc, server
> Reporter: Amareshwari Sriramadasu
> Assignee: Amareshwari Sriramadasu
> Fix For: 2.1
>
>
> We are seeing creation of new HiveConf() is taking around 20 milli seconds on the average. And is called in many places in code without much need.
> This issue is to look at all such occurrences and fix them.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)