[ 
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)

Reply via email to