)]}'
{"test/probe/test_ec_timestamp_collision.py":[{"author":{"_account_id":34930,"name":"Jianjian Huo","email":"jhuo@nvidia.com","username":"jhuo"},"change_message_id":"6c27f00b2b58a2a2106955d35daa73395e5d38ea","unresolved":true,"context_lines":[{"line_number":79,"context_line":"        except internal_client.UnexpectedResponse as e:"},{"line_number":80,"context_line":"            return e.resp.status_int"},{"line_number":81,"context_line":""},{"line_number":82,"context_line":"    def test_concurrent_put_no_timestamp_collision(self):"},{"line_number":83,"context_line":"        \"\"\""},{"line_number":84,"context_line":"        Verify that concurrent PUTs with forced same-time timestamps"},{"line_number":85,"context_line":"        don\u0027t trigger collisions when jitter is present."}],"source_content_type":"text/x-python","patch_set":3,"id":"74daeabd_457ff6b9","line":82,"updated":"2026-03-17 23:20:42.000000000","message":"on my local vsaio,  even two parallel uploads of same object would ran into linkat errors repeatedly, but I set num_uploads_per_object\u003d10 just to be safe.\nI either got 10 ``503s``\n```\nE           AssertionError: Lists differ: [503, 503, 503, 503, 503, 503, 503, 503, 503, 503] !\u003d []\nE\nE           First list contains 10 additional elements.\nE           First extra element 0:\nE           503\nE\nE - [503, 503, 503, 503, 503, 503, 503, 503, 503, 503]\nE + []: Object 0: got server errors[503, 503, 503, 503, 503, 503, 503, 503, 503, 503] from concurrent PUTs with same time.time(). Statuses: [503, 503, 503, 503, 503, 503, 503, 503, 503, 503]. This indicates timestamp collision causing FileExistsError on the object server.\n\ntest/probe/test_ec_timestamp_collision.py: 135: AssertionError\n```\nor 9 ``503s`` + 1 ``201``\n```\nE           AssertionError: Lists differ: [503, 503, 503, 503, 503, 503, 503, 503, 503] !\u003d []\nE\nE           First list contains 9 additional elements.\nE           First extra element 0:\nE           503\nE\nE - [503, 503, 503, 503, 503, 503, 503, 503, 503]\nE + []: Object 0: got server errors[503, 503, 503, 503, 503, 503, 503, 503, 503] from concurrent PUTs with same time.time(). Statuses: [503, 503, 503, 503, 503, 503, 503, 503, 503, 201]. This indicates timestamp collision causing FileExistsError on the object server.\n\ntest/probe/test_ec_timestamp_collision.py: 135: AssertionError[7:55 PM]\n```\nand always passed with the new jitter timestamp\n```\nvagrant@saio:~/swift$ pytest test/probe/test_ec_timestamp_collision.py\n\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d test session starts \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\nplatform linux -- Python 3.12.3, pytest-8.4.1, pluggy-1.6.0 -- /usr/bin/python3\ncachedir: .pytest_cache\nrootdir: /vagrant/swift\nconfigfile: tox.ini\nplugins: subtests-0.14.2, cov-6.2.1\ncollected 1 item\n\ntest/probe/test_ec_timestamp_collision.py::TestECTimestampCollision::test_concurrent_put_no_timestamp_collision PASSED                                                        [100%]\n\n\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d 1 passed in 14.29s \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n```","commit_id":"bc5c725aaa7f7626f97026b385211f76e95e24de"}]}
