)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"change_message_id":"1457b87439322f706849ea01ccf991989a440987","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"5aaa02b8_9bfa910d","updated":"2025-09-03 00:33:57.000000000","message":"Hmmm...\n```\nSep  2 23:43:08 np03382c7a63d84 object-server[8236]: ERROR __call__ error with PUT /sdb1/380/AUTH_test/container-ec42-d54736f7-7f84-4343-aa7c-d2c2502191ce/object-8408675c-a5f6-457c-b72f-b557c6c2894e : \nTraceback (most recent call last):\n  File \"/home/zuul/src/opendev.org/openstack/swift/swift/obj/server.py\", line 1417, in __call__\n    res \u003d getattr(self, req.method)(req)\n  File \"/home/zuul/src/opendev.org/openstack/swift/swift/common/base_storage_server.py\", line 71, in _timing_stats\n    resp \u003d func(ctrl, *args, **kwargs)\n  File \"/home/zuul/src/opendev.org/openstack/swift/swift/common/base_storage_server.py\", line 44, in _timing_stats\n    resp \u003d func(\n  File \"/home/zuul/src/opendev.org/openstack/swift/swift/obj/server.py\", line 1077, in PUT\n    self._do_multi_stage_mime_continue_headers(request, obj_input)\n  File \"/home/zuul/src/opendev.org/openstack/swift/swift/obj/server.py\", line 896, in _do_multi_stage_mime_continue_headers\n    obj_input.set_hundred_continue_response_headers(\nAttributeError: \u0027Body\u0027 object has no attribute \u0027set_hundred_continue_response_headers\u0027\n```\nRight, so we might need to revive https://review.opendev.org/c/openstack/swift/+/427911 ...\n\nOr at least get the config option plumbed sooner rather than later, so we can leave object-servers on eventlet (for now).","commit_id":"266c2341ff57db4c80ed4f1059db990c98da3869"},{"author":{"_account_id":6968,"name":"Christian Schwede","email":"cschwede@nvidia.com","username":"cschwede"},"change_message_id":"45b5088f61a365f65bba439843802bf751191539","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":2,"id":"52d2534f_3ed98856","in_reply_to":"448ba3f7_c781d025","updated":"2025-09-03 10:13:26.000000000","message":"I added an environment variable \"DISABLE_EVENTLET\" to disable eventlet imports for now, this should make it easier to test this. Also squashed a couple of commits to make the initial POC easier to read and abandoned the old ones in Gerrit.","commit_id":"266c2341ff57db4c80ed4f1059db990c98da3869"},{"author":{"_account_id":6968,"name":"Christian Schwede","email":"cschwede@nvidia.com","username":"cschwede"},"change_message_id":"0643d91de26c158e60ce687590aa98e33c8a3e86","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":2,"id":"448ba3f7_c781d025","in_reply_to":"5aaa02b8_9bfa910d","updated":"2025-09-03 05:29:48.000000000","message":"Right, this patch chain only works with the account-server at this point; I run the account-server in a different virtualenv (without eventlet) when testing. There are most likely a lot of other errors even if this one is fixed. Should have noted this in the commit msg - I think I just mentioned this on IRC.","commit_id":"266c2341ff57db4c80ed4f1059db990c98da3869"},{"author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"change_message_id":"9d5a92e9e7fa2e223b0ad99f366312d6da3eb64f","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"63601922_43a4a3cc","updated":"2025-09-08 19:33:20.000000000","message":"Do we want to start merging some of these early patches?","commit_id":"ed267339b0eaf6cb6cd60f661e714582b3c1e174"},{"author":{"_account_id":6968,"name":"Christian Schwede","email":"cschwede@nvidia.com","username":"cschwede"},"change_message_id":"3b94de41fa7d0fa509fde5a6f727b2c63f989d92","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":4,"id":"735faf6a_c9c49271","in_reply_to":"63601922_43a4a3cc","updated":"2025-09-09 14:15:15.000000000","message":"Sounds good to me, but I\u0027m biased ;)\n\nI think we should remove the \"WIP: \" prefix in the commit msg then?","commit_id":"ed267339b0eaf6cb6cd60f661e714582b3c1e174"},{"author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"change_message_id":"0347758fb4bae7afc5c073b8d31d3840041a1bdb","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":4,"id":"c0857cbd_118c443c","in_reply_to":"735faf6a_c9c49271","updated":"2025-09-25 18:18:55.000000000","message":"\u003e I think we should remove the \"WIP: \" prefix in the commit msg then?\n\nI was torn about this: we don\u0027t really want it, but at the same time, I don\u0027t really want to rebase all the patches. I guess the question becomes whether we expect to make a separate review branch (similar to what was done for feature/crypto or feature/deep) or merge from here to master when we\u0027re happy with it.\n\n(feature/s3api offers another option: use small commits on the feature branch, then have one big commit to master. I suspect there will be things we can carve off and have as a chain, though.)\n\nI think I want to keep this branch moving; I can always try to establish a reasonable git history later, as we start thinking about the merge. FWIW, though, I don\u0027t think we need to add \"WIP\" to feature branch patches -- the feature branch marks it all as being in-progress. ;-)","commit_id":"ed267339b0eaf6cb6cd60f661e714582b3c1e174"}],"requirements.txt":[{"author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"change_message_id":"9d5a92e9e7fa2e223b0ad99f366312d6da3eb64f","unresolved":true,"context_lines":[{"line_number":11,"context_line":"PyECLib\u003e\u003d1.3.1,!\u003d1.6.2,!\u003d1.6.3          # BSD"},{"line_number":12,"context_line":"cryptography\u003e\u003d2.0.2                     # BSD/Apache-2.0"},{"line_number":13,"context_line":"dnspython\u003e\u003d1.15.0                       # http://www.dnspython.org/LICENSE"},{"line_number":14,"context_line":"gunicorn\u003e\u003d20.0.0                        # MIT"}],"source_content_type":"text/plain","patch_set":4,"id":"72506994_9afc9b66","line":14,"range":{"start_line":14,"start_character":8,"end_line":14,"end_character":16},"updated":"2025-09-08 19:33:20.000000000","message":"Note that I just kinda picked a version -- I don\u0027t have any strong opinions about the specific lower bound, except that it probably shouldn\u0027t be the absolute latest and greatest (even if that *is* like a year old now). This is from 2019 and seems as good a choice as any, and it\u0027s roughly in line with [other projects\u0027 minimums](https://codesearch.opendev.org/?q\u003dgunicorn%3E\u0026i\u003dnope\u0026literal\u003dnope\u0026files\u003d\u0026excludeFiles\u003d\u0026repos\u003d).","commit_id":"ed267339b0eaf6cb6cd60f661e714582b3c1e174"},{"author":{"_account_id":6968,"name":"Christian Schwede","email":"cschwede@nvidia.com","username":"cschwede"},"change_message_id":"3b94de41fa7d0fa509fde5a6f727b2c63f989d92","unresolved":true,"context_lines":[{"line_number":11,"context_line":"PyECLib\u003e\u003d1.3.1,!\u003d1.6.2,!\u003d1.6.3          # BSD"},{"line_number":12,"context_line":"cryptography\u003e\u003d2.0.2                     # BSD/Apache-2.0"},{"line_number":13,"context_line":"dnspython\u003e\u003d1.15.0                       # http://www.dnspython.org/LICENSE"},{"line_number":14,"context_line":"gunicorn\u003e\u003d20.0.0                        # MIT"}],"source_content_type":"text/plain","patch_set":4,"id":"d7fe8671_0fdc91ef","line":14,"range":{"start_line":14,"start_character":8,"end_line":14,"end_character":16},"in_reply_to":"72506994_9afc9b66","updated":"2025-09-09 14:15:15.000000000","message":"LGTM. That\u0027s also inline with global and upper requirements from https://opendev.org/openstack/requirements (\u003c23.0.0).","commit_id":"ed267339b0eaf6cb6cd60f661e714582b3c1e174"}]}
