Details
Description
We have the config 'phoenix.default.update.cache.frequency' which specifies the time a client should wait before it refreshes its metadata cache entry for a table by fetching the latest metadata from system catalog. This value could be set for a table in the following ways (in the following preference order):
- Specifying UPDATE_CACHE_FREQUENCY in table creation DDL
- Specifying the connection property 'phoenix.default.update.cache.frequency'
- Using the default 'phoenix.default.update.cache.frequency'
At query time, we look at whether UPDATE_CACHE_FREQUENCY was specified for the table and decide based on that value if the latest metadata for a table should be fetched from system catalog to update the cache. However, when the table doesn't have UPDATE_CACHE_FREQUENCY specified we should look at the connection property 'phoenix.default.update.cache.frequency' (or the default 'phoenix.default.update.cache.frequency' when the connection level property is not set) to make that decision. The support for latter is missing - this Jira is intended to add that.
This will aid exiting installations where the tables were created without a specified UPDATE_CACHE_FREQUENCY, and thus always hit the system catalog to get the latest metadata when referenced. With this support, we will be able to reduce the load on system catalog by specifying a connection level property for all tables referenced from the connection (as against UPSERTing each table entry in system catalog to set an UPDATE_CACHE_FREQUENCY value).
Attachments
Attachments
Issue Links
- is blocked by
-
PHOENIX-5654 String values (ALWAYS and NEVER) don't work for connection level config phoenix.default.update.cache.frequency
- Resolved
- is related to
-
PHOENIX-5653 Documentation updates for Update Cache Frequency
- In Progress
- links to