Is there a race condition with input.start()? I was under the impression I didn't need to use it since it's in the initialize() method of the LogicalIOProcessorRuntimeTask, but I saw this in one of the logs of a task attempt.
2014-08-07 18:55:23,487 INFO [AsyncDispatcher event handler] org.apache.tez.dag.history.HistoryEventHandler: [HISTORY][DAG:dag_1407259853327_0029_2][Event:TASK_ATTEMPT_FINISHED]: vertexName=8b013089-9aa9-4da3-9ab9-cca97fdf6b7c, taskAttemptId=attempt_1407259853327_0029_2_01_000000_0, startTime=1407437720449, finishTime=1407437723472, timeTaken=3023, status=FAILED, diagnostics=Error: Failure while running task:java.lang.IllegalStateException: Due to KeyValuesReader behavior you must alternate calls to hasNext()/next() at com.google.common.base.Preconditions.checkState(Preconditions.java:145) at com.hadapt.exec.tez.VectorizedRowBatchFromKeyValueIterator.hasNext(VectorizedRowBatchFromKeyValueIterator.java:45) at com.hadapt.exec.tez.VectorizedRowBatchFromKeyValueIterator.next(VectorizedRowBatchFromKeyValueIterator.java:66) at com.hadapt.exec.tez.VectorizedRowBatchFromKeyValueIterator.next(VectorizedRowBatchFromKeyValueIterator.java:24) at com.hadapt.exec.tez.VectorOperatorProcessor.run(VectorOperatorProcessor.java:116) at org.apache.tez.runtime.LogicalIOProcessorRuntimeTask.run(LogicalIOProcessorRuntimeTask.java:324) at org.apache.tez.runtime.task.TezTaskRunner$TaskRunnerCallable$1.run(TezTaskRunner.java:180) at org.apache.tez.runtime.task.TezTaskRunner$TaskRunnerCallable$1.run(TezTaskRunner.java:172) 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:1554) at org.apache.tez.runtime.task.TezTaskRunner$TaskRunnerCallable.call(TezTaskRunner.java:172) at org.apache.tez.runtime.task.TezTaskRunner$TaskRunnerCallable.call(TezTaskRunner.java:167) at java.util.concurrent.FutureTask.run(FutureTask.java:262) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) at java.lang.Thread.run(Thread.java:744)
