@Override
  public ErrorAndSolution getErrorAndSolution() {
    ErrorAndSolution es = null;

    if(getQueryMatches()) {
      Map<String, List<String>> rll = getRegexToLogLines();
      if (rll.get(EXCEPTION_REGEX).size() > 0 &&
          rll.get(SPLIT_REGEX).size() > 0) {

        // There should only be a single split line...
        String splitLogLine = rll.get(SPLIT_REGEX).get(0);

        // Extract only 'split: hdfs://...'
        Pattern p = Pattern.compile(SPLIT_REGEX, Pattern.CASE_INSENSITIVE);
        Matcher m = p.matcher(splitLogLine);
        m.find();
        String splitStr = m.group(1);

        es = new ErrorAndSolution(
            "Data file " + splitStr + " is corrupted.",
            "Replace file. i.e. by re-running the query that produced the " +
            "source table / partition.");
      }
    }
    reset();
    return es;
  }
Detects the condition where there is an error with one of the input files in
the query.

Conditions to check:
1. EOFException in log
2. A line indicating the split file in the log. This is needed to
   generate the proper error message.
ql/src/java/org/apache/hadoop/hive/ql/exec/errors/DataCorruptErrorHeuristic.java