zhangbutao commented on code in PR #5038:
URL: https://github.com/apache/hive/pull/5038#discussion_r1479607064


##########
standalone-metastore/metastore-server/src/main/java/org/apache/hadoop/hive/metastore/ObjectStore.java:
##########
@@ -5094,26 +5094,22 @@ public static String verifyStatsChangeCtx(String 
fullTableName, Map<String, Stri
     if (validWriteIds != null && writeId > 0) {
       return null; // We have txn context.
     }
-    String oldVal = oldP == null ? null : 
oldP.get(StatsSetupConst.COLUMN_STATS_ACCURATE);
-    String newVal = newP == null ? null : 
newP.get(StatsSetupConst.COLUMN_STATS_ACCURATE);
-    // We don't need txn context is that stats state is not being changed.
-    if (StringUtils.isEmpty(oldVal) && StringUtils.isEmpty(newVal)) {
+
+    if (!StatsSetupConst.areBasicStatsUptoDate(newP)) {
+      // The validWriteIds can be absent, for example, in case of Impala alter.

Review Comment:
   Impala could reset the engine fileld value if it doesn't want to use hive 
stats. And also We/hive can't stop Impala or others to writing stats with 
engine=hive. Engine field can be changed by any 3rd HMS thrift client.



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to