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