)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"change_message_id":"0746f3cfc3bcb36010270de0d3e2e958996aed42","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"e68b328f_c77df8a0","updated":"2023-11-13 18:24:31.000000000","message":"OK, I could probably get on board with this direction -- though I might push to go one step further and get rid of the separate socket-closer child. Might make upgrade considerations a little trickier down the line, though...\n\nSo, is the plan for us to invest in reworking the IPC here ahead of fixing the observed bad behaviors? How do we want to get these patches lined up?","commit_id":"07dfa89946f9178db2a3aeec80c163f611635123"},{"author":{"_account_id":1179,"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","username":"clay-gerrard"},"change_message_id":"c2be334c6045dca4806407db5153375835cc25b1","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"4fca6bc6_c69c1412","updated":"2023-11-10 17:19:06.000000000","message":"before:\n\n\tNov 10 17:17:10 saio proxy-server: Ignoring wait() result from unknown PID 12204\n\tNov 10 17:17:10 saio proxy-server: Ignoring wait() result from unknown PID 12210\n\tNov 10 17:17:10 saio proxy-server: Ignoring wait() result from unknown PID 12202\n\tNov 10 17:17:10 saio proxy-server: Ignoring wait() result from unknown PID 12203\n\tNov 10 17:17:10 saio proxy-server: Ignoring wait() result from unknown PID 12205\n\nimmediately on reload after new code:\n\n\tNov 10 17:17:42 saio proxy-server: Ignoring wait() result from unknown PID 12217\n\tNov 10 17:17:42 saio proxy-server: Ignoring wait() result from unknown PID 12216\n\tNov 10 17:17:42 saio proxy-server: Ignoring wait() result from unknown PID 12218\n\tNov 10 17:17:42 saio proxy-server: Ignoring wait() result from unknown PID 12219\n\tNov 10 17:17:42 saio proxy-server: Ignoring wait() result from unknown PID 12221\n\nnext reload after new code:\n\n\tNov 10 17:18:42 saio proxy-server: Ignoring wait() result from old worker PID 12228\n\tNov 10 17:18:42 saio proxy-server: Ignoring wait() result from old worker PID 12229\n\tNov 10 17:18:42 saio proxy-server: Ignoring wait() result from old worker PID 12227\n\tNov 10 17:18:42 saio proxy-server: Ignoring wait() result from old worker PID 12230\n\tNov 10 17:18:42 saio proxy-server: Ignoring wait() result from unknown PID 12237","commit_id":"07dfa89946f9178db2a3aeec80c163f611635123"}],"swift/common/wsgi.py":[{"author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"change_message_id":"0746f3cfc3bcb36010270de0d3e2e958996aed42","unresolved":true,"context_lines":[{"line_number":632,"context_line":""},{"line_number":633,"context_line":"        sock \u003d self.tracking_data.pop(pid, None)"},{"line_number":634,"context_line":"        if sock is None:"},{"line_number":635,"context_line":"            old_worker_pids \u003d json.loads("},{"line_number":636,"context_line":"                os.environ.get(\u0027__SWIFT_ENV_INFO\u0027, \u0027{}\u0027)).get("},{"line_number":637,"context_line":"                    \u0027old_worker_pids\u0027, [])"},{"line_number":638,"context_line":"            if pid in old_worker_pids:"}],"source_content_type":"text/x-python","patch_set":1,"id":"e6c75fbe_86b2ca43","line":635,"range":{"start_line":635,"start_character":30,"end_line":635,"end_character":40},"updated":"2023-11-13 18:24:31.000000000","message":"Don\u0027t love the parsing on every `wait` result, but we can fix that.","commit_id":"07dfa89946f9178db2a3aeec80c163f611635123"},{"author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"change_message_id":"0746f3cfc3bcb36010270de0d3e2e958996aed42","unresolved":true,"context_lines":[{"line_number":1023,"context_line":"            os.close(read_fd)"},{"line_number":1024,"context_line":"            extra_info \u003d {"},{"line_number":1025,"context_line":"                # try to keep this under 8MiB"},{"line_number":1026,"context_line":"                \u0027notify_fd\u0027: write_fd,"},{"line_number":1027,"context_line":"                \u0027old_worker_pids\u0027: list(strategy.tracking_data.keys()),"},{"line_number":1028,"context_line":"            }"},{"line_number":1029,"context_line":"            os.putenv(INFO_ENV_KEY, json.dumps(extra_info))"}],"source_content_type":"text/x-python","patch_set":1,"id":"96f44e6f_8eb2d898","line":1026,"updated":"2023-11-13 18:24:31.000000000","message":"We *might* be able to\n- pass the list of listen-socket fds instead,\n- skip the forking, so we\u0027re just passing it to our re-exec\u0027ed selves, and\n- `os.close` them where we currently write to the pipe...","commit_id":"07dfa89946f9178db2a3aeec80c163f611635123"},{"author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"change_message_id":"a6f88cabdd93ed8795921e6ae03218ef628c2de3","unresolved":true,"context_lines":[{"line_number":1023,"context_line":"            os.close(read_fd)"},{"line_number":1024,"context_line":"            extra_info \u003d {"},{"line_number":1025,"context_line":"                # try to keep this under 8MiB"},{"line_number":1026,"context_line":"                \u0027notify_fd\u0027: write_fd,"},{"line_number":1027,"context_line":"                \u0027old_worker_pids\u0027: list(strategy.tracking_data.keys()),"},{"line_number":1028,"context_line":"            }"},{"line_number":1029,"context_line":"            os.putenv(INFO_ENV_KEY, json.dumps(extra_info))"}],"source_content_type":"text/x-python","patch_set":1,"id":"86e6f3af_6d6f96e6","line":1026,"in_reply_to":"96f44e6f_8eb2d898","updated":"2023-11-30 23:24:55.000000000","message":"See what you think of https://review.opendev.org/c/openstack/swift/+/900957","commit_id":"07dfa89946f9178db2a3aeec80c163f611635123"},{"author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"change_message_id":"0746f3cfc3bcb36010270de0d3e2e958996aed42","unresolved":true,"context_lines":[{"line_number":1024,"context_line":"            extra_info \u003d {"},{"line_number":1025,"context_line":"                # try to keep this under 8MiB"},{"line_number":1026,"context_line":"                \u0027notify_fd\u0027: write_fd,"},{"line_number":1027,"context_line":"                \u0027old_worker_pids\u0027: list(strategy.tracking_data.keys()),"},{"line_number":1028,"context_line":"            }"},{"line_number":1029,"context_line":"            os.putenv(INFO_ENV_KEY, json.dumps(extra_info))"},{"line_number":1030,"context_line":"            # legacy thing"}],"source_content_type":"text/x-python","patch_set":1,"id":"fe521050_3fe94ca4","line":1027,"updated":"2023-11-13 18:24:31.000000000","message":"You already saw the bug, but this isn\u0027t going to track pids for servers-per-port.\n\nAlso, if we keep the socket-closer child, by adding `child_pid` to the list, we *should* know about everybody. (Unless you perform multiple reloads during a single long-lived transfer...)","commit_id":"07dfa89946f9178db2a3aeec80c163f611635123"}]}
