shameersss1 commented on a change in pull request #3053:
URL: https://github.com/apache/hive/pull/3053#discussion_r828821293



##########
File path: 
standalone-metastore/metastore-server/src/main/java/org/apache/hadoop/hive/metastore/HiveMetaStoreChecker.java
##########
@@ -468,6 +459,25 @@ void findUnknownPartitions(Table table, Set<Path> 
partPaths, byte[] filterExp,
         }
       }
     }
+    
+    Set<Path> partPathsInMS = partPaths;
+    // don't want the table dir
+    partPathsInMS.remove(tablePath);
+    // remove partition paths in partPathsInMS, to getPartitionsNotOnFs
+    partPathsInMS.removeAll(allPartDirs);

Review comment:
       allPartDirs here contains all partition path which are there in 
FileSystem but not in metastore. Removing it from partPathsInMS doesn't make 
sense.
   
   I think this operation should be done before 
allPartDirs.removeAll(partPaths);

##########
File path: 
standalone-metastore/metastore-server/src/main/java/org/apache/hadoop/hive/metastore/HiveMetaStoreChecker.java
##########
@@ -468,6 +459,25 @@ void findUnknownPartitions(Table table, Set<Path> 
partPaths, byte[] filterExp,
         }
       }
     }
+    
+    Set<Path> partPathsInMS = partPaths;
+    // don't want the table dir
+    partPathsInMS.remove(tablePath);
+    // remove partition paths in partPathsInMS, to getPartitionsNotOnFs
+    partPathsInMS.removeAll(allPartDirs);
+    // There can be edge case where user can define partition directory 
outside of table directory
+    // to avoid eviction of such partitions
+    // we check for partition path not exists and add to result for 
getPartitionsNotOnFs.
+    for (Path partPath : partPathsInMS) {
+      FileSystem fs = partPath.getFileSystem(conf);

Review comment:
       As you pointed out, Having multi-threaded check of partition files will 
be useful.

##########
File path: ql/src/test/queries/clientpositive/msck_repair_multi_thread.q
##########
@@ -0,0 +1,33 @@
+DROP TABLE IF EXISTS repairtable_hive_25980;

Review comment:
       file name doesn't match the optimization we are doing.




-- 
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