We dont need flowable to retry executing our async jobs either in case of exceeding timeout or in case of exceptions.
So I was just trying out few things using a simple flow of service task --> timer --> service task.
When timer state is reached, flowable adds entry to ACT_RU_TIMER_JOB table.
And after the elapsed time a thread picks up the job and moves to, ACT_RU_JOB table.
I put a break point in my code to block it, and manually updated the reties=0 field in ACT_RU_JOB table and waited for 5 mins.
But still after 5 minutes, this job was picked by another thread.
My understanding was when retired =0, it should be moved to deadletter table.