[ 
https://issues.apache.org/jira/browse/HIVE-18285?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16300771#comment-16300771
 ] 

Ashutosh Chauhan commented on HIVE-18285:
-----------------------------------------

I agree with Zoltan. We don't want to make extra metastore calls. 
All modifications on metadata objects shall be made on compiler side.  
Metastore should just be used to read and persist metadata objects. This is 
because of 2 reasons : a)  Making metastore calls add latencies to compilation. 
b) Having modifications being done on metadata objects in 2 different processes 
makes it hard to reason about what processes are making what changes.
Secondly, logic to convert table type based on config to me seems to belong to 
compiler. Metastore shall not govern that.
Lastly, with standalone-metastore ACID concept seems like specific to Hive and 
may not be applicable to other engines. So, Hive compiler seems like a logical 
place for that logic, instead of metastore which is deemed to be used by 
multiple engines.

> StatsTask uses a cached ql.metadata.Table object
> ------------------------------------------------
>
>                 Key: HIVE-18285
>                 URL: https://issues.apache.org/jira/browse/HIVE-18285
>             Project: Hive
>          Issue Type: Bug
>          Components: Metastore, Statistics
>            Reporter: Eugene Koifman
>            Assignee: Eugene Koifman
>         Attachments: HIVE-18285.01.patch
>
>
> this then causes BasicStatsTask.aggregateStats(Hive) to call 
> Hive.alterTable() with a stale Table object.  (It misses any changes made by 
> any MetaStorePreEventListener)



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

Reply via email to