#3800 avoid noisy chained tracebacks when converting Faults
Merged a year ago by tkopecek. Opened a year ago by mikem.

file modified
+7 -1
@@ -3103,6 +3103,7 @@ 

              self.retries = 0

              max_retries = self.opts.get('max_retries', 30)

              interval = self.opts.get('retry_interval', 20)

+             err = None

              while True:

                  tries += 1

                  self.retries += 1
@@ -3126,7 +3127,9 @@ 

                              # server correctly reporting an outage

                              tries = 0

                              continue

-                     raise err

+                     # we don't want tracebacks to show the lower details

+                     # `raise err from None` only works for py 3.3+

+                     # so instead, we will raise err after the try

                  except (SystemExit, KeyboardInterrupt):

                      # (depending on the python version, these may or may not be subclasses of

                      # Exception)
@@ -3156,6 +3159,9 @@ 

                          self.logger.debug(tb_str)

                      self.logger.info("Try #%s for call %s (%s) failed: %s",

                                       tries, self.callnum, name, e)

+                 if err:

+                     # raise the converted fault from above

+                     raise err

                  if tries > 1:

                      # first retry is immediate, after that we honor retry_interval

                      time.sleep(interval)

Metadata Update from @tkopecek:
- Pull-request tagged with: testing-ready

a year ago

Metadata Update from @mfilip:
- Pull-request tagged with: testing-done

a year ago

Commit 68f0861 fixes this pull-request

Pull-Request has been merged by tkopecek

a year ago
Metadata