Details
-
Bug
-
Status: Resolved
-
Critical
-
Resolution: Fixed
-
None
-
None
-
ghx-label-1
Description
Currently, the file metadata loader recursively lists the table and partition directories to get the fileStatuses. For each filestatus we ignore the hidden files in FileSystemUtil.isValidDataFile(). However that is not sufficient. For instance, if Hive is inserting data into a table when the refresh is called, it is possible the staging directory is present within the table directory. This staging directory is a hidden directory of the naming .hive-staging_*. It is possible that this directory has files which are not hidden (starting from a . or _). Such files should be considered temporary files and should not be considered as valid data files.
Another instance where we see this happen is in transactional tables which has a .manifest which is located in a _tmp directory within the table directory. This file should also be skipped and not considered as a valid data file.
Attachments
Issue Links
- is related to
-
IMPALA-10579 Deadloop in table metadata loading when using an invalid RemoteIterator
- Resolved
-
IMPALA-11464 hasNext() throws FileNotFoundException on staging files and breaks file metadata loading
- Resolved