@Till: The default timeouts are high enough that such a timeout should actually not occur, right? Increasing the timeouts cannot really be the issue.
Might it be something different? What happens if there is an error in the code that produces the input split? Is that properly handled, or is the receiver simply not ever getting an answer. Could that be what happened?