[
https://issues.apache.org/jira/browse/HIVE-26702?focusedWorklogId=829905&page=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-829905
]
ASF GitHub Bot logged work on HIVE-26702:
-----------------------------------------
Author: ASF GitHub Bot
Created on: 29/Nov/22 22:55
Start Date: 29/Nov/22 22:55
Worklog Time Spent: 10m
Work Description: cnauroth opened a new pull request, #3815:
URL: https://github.com/apache/hive/pull/3815
### What changes were proposed in this pull request?
Backport [HIVE-17317](https://issues.apache.org/jira/browse/HIVE-17317).
This patch introduced support for DBCP as a connection pool for the metastore
database. It also corrected HIkariCP configuration by changing a pooling type
constant from `"hikari"` to `"hikaricp"`.
As compared to the original HIVE-17317 patch, here are the differences in
this backport:
* Changes in `ObjectStore` are no longer required, because the relevant
logic was later refactored into `PersistenceManagerProvider` on branch-3.
* Similarly, there are no changes required in `BoneCPDataSourceProvider` on
branch-3.
* `DataSourceProviderFactory` has minor cosmetic differences on how the
`FACTORIES` list is defined, and some other changes are no longer required.
* `HikariCPDataSourceProvider` only needs the change of the pooling type
from `"hikari"` to `"hikaricp"`.
* Changes in `TxnHandler` look different because 1)
`DataSourceProviderFactory#getDataSourceProvider` is now called
`tryGetDataSourceProviderOrNull` on branch-3, and 2) the logic was subsequently
wrapped in a try-catch for `SQLException`.
* `TestDataSourceProviderFactory` changes are smaller, because the original
included several tests that are no longer relevant to the current state of the
code on branch-3.
### Why are the changes needed?
DBCP will give Hive 3.2 users another connection pooling option. Correction
of the HikariCP pooling type constant makes the feature consistent with the
state of the master branch and documentation.
### Does this PR introduce _any_ user-facing change?
Users of Hive 3.2 will be able to use DBCP or stick with the default of
HikariCP and use the `hikaricp.` configuration property prefix to pass through
any HikariCP configuration properties.
### How was this patch tested?
All unit tests in standalone-metastore are passing. A new unit test covers
usage of the new DBCP option. I also manually inspected and confirmed correct
passthrough of `hikaricp.` properties.
Issue Time Tracking
-------------------
Worklog Id: (was: 829905)
Remaining Estimate: 0h
Time Spent: 10m
> Backport HIVE-17317 (DBCP and HikariCP property configuration support) to
> 3.2.0.
> --------------------------------------------------------------------------------
>
> Key: HIVE-26702
> URL: https://issues.apache.org/jira/browse/HIVE-26702
> Project: Hive
> Issue Type: Improvement
> Components: Metastore
> Reporter: Chris Nauroth
> Assignee: Chris Nauroth
> Priority: Major
> Fix For: 3.2.0
>
> Time Spent: 10m
> Remaining Estimate: 0h
>
> HIVE-17317 added support for metastore connection pooling configuration,
> integration with DBCP and an important capability to the HikariCP
> integration: passthrough configuration of any additional HikariCP
> configurations, such as {{{}minimumIdle{}}}. This issue proposes to backport
> HIVE-17317 for inclusion in the upcoming 3.2.0 release.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)