You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
ExponentialBackoffPolicy.shouldRetry() uses a completely deterministic wait time. This can lead to continued failures in the face of multiple parallel processes launched more-or-less simultaneously, because each task will restart its attempt at the same time. While this case may seem contrived, it is exactly what happens when we attempt to launch 100s of tasks in Hadoop that perform parallel reads on a set of "part" files stored in ADL.
I'd like a second opinion about whether this will help, as I don't know how ADL counts its requests. The doc says "no more than 12000 reads/hour". But how long is the window used to accumulate the requests? If the window really is an hour long, then piling on 12000 requests all at once will render the ADL store unusable for nearly an hour. That's a really long time to wait.
ExponentialBackoffPolicy.shouldRetry() uses a completely deterministic wait time. This can lead to continued failures in the face of multiple parallel processes launched more-or-less simultaneously, because each task will restart its attempt at the same time. While this case may seem contrived, it is exactly what happens when we attempt to launch 100s of tasks in Hadoop that perform parallel reads on a set of "part" files stored in ADL.
Suggested solution:
where randomInt() could be Random.nextInt() if a highly random seed were used.
The text was updated successfully, but these errors were encountered: