Palash Chauhan created PHOENIX-7293:
---------------------------------------
Summary: Create separate update cache frequency config for Indexes
in PENDING_DISABLE state
Key: PHOENIX-7293
URL: https://issues.apache.org/jira/browse/PHOENIX-7293
Project: Phoenix
Issue Type: Sub-task
Reporter: Palash Chauhan
Assignee: Palash Chauhan
* If an index has been in PENDING_DISABLE state for too long, it is considered
disabled. [QueryOptimizer
|https://github.com/apache/phoenix/blob/master/phoenix-core-client/src/main/java/org/apache/phoenix/optimize/QueryOptimizer.java#L508-L510]makes
that decision based on current server timestamp, indexDisableTimestamp and the
threshold value. Current server time is retrieved via a getTable RPC when the
[ColumnResolver
|https://github.com/apache/phoenix/blob/master/phoenix-core-client/src/main/java/org/apache/phoenix/optimize/QueryOptimizer.java#L347]creates
a TableRef for the entity in the query plan.
* If UPDATE_CACHE_FREQUENCY is set to NEVER, we will no longer do the getTable
RPC, use the PTable in the client's cache to create the TableRef and use {{-1}}
as the current time
([code|https://github.com/apache/phoenix/blob/master/phoenix-core-client/src/main/java/org/apache/phoenix/schema/MetaDataClient.java#L625-L629]).
This means the index will always be under threshold till the client refreshes
its cache and will be considered by the optimizer.
Create a separate UCF config value for indexes in PENDING_DISABLE state and set
it to ALWAYS. Use this new config when deciding whether to go to the server to
fetch the latest ptable.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)