[
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)