Uploaded image for project: 'Apache Drill'
  1. Apache Drill
  2. DRILL-1967

Null pointer exception in ParquetRecordWriter when caneled before data arrives

    XMLWordPrintableJSON

    Details

    • Type: Bug
    • Status: Resolved
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: 0.8.0
    • Component/s: Storage - Parquet
    • Labels:
      None

      Description

      To reproduce:

      create table my_table select a from json_table.json;

      json_table.json:
      {
      "a" : "a string"
      }
      {
      "a" : 1
      }

      The schema change will cause an error before a batch is ever sent to the writer. This causes a null pointer in the cleanup method.

      java.lang.NullPointerException
      org.apache.drill.exec.store.parquet.ParquetRecordWriter.cleanup(ParquetRecordWriter.java:298) ~[classes/:na]
      org.apache.drill.exec.physical.impl.WriterRecordBatch.cleanup(WriterRecordBatch.java:187) ~[classes/:na]
      org.apache.drill.exec.physical.impl.validate.IteratorValidatorBatchIterator.cleanup(IteratorValidatorBatchIterator.java:148) ~[classes/:na]
      org.apache.drill.exec.record.AbstractSingleRecordBatch.cleanup(AbstractSingleRecordBatch.java:121) ~[classes/:na]
      org.apache.drill.exec.physical.impl.validate.IteratorValidatorBatchIterator.cleanup(IteratorValidatorBatchIterator.java:148) ~[classes/:na]
      org.apache.drill.exec.physical.impl.ScreenCreator$ScreenRoot.internalStop(ScreenCreator.java:178) ~[classes/:na]
      org.apache.drill.exec.physical.impl.ScreenCreator$ScreenRoot.innerNext(ScreenCreator.java:101) ~[classes/:na]
      org.apache.drill.exec.physical.impl.BaseRootExec.next(BaseRootExec.java:57) ~[classes/:na]
      org.apache.drill.exec.work.fragment.FragmentExecutor.run(FragmentExecutor.java:114) ~[classes/:na]
      org.apache.drill.exec.work.WorkManager$RunnableWrapper.run(WorkManager.java:254) [classes/:na]
      java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) [na:1.7.0_21]
      java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) [na:1.7.0_21]
      java.lang.Thread.run(Thread.java:722) [na:1.7.0_21]

        Attachments

        1. DRILL-1967.patch
          1 kB
          Jason Altekruse

          Issue Links

            Activity

              People

              • Assignee:
                jaltekruse Jason Altekruse
                Reporter:
                jaltekruse Jason Altekruse
              • Votes:
                0 Vote for this issue
                Watchers:
                3 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: