catch( Throwable throwable )
{
if( throwable instanceof CascadingException )
throw (CascadingException) throwable;
throw new FlowException( "internal error during processor configuration", throwable );
}
streamGraph.prepare(); // starts inputs
// wait for shuffle
waitForInputsRead( inputMap );
// user code begins executing from here
long processBeginTime = System.currentTimeMillis();
currentProcess.increment( SliceCounters.Process_Begin_Time, processBeginTime );
Iterator<Duct> iterator = allHeads.iterator();
try
{
try
{
while( iterator.hasNext() )
{
Duct next = iterator.next();
if( next != streamedHead )
( (InputSource) next ).run( null );
}
streamedHead.run( null );
}
catch( OutOfMemoryError | IOException error )
{
throw error;
}
catch( Throwable throwable )
{
if( throwable instanceof CascadingException )
throw (CascadingException) throwable;
throw new FlowException( "internal error during processor execution on node: " + flowNode.getOrdinal(), throwable );
}
}
finally
{
try