[
https://issues.apache.org/jira/browse/PHOENIX-7293?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Rushabh Shah resolved PHOENIX-7293.
-----------------------------------
Resolution: Fixed
> 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
> Priority: Major
>
> * 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)