[ 
https://issues.apache.org/jira/browse/HIVE-17315?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16126381#comment-16126381
 ] 

Barna Zsombor Klara commented on HIVE-17315:
--------------------------------------------

[~thejas]
Yes, you are correct. We currently only set the connection pool size property 
on the datasource, but at least for BoneCp I think (though I haven't tested it 
myself) that other BoneCp specific properties can also be set by adding a 
bonecp-config.xml to the classpath.
Look at the constructors for the config object for reference:
[BoneCPConfig|http://grepcode.com/file/repo1.maven.org/maven2/com.jolbox/bonecp/0.7.1.RELEASE/com/jolbox/bonecp/BoneCPConfig.java#BoneCPConfig.%3Cinit%3E%28%29]
I think that if the xml configuration file is present it will be loaded by 
BoneCp, so it also could be loaded by the BoneCp datasource backing the 
DataNucleus PersistenceManagerFactory.
HikariConfig is using a java system property "hikaricp.configurationFile" that 
can point to a properties file with default values, and I don't know about 
dbcp, but I assume they also have something like this.
I'm not sure if any of these "backdoor configurations" are used by anyone, but 
it should be possible.
And yes you are also correct about my intention. I would like to be able to set 
any property supported by bonecp (or hikari, or dbcp) on the underlying 
datasource not just the connectionpool size. And while you are right that 
password was a bad example I would still like to have these properties hidden. 
Even if the current properties are safe, I would be afraid of what could be 
added by future versions of the connection pool implementations, since we would 
be exposing these settings the moment we upgrade the library. I don't want to 
add every property explicitly to HiveConf, I would like to propagate anything 
prefixed with bonecp/hikari/dbcp to the DataSource implementation and let it 
use/ignore it.

[~ekoifman]
Exactly. I want to be able to set bonecp/hikari/dbcp properties on the 
datasource. For example in TxnHandler the getConnectionTimeoutMs for every 
implementation and partition count for bonecp is hardcoded. We should be able 
to set these values in the hive-site.xml with a property like 
bonecp.partitionCount or hikari.getConnectionTimeoutMs.

> Make the DataSource used by the DataNucleus in the HMS configurable using 
> Hive properties
> -----------------------------------------------------------------------------------------
>
>                 Key: HIVE-17315
>                 URL: https://issues.apache.org/jira/browse/HIVE-17315
>             Project: Hive
>          Issue Type: New Feature
>    Affects Versions: 3.0.0
>            Reporter: Barna Zsombor Klara
>            Assignee: Barna Zsombor Klara
>
> Currently we may use several connection pool implementations in the backend 
> (hikari, dbCp, boneCp) but these can only be configured using proprietary xml 
> files and not through hive-site.xml like DataNucleus.
> We should make them configurable just like DataNucleus, by allowing Hive 
> properties prefix by hikari, dbcp, bonecp to be set in the hive-site.xml. 
> However since these configurations may contain sensitive information 
> (passwords) these properties should not be displayable or manually settable.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

Reply via email to