@Override public void receive( Duct previous, int ordinal, TupleEntry tupleEntry ) { try { timedAdd( StepCounters.Write_Duration, tupleEntry ); flowProcess.increment( StepCounters.Tuples_Written, 1 ); flowProcess.increment( SliceCounters.Tuples_Written, 1 ); } catch( OutOfMemoryError error ) { handleReThrowableException( "out of memory, try increasing task memory allocation", error ); } catch( CascadingException exception ) { handleException( exception, tupleEntry ); } catch( Throwable throwable ) { handleException( new DuctException( "internal error: " + tupleEntry.getTuple().print(), throwable ), tupleEntry ); } }