[
https://issues.apache.org/jira/browse/HADOOP-11398?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Li Lu updated HADOOP-11398:
---------------------------
Attachment: HADOOP-11398-121114.patch
In this patch I added one more check to RetryUpToMaximumTimeWithFixedSleep's
shouldRetry method. With this design, a RetryUpToMaximumTimeWithFixedSleep only
launches retries before the time window with size maxTime ends. I also added
two more unit tests to verify this: one to make sure if the underlying retry
process is delayed, we no longer launch new retries outside the allowed time
window and one to make sure if the time window size is sufficient, a
RetryUpToMaximumTimeWithFixedSleep can finish successfully.
> RetryUpToMaximumTimeWithFixedSleep needs to behave more accurately
> ------------------------------------------------------------------
>
> Key: HADOOP-11398
> URL: https://issues.apache.org/jira/browse/HADOOP-11398
> Project: Hadoop Common
> Issue Type: Bug
> Reporter: Li Lu
> Assignee: Li Lu
> Attachments: HADOOP-11398-121114.patch
>
>
> RetryUpToMaximumTimeWithFixedSleep now inherits
> RetryUpToMaximumCountWithFixedSleep and just acts as a wrapper to decide
> maxRetries. The current implementation uses (maxTime / sleepTime) as the
> number of maxRetries. This is fine if the actual for each retry is
> significantly less than the sleep time, but it becomes less accurate if each
> retry takes comparable amount of time as the sleep time. The problem gets
> worse when there are underlying retries.
> We may want to use timers inside RetryUpToMaximumTimeWithFixedSleep to
> perform accurate timing.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)