Details
-
Sub-task
-
Status: Open
-
Major
-
Resolution: Unresolved
-
None
-
None
-
None
Description
Currently whole SemanticAnalyzer object is cached. It is not necessary to cache the whole object (caching requires set of tasks, query config and some other info).
May be create a CachedPlan object.
HIVE-24009 is updating the approach to make a copy of operator tree and cache it, it also changes various transient fields to non-transient so that they are serialized/de-serialized and cached. We may not need to serialize/de-serialize all the fields. It should be investigated to see what fields are absolutely must, we should avoid the ones which are not required to reduce the overall memory footprint of cache.