)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"change_message_id":"b188380ae888fa40f6bede53a9a59ed0a679cfeb","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"e8386a1c_e539f312","updated":"2026-04-22 14:55:52.000000000","message":"Do we want to update https://github.com/openstack/swift/blob/master/test/unit/common/test_http_protocol.py#L22 too?","commit_id":"beb80e45f518c436a17fa8c08cc0bdeaf87ee645"},{"author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"change_message_id":"712e9904c52f406633ac9c9050605455437450de","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"3229a66b_1fc60d28","updated":"2026-04-22 14:42:32.000000000","message":"I didn\u0027t look too closely at tests, but I trust it\u0027s fine.","commit_id":"beb80e45f518c436a17fa8c08cc0bdeaf87ee645"},{"author":{"_account_id":6968,"name":"Christian Schwede","email":"cschwede@nvidia.com","username":"cschwede"},"change_message_id":"04ff7c25d36f77d3ee01cc962727b43ed69901f9","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"a005a604_df0755d0","updated":"2026-04-22 08:43:15.000000000","message":"recheck \"The Stack (test_stack) already exists.\"","commit_id":"beb80e45f518c436a17fa8c08cc0bdeaf87ee645"},{"author":{"_account_id":6968,"name":"Christian Schwede","email":"cschwede@nvidia.com","username":"cschwede"},"change_message_id":"2f839efed194e38f8e6af4eb7cd95714fe4c032a","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"c25cb0b0_408dcabc","in_reply_to":"e8386a1c_e539f312","updated":"2026-04-22 15:21:50.000000000","message":"Yes, done","commit_id":"beb80e45f518c436a17fa8c08cc0bdeaf87ee645"},{"author":{"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},"change_message_id":"8c47c7259b8a66082cd2999b579d29a68ea22aa3","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"82fd59be_e0f87112","updated":"2026-04-28 14:03:57.000000000","message":"I think this will help to keep future eventlet removal changes more focussed and reduce potential merge conflicts in imports in many files.\n\nIt will rely on reviewer awareness to prevent regression, but I think it is worth establishing the pattern even if not enforced.","commit_id":"02c1417918a208749aca472df1cc4168f2d11ffa"}],"swift/cli/recon.py":[{"author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"change_message_id":"712e9904c52f406633ac9c9050605455437450de","unresolved":true,"context_lines":[{"line_number":23,"context_line":"    SWIFT_CONF_FILE, md5_hash_for_file, set_swift_dir)"},{"line_number":24,"context_line":"from swift.common.ring import Ring"},{"line_number":25,"context_line":"from swift.common.storage_policy import POLICIES, reload_storage_policies"},{"line_number":26,"context_line":"from swift.common.concurrency import eventlet"},{"line_number":27,"context_line":"import json"},{"line_number":28,"context_line":"import optparse"},{"line_number":29,"context_line":"import time"}],"source_content_type":"text/x-python","patch_set":2,"id":"6c726ada_afb43b09","line":26,"updated":"2026-04-22 14:42:32.000000000","message":"Really? We don\u0027t want to just import `GreenPool`?","commit_id":"beb80e45f518c436a17fa8c08cc0bdeaf87ee645"},{"author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"change_message_id":"c0f3a5f34bd2cdcd0aab938a60af1ecad8cad97d","unresolved":false,"context_lines":[{"line_number":23,"context_line":"    SWIFT_CONF_FILE, md5_hash_for_file, set_swift_dir)"},{"line_number":24,"context_line":"from swift.common.ring import Ring"},{"line_number":25,"context_line":"from swift.common.storage_policy import POLICIES, reload_storage_policies"},{"line_number":26,"context_line":"from swift.common.concurrency import eventlet"},{"line_number":27,"context_line":"import json"},{"line_number":28,"context_line":"import optparse"},{"line_number":29,"context_line":"import time"}],"source_content_type":"text/x-python","patch_set":2,"id":"b3b67555_a50a5c78","line":26,"in_reply_to":"32bc3633_b8f27e5c","updated":"2026-04-22 16:16:35.000000000","message":"Done in https://review.opendev.org/c/openstack/swift/+/985842","commit_id":"beb80e45f518c436a17fa8c08cc0bdeaf87ee645"},{"author":{"_account_id":6968,"name":"Christian Schwede","email":"cschwede@nvidia.com","username":"cschwede"},"change_message_id":"2f839efed194e38f8e6af4eb7cd95714fe4c032a","unresolved":true,"context_lines":[{"line_number":23,"context_line":"    SWIFT_CONF_FILE, md5_hash_for_file, set_swift_dir)"},{"line_number":24,"context_line":"from swift.common.ring import Ring"},{"line_number":25,"context_line":"from swift.common.storage_policy import POLICIES, reload_storage_policies"},{"line_number":26,"context_line":"from swift.common.concurrency import eventlet"},{"line_number":27,"context_line":"import json"},{"line_number":28,"context_line":"import optparse"},{"line_number":29,"context_line":"import time"}],"source_content_type":"text/x-python","patch_set":2,"id":"32bc3633_b8f27e5c","line":26,"in_reply_to":"6c726ada_afb43b09","updated":"2026-04-22 15:21:50.000000000","message":"Yes, as discussed in the PTG call this will be done in the eventlet removal patch series","commit_id":"beb80e45f518c436a17fa8c08cc0bdeaf87ee645"}],"swift/common/middleware/ratelimit.py":[{"author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"change_message_id":"712e9904c52f406633ac9c9050605455437450de","unresolved":true,"context_lines":[{"line_number":14,"context_line":"# limitations under the License."},{"line_number":15,"context_line":"import time"},{"line_number":16,"context_line":""},{"line_number":17,"context_line":"from swift.common.concurrency import eventlet"},{"line_number":18,"context_line":""},{"line_number":19,"context_line":"from swift.common.utils import cache_from_env, get_logger"},{"line_number":20,"context_line":"from swift.common.registry import register_swift_info"}],"source_content_type":"text/x-python","patch_set":2,"id":"e302447f_be4750d8","line":17,"updated":"2026-04-22 14:42:32.000000000","message":"Should probably just import `sleep`.","commit_id":"beb80e45f518c436a17fa8c08cc0bdeaf87ee645"},{"author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"change_message_id":"c0f3a5f34bd2cdcd0aab938a60af1ecad8cad97d","unresolved":false,"context_lines":[{"line_number":14,"context_line":"# limitations under the License."},{"line_number":15,"context_line":"import time"},{"line_number":16,"context_line":""},{"line_number":17,"context_line":"from swift.common.concurrency import eventlet"},{"line_number":18,"context_line":""},{"line_number":19,"context_line":"from swift.common.utils import cache_from_env, get_logger"},{"line_number":20,"context_line":"from swift.common.registry import register_swift_info"}],"source_content_type":"text/x-python","patch_set":2,"id":"c4b69e7a_b1519e92","line":17,"in_reply_to":"b1901186_0a73d6b6","updated":"2026-04-22 16:16:35.000000000","message":"Done in https://review.opendev.org/c/openstack/swift/+/985842","commit_id":"beb80e45f518c436a17fa8c08cc0bdeaf87ee645"},{"author":{"_account_id":6968,"name":"Christian Schwede","email":"cschwede@nvidia.com","username":"cschwede"},"change_message_id":"2f839efed194e38f8e6af4eb7cd95714fe4c032a","unresolved":true,"context_lines":[{"line_number":14,"context_line":"# limitations under the License."},{"line_number":15,"context_line":"import time"},{"line_number":16,"context_line":""},{"line_number":17,"context_line":"from swift.common.concurrency import eventlet"},{"line_number":18,"context_line":""},{"line_number":19,"context_line":"from swift.common.utils import cache_from_env, get_logger"},{"line_number":20,"context_line":"from swift.common.registry import register_swift_info"}],"source_content_type":"text/x-python","patch_set":2,"id":"b1901186_0a73d6b6","line":17,"in_reply_to":"e302447f_be4750d8","updated":"2026-04-22 15:21:50.000000000","message":"Yes, as discussed in the PTG call this will be done in the eventlet removal patch series","commit_id":"beb80e45f518c436a17fa8c08cc0bdeaf87ee645"}],"swift/obj/replicator.py":[{"author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"change_message_id":"712e9904c52f406633ac9c9050605455437450de","unresolved":true,"context_lines":[{"line_number":24,"context_line":"import itertools"},{"line_number":25,"context_line":"import pickle  # nosec: B403"},{"line_number":26,"context_line":""},{"line_number":27,"context_line":"from swift.common.concurrency import eventlet"},{"line_number":28,"context_line":"from swift.common.concurrency import GreenPool, queue, tpool, Timeout, sleep"},{"line_number":29,"context_line":"from swift.common.concurrency import subprocess"},{"line_number":30,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"b81c2e14_16a452e7","line":27,"updated":"2026-04-22 14:42:32.000000000","message":"Maybe better to import `sleep`/`spawn`/`spawn_n`","commit_id":"beb80e45f518c436a17fa8c08cc0bdeaf87ee645"},{"author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"change_message_id":"c0f3a5f34bd2cdcd0aab938a60af1ecad8cad97d","unresolved":false,"context_lines":[{"line_number":24,"context_line":"import itertools"},{"line_number":25,"context_line":"import pickle  # nosec: B403"},{"line_number":26,"context_line":""},{"line_number":27,"context_line":"from swift.common.concurrency import eventlet"},{"line_number":28,"context_line":"from swift.common.concurrency import GreenPool, queue, tpool, Timeout, sleep"},{"line_number":29,"context_line":"from swift.common.concurrency import subprocess"},{"line_number":30,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"b7f6a8c9_2a6ad94c","line":27,"in_reply_to":"41c22473_5d60b9ac","updated":"2026-04-22 16:16:35.000000000","message":"Done in https://review.opendev.org/c/openstack/swift/+/985842","commit_id":"beb80e45f518c436a17fa8c08cc0bdeaf87ee645"},{"author":{"_account_id":6968,"name":"Christian Schwede","email":"cschwede@nvidia.com","username":"cschwede"},"change_message_id":"2f839efed194e38f8e6af4eb7cd95714fe4c032a","unresolved":true,"context_lines":[{"line_number":24,"context_line":"import itertools"},{"line_number":25,"context_line":"import pickle  # nosec: B403"},{"line_number":26,"context_line":""},{"line_number":27,"context_line":"from swift.common.concurrency import eventlet"},{"line_number":28,"context_line":"from swift.common.concurrency import GreenPool, queue, tpool, Timeout, sleep"},{"line_number":29,"context_line":"from swift.common.concurrency import subprocess"},{"line_number":30,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"41c22473_5d60b9ac","line":27,"in_reply_to":"b81c2e14_16a452e7","updated":"2026-04-22 15:21:50.000000000","message":"Yes, as discussed in the PTG call this will be done in the eventlet removal patch series","commit_id":"beb80e45f518c436a17fa8c08cc0bdeaf87ee645"}],"test/unit/common/utils/test_logs.py":[{"author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"change_message_id":"b188380ae888fa40f6bede53a9a59ed0a679cfeb","unresolved":true,"context_lines":[{"line_number":35,"context_line":"from test.unit.common.test_utils import MockOs, MockSys"},{"line_number":36,"context_line":"from swift.common.exceptions import Timeout, MessageTimeout, ConnectionTimeout"},{"line_number":37,"context_line":""},{"line_number":38,"context_line":"import eventlet.green.http.client as green_http_client"},{"line_number":39,"context_line":""},{"line_number":40,"context_line":"from swift.common import utils"},{"line_number":41,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"35e220e1_734deaa7","line":38,"updated":"2026-04-22 14:55:52.000000000","message":"What about here?","commit_id":"beb80e45f518c436a17fa8c08cc0bdeaf87ee645"},{"author":{"_account_id":6968,"name":"Christian Schwede","email":"cschwede@nvidia.com","username":"cschwede"},"change_message_id":"2f839efed194e38f8e6af4eb7cd95714fe4c032a","unresolved":false,"context_lines":[{"line_number":35,"context_line":"from test.unit.common.test_utils import MockOs, MockSys"},{"line_number":36,"context_line":"from swift.common.exceptions import Timeout, MessageTimeout, ConnectionTimeout"},{"line_number":37,"context_line":""},{"line_number":38,"context_line":"import eventlet.green.http.client as green_http_client"},{"line_number":39,"context_line":""},{"line_number":40,"context_line":"from swift.common import utils"},{"line_number":41,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"aa883ac4_4608cd9f","line":38,"in_reply_to":"35e220e1_734deaa7","updated":"2026-04-22 15:21:50.000000000","message":"Yes, done","commit_id":"beb80e45f518c436a17fa8c08cc0bdeaf87ee645"}]}
