13106: Add note about the test.
authorPeter Amstutz <pamstutz@veritasgenetics.com>
Wed, 21 Feb 2018 17:05:36 +0000 (12:05 -0500)
committerPeter Amstutz <pamstutz@veritasgenetics.com>
Wed, 21 Feb 2018 17:05:36 +0000 (12:05 -0500)
Arvados-DCO-1.1-Signed-off-by: Peter Amstutz <pamstutz@veritasgenetics.com>

sdk/python/tests/test_keep_client.py

index a8b2f1570ad5fbbb69b95bc536358895c286e883..872c93bae25b5480de1cbf91400f716543415700 100644 (file)
@@ -1261,6 +1261,15 @@ class KeepClientAPIErrorTest(unittest.TestCase):
                     raise arvados.errors.KeepReadError()
         keep_client = arvados.KeepClient(api_client=ApiMock(),
                                              proxy='', local_store='')
+
+        # The bug this is testing for is that if an API (not
+        # keepstore) exception is thrown as part of a get(), the next
+        # attempt to get that same block will result in a deadlock.
+        # This is why there are two get()s in a row.  Unfortunately,
+        # the failure mode for this test is that the test suite
+        # deadlocks, there isn't a good way to avoid that without
+        # adding a special case that has no use except for this test.
+
         with self.assertRaises(arvados.errors.KeepReadError):
             keep_client.get("acbd18db4cc2f85cedef654fccc4a4d8+3")
         with self.assertRaises(arvados.errors.KeepReadError):