Uploaded image for project: 'CDAP'
  1. CDAP
  2. CDAP-12254

If a MapReduce job using PartitionConsumer fails, the partitions remain in-progress

    Details

    • Type: Bug
    • Status: Resolved
    • Priority: Major
    • Resolution: Duplicate
    • Affects Version/s: None
    • Fix Version/s: None
    • Component/s: Datasets, MapReduce
    • Labels:
      None
    • Rank:
      1|i005uf:

      Description

      If a MapReduce job is consuming partitions using PartitionConsumer APIs, and if it encounters a an error before launching the job, the partitions do not get marked available for processing right away.
      Instead, they remain in IN_PROGRESS (until they time out). Below is an example failure:

      org.apache.hadoop.mapred.FileAlreadyExistsException: Output directory /cdap/namespaces/default/data/invalidRecords/files/1 already exists
              at org.apache.hadoop.mapreduce.lib.output.FileOutputFormat.checkOutputSpecs(FileOutputFormat.java:146)
              at co.cask.cdap.internal.app.runtime.batch.dataset.output.MultipleOutputsMainOutputWrapper.checkOutputSpecs(MultipleOutputsMainOutputWrapper.java:63)
              at org.apache.hadoop.mapreduce.JobSubmitter.checkSpecs(JobSubmitter.java:266)
              at org.apache.hadoop.mapreduce.JobSubmitter.submitJobInternal(JobSubmitter.java:139)
              at org.apache.hadoop.mapreduce.Job$10.run(Job.java:1290)
              at org.apache.hadoop.mapreduce.Job$10.run(Job.java:1287)
              at java.security.AccessController.doPrivileged(Native Method)
              at javax.security.auth.Subject.doAs(Subject.java:415)
              at org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1657)
              at org.apache.hadoop.mapreduce.Job.submit(Job.java:1287)
              at co.cask.cdap.internal.app.runtime.batch.MapReduceRuntimeService.startUp(MapReduceRuntimeService.java:352)
              at com.google.common.util.concurrent.AbstractExecutionThreadService$1$1.run(AbstractExecutionThreadService.java:47)
              at co.cask.cdap.internal.app.runtime.batch.MapReduceRuntimeService$1$1.run(MapReduceRuntimeService.java:492)
              at java.lang.Thread.run(Thread.java:745)
      

        Attachments

          Issue Links

            Activity

              People

              • Assignee:
                bhooshan Bhooshan Mogal
                Reporter:
                ali.anwar Ali Anwar
              • Votes:
                0 Vote for this issue
                Watchers:
                1 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: