[ https://issues.apache.org/jira/browse/HIVE-27440?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
ASF GitHub Bot updated HIVE-27440: ---------------------------------- Labels: pull-request-available (was: ) > Improve data connector cache > ---------------------------- > > Key: HIVE-27440 > URL: https://issues.apache.org/jira/browse/HIVE-27440 > Project: Hive > Issue Type: Sub-task > Reporter: zhangbutao > Assignee: zhangbutao > Priority: Major > Labels: pull-request-available > > _*DataConnectorProviderFactory*_ uses HashMap to cache data connector > instances, and there is no way to invalidate the cache unless you restart the > MetaStore. > What is more serious is that if you drop or alter the dataconnector, the > cache will not change, and you maybe use a invalid dataconnector next time. > > I think we can improve the dataconnector cache from the two aspects: > * Use Caffeine with a *maxmumsize* e.g. 100 to cache data connector instead > of HashMap, and set a *expire time* after the last accessing. And we also > should close the underlying datasource connection using {*}Caffeine > RemovalListener{*}. > * After executing Drop or Alter DDL on a dataConnector, we should *update > cache* to clean the dataConnector to avoid using the invalid dataConnector > next time. -- This message was sent by Atlassian Jira (v8.20.10#820010)