How should I trigger on retry in OutputHandler#onPull ?
The API I use (Pravega) is blocking and returns null on timeout. I’ve ended with the scheduleOne 0, it works fine AFAIU, but I’m not very happy with it.
I see the PR has been closed but as a note, if you need to do blocking retries in a graph stage, the stage must be set to run on a blocking dispatcher to not starve the application, and use the
TimerGraphStageLogic to get a call on the right thread where it can do blocking safely after the time period has passed.
Blocking in a callback handed to the timer is not good as it will run on the default dispatcher and where it might starve the system and not let other streams or actors execute.