Details

    • Type: Bug
    • Status: Resolved
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: 0.15.0
    • Fix Version/s: 0.15.0
    • Component/s: Data Module
    • Labels:
      None

      Description

      While updating the demo example to use views, I ran into the case where the latest partition, which is now based on the current time, has no data. This caused an error when trying to calculate splits without input files:

      14/07/10 22:53:41 INFO jobcontrol.CrunchControlledJob: java.lang.ArrayIndexOutOfBoundsException: 0
              at org.apache.hadoop.mapreduce.lib.input.FileInputFormat.setInputPaths(FileInputFormat.java:348)
              at org.kitesdk.data.spi.filesystem.FileSystemViewKeyInputFormat.setInputPaths(FileSystemViewKeyInputFormat.java:112)
              at org.kitesdk.data.spi.filesystem.FileSystemViewKeyInputFormat.getSplits(FileSystemViewKeyInputFormat.java:87)
              at org.kitesdk.data.mapreduce.DatasetKeyInputFormat.getSplits(DatasetKeyInputFormat.java:299)
              at org.apache.hadoop.mapred.JobClient.writeNewSplits(JobClient.java:1063)
              at org.apache.hadoop.mapred.JobClient.writeSplits(JobClient.java:1080)
              at org.apache.hadoop.mapred.JobClient.access$600(JobClient.java:174)
              at org.apache.hadoop.mapred.JobClient$2.run(JobClient.java:992)
              at org.apache.hadoop.mapred.JobClient$2.run(JobClient.java:945)
              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:1408)
              at org.apache.hadoop.mapred.JobClient.submitJobInternal(JobClient.java:945)
              at org.apache.hadoop.mapreduce.Job.submit(Job.java:566)
              at org.apache.crunch.hadoop.mapreduce.lib.jobcontrol.CrunchControlledJob.submit(CrunchControlledJob.java:307)
              at org.apache.crunch.hadoop.mapreduce.lib.jobcontrol.CrunchJobControl.startReadyJobs(CrunchJobControl.java:201)
              at org.apache.crunch.hadoop.mapreduce.lib.jobcontrol.CrunchJobControl.pollJobStatusAndStartNewOnes(CrunchJobControl.java:231)
              at org.apache.crunch.impl.mr.exec.MRExecutor.monitorLoop(MRExecutor.java:112)
              at org.apache.crunch.impl.mr.exec.MRExecutor.access$000(MRExecutor.java:55)
              at org.apache.crunch.impl.mr.exec.MRExecutor$1.run(MRExecutor.java:83)
              at java.lang.Thread.run(Thread.java:744)
      

      For now, I've added an isEmpty check in the example.

        Attachments

          Activity

            People

            • Assignee:
              blue Ryan Blue
              Reporter:
              blue Ryan Blue
            • Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: