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 [email protected] or file a JIRA ticket
with INFRA.
---