This is an automated email from the ASF dual-hosted git repository.

rabbah pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/incubator-openwhisk.git


The following commit(s) were added to refs/heads/master by this push:
     new e346318  Bump default retry timeout to 50 milliseconds. (#3311)
e346318 is described below

commit e346318ce649d93452159dc866a039c4f7eebbad
Author: Markus Thömmes <[email protected]>
AuthorDate: Tue Feb 20 23:09:17 2018 +0100

    Bump default retry timeout to 50 milliseconds. (#3311)
    
    The default retry timeout is fairly low today (1 millisecond). Rather than 
adjusting each value locally, we should use a more decent value to start with 
globally.
---
 .../scala/src/main/scala/whisk/utils/Retry.scala   | 25 +++++++---------------
 1 file changed, 8 insertions(+), 17 deletions(-)

diff --git a/common/scala/src/main/scala/whisk/utils/Retry.scala 
b/common/scala/src/main/scala/whisk/utils/Retry.scala
index 9a759dd..e5f7c22 100644
--- a/common/scala/src/main/scala/whisk/utils/Retry.scala
+++ b/common/scala/src/main/scala/whisk/utils/Retry.scala
@@ -17,12 +17,7 @@
 
 package whisk.utils
 
-import scala.concurrent.duration.Duration
-import scala.concurrent.duration.DurationInt
-import scala.util.Failure
-import scala.util.Success
-import scala.util.Try
-import scala.language.postfixOps
+import scala.concurrent.duration._
 
 object retry {
 
@@ -34,21 +29,17 @@ object retry {
    * @param N the maximum number of times to apply fn, must be >= 1
    * @param waitBeforeRetry an option specifying duration to wait before 
retrying method, will not wait if none given
    * @return the result of fn iff it is successful
-   * @throws exception from fn (or an illegal argument exception if N is < 1)
+   * @throws Throwable exception from fn (or an illegal argument exception if 
N is < 1)
    */
-  def apply[T](fn: => T, N: Int = 3, waitBeforeRetry: Option[Duration] = 
Some(1 millisecond)): T = {
+  def apply[T](fn: => T, N: Int = 3, waitBeforeRetry: Option[Duration] = 
Some(50.milliseconds)): T = {
     require(N >= 1, "maximum number of fn applications must be greater than 1")
-    waitBeforeRetry map { t =>
-      Thread.sleep(t.toMillis)
-    } // initial wait if any
-    Try { fn } match {
-      case Success(r) => r
+    waitBeforeRetry.foreach(t => Thread.sleep(t.toMillis)) // initial wait if 
any
+
+    try fn
+    catch {
       case _ if N > 1 =>
-        waitBeforeRetry map { t =>
-          Thread.sleep(t.toMillis)
-        }
+        waitBeforeRetry.foreach(t => Thread.sleep(t.toMillis))
         retry(fn, N - 1, waitBeforeRetry)
-      case Failure(t) => throw t
     }
   }
 }

-- 
To stop receiving notification emails like this one, please contact
[email protected].

Reply via email to