Github user paul-rogers commented on the issue:

    https://github.com/apache/drill/pull/877
  
    I wonder if you are very close to solving another long-running problem in 
Drill: Parquet metadata file corruption (or, at least, the corruption causing 
queries to fail.)
    
    We have an issue that two Drillbits can write to metadata file concurrently 
and corrupt it. We also have a case where Drillbit A writes the file while 
Drillbit B reads it. In both cases, the reading Drillbit can't deserialize the 
file and "bad things happen."
    
    We need code that can try to deserialize a file, notice that the JSON in 
the file does not fit our schema, and handle the deserialization exception. If 
we do that, it is a small step to ignore all forms of read errors: 
file-not-found, file truncation, etc.
    
    In this case, we give an explicit version error if we can read the file and 
it has the wrong version. If we can't deserialize the file, we log an error 
about "file is of a newer version or corrupt."
    
    After this, the corruption can still occur, but the user view is that 
queries run slow instead of just failing.


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---

Reply via email to