]> git-server-git.apps.pok.os.sepia.ceph.com Git - s3-tests.git/commitdiff
Resolve the random AssertionError
authorWesley Spikes <wesley.spikes@dreamhost.com>
Mon, 18 Jul 2011 22:34:06 +0000 (15:34 -0700)
committerWesley Spikes <wesley.spikes@dreamhost.com>
Mon, 18 Jul 2011 23:15:40 +0000 (16:15 -0700)
By doing a copy-new on the key, it seems to work around the random
AssertionError's I've been seeing. Here's hoping this fully
resolves it.

s3tests/common/greenlets.py

index 8ed90ac3e46681ee3c66dbb4b7fe68f39bd53fc5..4da0ba1d289e22baf15a5489c246c6441f6e8fdb 100644 (file)
@@ -49,13 +49,7 @@ class SafeTransferGreenlet(gevent.Greenlet):
             # We don't want to retry, as it's time to exit, but we also don't want to count
             # this as a failure.
             return False
-        except AssertionError as e:
-            # If we've raised this damn gevent error, we simply need to retry.
-            if e.args[0].startswith('This event is already used by another greenlet'):
-                return True # retry
-            # Different assertion error, so fail normally.
-            result.setError(show_traceback=True)
-        except Exception:
+        except:
             result.setError(show_traceback=True)
 
         result.markFinished()
@@ -76,6 +70,8 @@ class ReaderGreenlet(SafeTransferGreenlet):
             time.sleep(1)
             return self.result.setError('No available keys to test with reader. Try again later.')
 
+        # Copynew the key object
+        key = key.bucket.new_key(key.name)
         self.key = key
         self.result.setKey(key)