[
https://issues.apache.org/jira/browse/HCATALOG-370?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Arup Malakar updated HCATALOG-370:
----------------------------------
Attachment: J370-patch7.diff
The webhcat test cases don't work with the cache. The reason being if the
HiveMetaStoreClient is used once to create a table with a very long name the
client cannot be reused again.
Fixes are:
1. Added a health check in the get() of HiveClientCache to invalidate a client
which is not usable
2. Added the relevant jars in webhcat test classpath (it was failing
complaining that it couldn't find guava jar)
3. Modified TestHCatClient in the process to create the metastore server only
once instead of creating per unit test
> Create a HiveMetaStoreClient cache in hcatalog
> ----------------------------------------------
>
> Key: HCATALOG-370
> URL: https://issues.apache.org/jira/browse/HCATALOG-370
> Project: HCatalog
> Issue Type: Improvement
> Components: client
> Affects Versions: 0.4
> Reporter: Rohini Palaniswamy
> Assignee: Arup Malakar
> Priority: Minor
> Attachments: J370.patch, J370-patch1.diff, J370-patch2.diff,
> J370-patch3.diff, J370-patch4.diff, J370-patch5.diff, J370-patch6.diff,
> J370-patch7.diff
>
>
> Hcat makes multiple calls to hivemetastore client and every time the
> connection is setup and destroyed which is costly. It would be nice to have a
> centralized cache, that has a connection per unique identifier (ugi,hcat
> server uri and anything else mandatory). Instead of creating clients all over
> the code, it can be retrieved from this cache. Connections in the cache can
> be closed using WeakReference and ReferenceQueue or based on some time
> interval.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators:
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira