Use Hive instance for giving the support of retrying incase of connection/timeout issues

Earlier we have used HCatClient instances to do ddl operations on a hcatalog table from a given database.
We maintained a pool of connections  to metastore, which will be used by all threads. 
New Approach:
We are creating Hive instance for giving the support of retrying in case of connection/timeout issues. Each service has a separate connection to metastore. Number of connections will be number of service threads.


Shall I cache the tables for the source and destination streams instead of querying everytime?