Vidit Gupta created HIVE-30053:
----------------------------------

             Summary:  Support multi-threaded CachedStore prewarm
                 Key: HIVE-30053
                 URL: https://issues.apache.org/jira/browse/HIVE-30053
             Project: Hive
          Issue Type: Bug
          Components: Standalone Metastore
    Affects Versions: 4.2.0
            Reporter: Vidit Gupta
            Assignee: Vidit Gupta


CachedStore prewarm is single-threaded: one background thread sequentially 
fetches every whitelisted table with its partitions, statistics and 
constraints. On large warehouses this makes the warmup window very long (~10 
minutes for 21k tables on our deployment), during which the cache serves 
nothing (with HIVE-30052 fixed, requests fall through to the raw store, but at 
DB latency and DB load).

 This issue adds a config-gated parallel prewarm: 
metastore.cached.rawstore.prewarm.threads (default 1 = current single-threaded 
behavior, zero change unless opted in). With N > 1, N worker threads — each 
with its own RawStore instance, mirroring how CacheUpdateMasterWork creates its 
private store — drain the existing TablesPendingPrewarm stack, preserving the 
prioritizeTableForPrewarm hot-table promotion and the memory-full early stop 
(shared flag, completePrewarm called exactly once). Workers exist only for the 
duration of prewarm. Each worker uses one DB connection from the shared pool, 
so the value should be kept below the connection pool size



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to