upstream the retry logic