[
https://issues.apache.org/jira/browse/HADOOP-11398?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14622604#comment-14622604
]
Li Lu commented on HADOOP-11398:
--------------------------------
Hi [~ajisakaa], there is one issue with your current fix: we need to decide the
timeLimit on the time the first retry happens, but not on the object creation.
Say a retry object is created at t1 with maximum time delta_t, an actual retry
happens at t2. We want the retry to stop at t2+delta_t, but not t1+delta_t.
Actually there may be a quite significant gap between t1 and t2, so setting
timeLimit to t1+delta_t may not be right. I'm not sure if in all of our use
cases we can safely assume or enforce t1=t2.
> 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, HADOOP-11398.002.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)