Details
-
Bug
-
Status: Resolved
-
Major
-
Resolution: Incomplete
-
0.20.1
-
None
-
None
Description
GridMix throws an ArithmeticException error when tasktracker count is zero. In generating data, while calculating the bytes per task tracker in getSplit method, throws an exception if tasktracker count is zero. Actually bytes are calculating by dividing the number of task trackers in the cluster. So we need to build the better exception handling for these kinds of cases. Should add a condition (count should be >0) for tasktracker count before calculating the bytes per tasktracker.
10/08/12 08:33:34 INFO gridmix.JobSubmitter: Job org.apache.hadoop.mapreduce.Job@18a8ce2 submission failed
java.lang.ArithmeticException: / by zero
at org.apache.hadoop.mapred.gridmix.GenerateData$GenDataFormat.getSplits(GenerateData.java:161)
at org.apache.hadoop.mapred.JobClient.writeNewSplits(JobClient.java:902)
at org.apache.hadoop.mapred.JobClient.writeSplits(JobClient.java:919)
at org.apache.hadoop.mapred.JobClient.access$5(JobClient.java:913)
at org.apache.hadoop.mapred.JobClient$2.run(JobClient.java:838)
at org.apache.hadoop.mapred.JobClient$2.run(JobClient.java:1)
at java.security.AccessController.doPrivileged(Native Method)
at javax.security.auth.Subject.doAs(Subject.java:396)
at org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1021)
at org.apache.hadoop.mapred.JobClient.submitJobInternal(JobClient.java:792)
at org.apache.hadoop.mapreduce.Job.submit(Job.java:465)
at org.apache.hadoop.mapred.gridmix.GenerateData$1.run(GenerateData.java:116)
at org.apache.hadoop.mapred.gridmix.GenerateData$1.run(GenerateData.java:101)
at java.security.AccessController.doPrivileged(Native Method)
at javax.security.auth.Subject.doAs(Subject.java:396)
at org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1021)
at org.apache.hadoop.mapred.gridmix.GenerateData.call(GenerateData.java:101)
at org.apache.hadoop.mapred.gridmix.GenerateData.call(GenerateData.java:57)
at org.apache.hadoop.mapred.gridmix.JobSubmitter$SubmitTask.run(JobSubmitter.java:106)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
at java.lang.Thread.run(Thread.java:619)