)]}'
{"swift/common/wsgi_gunicorn.py":[{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"756af8b3e29b4d102c6c8a27ab0574bfbf711426","unresolved":false,"context_lines":[{"line_number":701,"context_line":""},{"line_number":702,"context_line":""},{"line_number":703,"context_line":"class TopologyChanged(Exception):"},{"line_number":704,"context_line":"    \"\"\"servers_per_port was turned on or off in the config file. How many"},{"line_number":705,"context_line":"    processes run and which sockets they bind is settled at startup, so this"},{"line_number":706,"context_line":"    needs a restart rather than a reload.\"\"\""},{"line_number":707,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"18a946bd_b7b2f6b8","line":704,"updated":"2026-08-24 17:57:05.000000000","message":"pep8: H403: multi line docstrings should end on a new line","commit_id":"ea8e9169ba127f6af973a416c605ad9ac77317ac"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"756af8b3e29b4d102c6c8a27ab0574bfbf711426","unresolved":false,"context_lines":[{"line_number":702,"context_line":""},{"line_number":703,"context_line":"class TopologyChanged(Exception):"},{"line_number":704,"context_line":"    \"\"\"servers_per_port was turned on or off in the config file. How many"},{"line_number":705,"context_line":"    processes run and which sockets they bind is settled at startup, so this"},{"line_number":706,"context_line":"    needs a restart rather than a reload.\"\"\""},{"line_number":707,"context_line":""},{"line_number":708,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"ca04c926_f14fec90","line":705,"updated":"2026-08-24 17:57:05.000000000","message":"pep8: H403: multi line docstrings should end on a new line","commit_id":"ea8e9169ba127f6af973a416c605ad9ac77317ac"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"756af8b3e29b4d102c6c8a27ab0574bfbf711426","unresolved":false,"context_lines":[{"line_number":703,"context_line":"class TopologyChanged(Exception):"},{"line_number":704,"context_line":"    \"\"\"servers_per_port was turned on or off in the config file. How many"},{"line_number":705,"context_line":"    processes run and which sockets they bind is settled at startup, so this"},{"line_number":706,"context_line":"    needs a restart rather than a reload.\"\"\""},{"line_number":707,"context_line":""},{"line_number":708,"context_line":""},{"line_number":709,"context_line":"class _SwiftArbiter(gunicorn.arbiter.Arbiter):"}],"source_content_type":"text/x-python","patch_set":1,"id":"8d420178_68a5498e","line":706,"updated":"2026-08-24 17:57:05.000000000","message":"pep8: H403: multi line docstrings should end on a new line","commit_id":"ea8e9169ba127f6af973a416c605ad9ac77317ac"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"756af8b3e29b4d102c6c8a27ab0574bfbf711426","unresolved":false,"context_lines":[{"line_number":1083,"context_line":"        logger.notice(\u0027Started arbiter for port %d (PID %d)\u0027, port, pid)"},{"line_number":1084,"context_line":""},{"line_number":1085,"context_line":"    def note_failure(port):"},{"line_number":1086,"context_line":"        \"\"\"Back off a port that keeps dying, so a permanently broken config"},{"line_number":1087,"context_line":"        cannot become a fork/exit loop.\"\"\""},{"line_number":1088,"context_line":"        failures[port] \u003d failures.get(port, 0) + 1"},{"line_number":1089,"context_line":"        # cap the exponent too: 2.0 ** 1024 raises OverflowError, and a"}],"source_content_type":"text/x-python","patch_set":1,"id":"14858f53_b30c60c5","line":1086,"updated":"2026-08-24 17:57:05.000000000","message":"pep8: H403: multi line docstrings should end on a new line","commit_id":"ea8e9169ba127f6af973a416c605ad9ac77317ac"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"756af8b3e29b4d102c6c8a27ab0574bfbf711426","unresolved":false,"context_lines":[{"line_number":1084,"context_line":""},{"line_number":1085,"context_line":"    def note_failure(port):"},{"line_number":1086,"context_line":"        \"\"\"Back off a port that keeps dying, so a permanently broken config"},{"line_number":1087,"context_line":"        cannot become a fork/exit loop.\"\"\""},{"line_number":1088,"context_line":"        failures[port] \u003d failures.get(port, 0) + 1"},{"line_number":1089,"context_line":"        # cap the exponent too: 2.0 ** 1024 raises OverflowError, and a"},{"line_number":1090,"context_line":"        # port can fail that often in a day at the 60s ceiling"}],"source_content_type":"text/x-python","patch_set":1,"id":"e1a04fac_c8fe69bb","line":1087,"updated":"2026-08-24 17:57:05.000000000","message":"pep8: H403: multi line docstrings should end on a new line","commit_id":"ea8e9169ba127f6af973a416c605ad9ac77317ac"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"756af8b3e29b4d102c6c8a27ab0574bfbf711426","unresolved":false,"context_lines":[{"line_number":1094,"context_line":"                     port, failures[port], delay)"},{"line_number":1095,"context_line":""},{"line_number":1096,"context_line":"    def apply_desired():"},{"line_number":1097,"context_line":"        \"\"\"Move towards `desired`. A port that cannot start yet is retried"},{"line_number":1098,"context_line":"        later, and readiness waits until every wanted port is up.\"\"\""},{"line_number":1099,"context_line":"        for pid, port in list(children.items()):"},{"line_number":1100,"context_line":"            if port not in desired:"}],"source_content_type":"text/x-python","patch_set":1,"id":"6c10e2e0_958672f5","line":1097,"updated":"2026-08-24 17:57:05.000000000","message":"pep8: H403: multi line docstrings should end on a new line","commit_id":"ea8e9169ba127f6af973a416c605ad9ac77317ac"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"756af8b3e29b4d102c6c8a27ab0574bfbf711426","unresolved":false,"context_lines":[{"line_number":1095,"context_line":""},{"line_number":1096,"context_line":"    def apply_desired():"},{"line_number":1097,"context_line":"        \"\"\"Move towards `desired`. A port that cannot start yet is retried"},{"line_number":1098,"context_line":"        later, and readiness waits until every wanted port is up.\"\"\""},{"line_number":1099,"context_line":"        for pid, port in list(children.items()):"},{"line_number":1100,"context_line":"            if port not in desired:"},{"line_number":1101,"context_line":"                logger.notice(\u0027Port %d left the ring; stopping PID %d\u0027,"}],"source_content_type":"text/x-python","patch_set":1,"id":"81cfd078_0ea4e233","line":1098,"updated":"2026-08-24 17:57:05.000000000","message":"pep8: H403: multi line docstrings should end on a new line","commit_id":"ea8e9169ba127f6af973a416c605ad9ac77317ac"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"756af8b3e29b4d102c6c8a27ab0574bfbf711426","unresolved":false,"context_lines":[{"line_number":1118,"context_line":"        return max(0.0, min(waiting)) if waiting else 1.0"},{"line_number":1119,"context_line":""},{"line_number":1120,"context_line":"    def refresh_desired():"},{"line_number":1121,"context_line":"        \"\"\"Re-read the ring. Returns False when the mode was turned off,"},{"line_number":1122,"context_line":"        which a reload cannot do.\"\"\""},{"line_number":1123,"context_line":"        enabled, ports \u003d get_desired()"},{"line_number":1124,"context_line":"        if not enabled:"}],"source_content_type":"text/x-python","patch_set":1,"id":"b1bba4f8_7b728893","line":1121,"updated":"2026-08-24 17:57:05.000000000","message":"pep8: H403: multi line docstrings should end on a new line","commit_id":"ea8e9169ba127f6af973a416c605ad9ac77317ac"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"756af8b3e29b4d102c6c8a27ab0574bfbf711426","unresolved":false,"context_lines":[{"line_number":1119,"context_line":""},{"line_number":1120,"context_line":"    def refresh_desired():"},{"line_number":1121,"context_line":"        \"\"\"Re-read the ring. Returns False when the mode was turned off,"},{"line_number":1122,"context_line":"        which a reload cannot do.\"\"\""},{"line_number":1123,"context_line":"        enabled, ports \u003d get_desired()"},{"line_number":1124,"context_line":"        if not enabled:"},{"line_number":1125,"context_line":"            logger.error(\u0027servers_per_port cannot be turned off by a reload; \u0027"}],"source_content_type":"text/x-python","patch_set":1,"id":"f99fd9fc_234c6c93","line":1122,"updated":"2026-08-24 17:57:05.000000000","message":"pep8: H403: multi line docstrings should end on a new line","commit_id":"ea8e9169ba127f6af973a416c605ad9ac77317ac"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"756af8b3e29b4d102c6c8a27ab0574bfbf711426","unresolved":false,"context_lines":[{"line_number":1130,"context_line":"        return True"},{"line_number":1131,"context_line":""},{"line_number":1132,"context_line":"    def reload_accepted():"},{"line_number":1133,"context_line":"        \"\"\"Re-read the ring for a SIGHUP. False keeps the running arbiters"},{"line_number":1134,"context_line":"        rather than half-applying a change they should not see.\"\"\""},{"line_number":1135,"context_line":"        try:"},{"line_number":1136,"context_line":"            return refresh_desired()"}],"source_content_type":"text/x-python","patch_set":1,"id":"2b27eeaf_c2b6b651","line":1133,"updated":"2026-08-24 17:57:05.000000000","message":"pep8: H403: multi line docstrings should end on a new line","commit_id":"ea8e9169ba127f6af973a416c605ad9ac77317ac"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"756af8b3e29b4d102c6c8a27ab0574bfbf711426","unresolved":false,"context_lines":[{"line_number":1131,"context_line":""},{"line_number":1132,"context_line":"    def reload_accepted():"},{"line_number":1133,"context_line":"        \"\"\"Re-read the ring for a SIGHUP. False keeps the running arbiters"},{"line_number":1134,"context_line":"        rather than half-applying a change they should not see.\"\"\""},{"line_number":1135,"context_line":"        try:"},{"line_number":1136,"context_line":"            return refresh_desired()"},{"line_number":1137,"context_line":"        except Exception:"}],"source_content_type":"text/x-python","patch_set":1,"id":"faf4b3e3_64810643","line":1134,"updated":"2026-08-24 17:57:05.000000000","message":"pep8: H403: multi line docstrings should end on a new line","commit_id":"ea8e9169ba127f6af973a416c605ad9ac77317ac"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"756af8b3e29b4d102c6c8a27ab0574bfbf711426","unresolved":false,"context_lines":[{"line_number":1140,"context_line":"            return False"},{"line_number":1141,"context_line":""},{"line_number":1142,"context_line":"    def arm_reports():"},{"line_number":1143,"context_line":"        \"\"\"Ask every arbiter for a fresh report. Each one reloads exactly"},{"line_number":1144,"context_line":"        once per SIGHUP, so a worker still starting up under the old config"},{"line_number":1145,"context_line":"        reports the old generation and no longer counts.\"\"\""},{"line_number":1146,"context_line":"        for pid in children:"}],"source_content_type":"text/x-python","patch_set":1,"id":"aabb992a_6564f97f","line":1143,"updated":"2026-08-24 17:57:05.000000000","message":"pep8: H403: multi line docstrings should end on a new line","commit_id":"ea8e9169ba127f6af973a416c605ad9ac77317ac"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"756af8b3e29b4d102c6c8a27ab0574bfbf711426","unresolved":false,"context_lines":[{"line_number":1141,"context_line":""},{"line_number":1142,"context_line":"    def arm_reports():"},{"line_number":1143,"context_line":"        \"\"\"Ask every arbiter for a fresh report. Each one reloads exactly"},{"line_number":1144,"context_line":"        once per SIGHUP, so a worker still starting up under the old config"},{"line_number":1145,"context_line":"        reports the old generation and no longer counts.\"\"\""},{"line_number":1146,"context_line":"        for pid in children:"},{"line_number":1147,"context_line":"            ready_gen[pid] \u003d ready_gen.get(pid, 1) + 1"}],"source_content_type":"text/x-python","patch_set":1,"id":"4a82b826_923c13a5","line":1144,"updated":"2026-08-24 17:57:05.000000000","message":"pep8: H403: multi line docstrings should end on a new line","commit_id":"ea8e9169ba127f6af973a416c605ad9ac77317ac"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"756af8b3e29b4d102c6c8a27ab0574bfbf711426","unresolved":false,"context_lines":[{"line_number":1142,"context_line":"    def arm_reports():"},{"line_number":1143,"context_line":"        \"\"\"Ask every arbiter for a fresh report. Each one reloads exactly"},{"line_number":1144,"context_line":"        once per SIGHUP, so a worker still starting up under the old config"},{"line_number":1145,"context_line":"        reports the old generation and no longer counts.\"\"\""},{"line_number":1146,"context_line":"        for pid in children:"},{"line_number":1147,"context_line":"            ready_gen[pid] \u003d ready_gen.get(pid, 1) + 1"},{"line_number":1148,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"bbb5d2fd_e9bd0a4c","line":1145,"updated":"2026-08-24 17:57:05.000000000","message":"pep8: H403: multi line docstrings should end on a new line","commit_id":"ea8e9169ba127f6af973a416c605ad9ac77317ac"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"756af8b3e29b4d102c6c8a27ab0574bfbf711426","unresolved":false,"context_lines":[{"line_number":1369,"context_line":""},{"line_number":1370,"context_line":""},{"line_number":1371,"context_line":"def _servers_per_port_ports(conf, app_section):"},{"line_number":1372,"context_line":"    \"\"\"(enabled, sorted local ring ports). The ports may legitimately be"},{"line_number":1373,"context_line":"    empty -- this node may have none in the ring -- which is not the same as"},{"line_number":1374,"context_line":"    the mode being off.\"\"\""},{"line_number":1375,"context_line":"    if not _servers_per_port_enabled(conf, app_section):"}],"source_content_type":"text/x-python","patch_set":1,"id":"8d415279_2354e987","line":1372,"updated":"2026-08-24 17:57:05.000000000","message":"pep8: H403: multi line docstrings should end on a new line","commit_id":"ea8e9169ba127f6af973a416c605ad9ac77317ac"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"756af8b3e29b4d102c6c8a27ab0574bfbf711426","unresolved":false,"context_lines":[{"line_number":1370,"context_line":""},{"line_number":1371,"context_line":"def _servers_per_port_ports(conf, app_section):"},{"line_number":1372,"context_line":"    \"\"\"(enabled, sorted local ring ports). The ports may legitimately be"},{"line_number":1373,"context_line":"    empty -- this node may have none in the ring -- which is not the same as"},{"line_number":1374,"context_line":"    the mode being off.\"\"\""},{"line_number":1375,"context_line":"    if not _servers_per_port_enabled(conf, app_section):"},{"line_number":1376,"context_line":"        return False, []"}],"source_content_type":"text/x-python","patch_set":1,"id":"2b538508_8e503bad","line":1373,"updated":"2026-08-24 17:57:05.000000000","message":"pep8: H403: multi line docstrings should end on a new line","commit_id":"ea8e9169ba127f6af973a416c605ad9ac77317ac"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"756af8b3e29b4d102c6c8a27ab0574bfbf711426","unresolved":false,"context_lines":[{"line_number":1371,"context_line":"def _servers_per_port_ports(conf, app_section):"},{"line_number":1372,"context_line":"    \"\"\"(enabled, sorted local ring ports). The ports may legitimately be"},{"line_number":1373,"context_line":"    empty -- this node may have none in the ring -- which is not the same as"},{"line_number":1374,"context_line":"    the mode being off.\"\"\""},{"line_number":1375,"context_line":"    if not _servers_per_port_enabled(conf, app_section):"},{"line_number":1376,"context_line":"        return False, []"},{"line_number":1377,"context_line":"    ip \u003d conf.get(\u0027bind_ip\u0027, \u00270.0.0.0\u0027)"}],"source_content_type":"text/x-python","patch_set":1,"id":"f82ee7bc_8368e1ad","line":1374,"updated":"2026-08-24 17:57:05.000000000","message":"pep8: H403: multi line docstrings should end on a new line","commit_id":"ea8e9169ba127f6af973a416c605ad9ac77317ac"}],"test/unit/common/test_wsgi_gunicorn.py":[{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"756af8b3e29b4d102c6c8a27ab0574bfbf711426","unresolved":false,"context_lines":[{"line_number":503,"context_line":""},{"line_number":504,"context_line":"@unittest.skipIf(USE_EVENTLET, \u0027gunicorn is only used without eventlet\u0027)"},{"line_number":505,"context_line":"class TestSupervisePerPort(unittest.TestCase):"},{"line_number":506,"context_line":"    \"\"\"servers_per_port runs one arbiter per port, each bound to a single"},{"line_number":507,"context_line":"    socket, so a wedged disk stalls only its own port\u0027s workers.\"\"\""},{"line_number":508,"context_line":""},{"line_number":509,"context_line":"    def setUp(self):"}],"source_content_type":"text/x-python","patch_set":1,"id":"325d5716_b449350c","line":506,"updated":"2026-08-24 17:57:05.000000000","message":"pep8: H403: multi line docstrings should end on a new line","commit_id":"ea8e9169ba127f6af973a416c605ad9ac77317ac"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"756af8b3e29b4d102c6c8a27ab0574bfbf711426","unresolved":false,"context_lines":[{"line_number":504,"context_line":"@unittest.skipIf(USE_EVENTLET, \u0027gunicorn is only used without eventlet\u0027)"},{"line_number":505,"context_line":"class TestSupervisePerPort(unittest.TestCase):"},{"line_number":506,"context_line":"    \"\"\"servers_per_port runs one arbiter per port, each bound to a single"},{"line_number":507,"context_line":"    socket, so a wedged disk stalls only its own port\u0027s workers.\"\"\""},{"line_number":508,"context_line":""},{"line_number":509,"context_line":"    def setUp(self):"},{"line_number":510,"context_line":"        self.logger \u003d mock.MagicMock()"}],"source_content_type":"text/x-python","patch_set":1,"id":"182bfb04_f38a6b11","line":507,"updated":"2026-08-24 17:57:05.000000000","message":"pep8: H403: multi line docstrings should end on a new line","commit_id":"ea8e9169ba127f6af973a416c605ad9ac77317ac"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"756af8b3e29b4d102c6c8a27ab0574bfbf711426","unresolved":false,"context_lines":[{"line_number":539,"context_line":"        os.write(self.pipes[index][2], b\u0027%d\\n\u0027 % generation)"},{"line_number":540,"context_line":""},{"line_number":541,"context_line":"    def _run(self, ports, pids, waitpids\u003d(), stop_after\u003d1, child_ready\u003dTrue):"},{"line_number":542,"context_line":"        \"\"\"Drive the supervisor. `ports` may be a list (static) or a callable."},{"line_number":543,"context_line":"        `waitpids` is what os.waitpid() returns in turn.\"\"\""},{"line_number":544,"context_line":"        pid_iter \u003d iter(pids)"},{"line_number":545,"context_line":"        waits \u003d list(waitpids)"}],"source_content_type":"text/x-python","patch_set":1,"id":"9ecca67f_a1cb1744","line":542,"updated":"2026-08-24 17:57:05.000000000","message":"pep8: H403: multi line docstrings should end on a new line","commit_id":"ea8e9169ba127f6af973a416c605ad9ac77317ac"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"756af8b3e29b4d102c6c8a27ab0574bfbf711426","unresolved":false,"context_lines":[{"line_number":540,"context_line":""},{"line_number":541,"context_line":"    def _run(self, ports, pids, waitpids\u003d(), stop_after\u003d1, child_ready\u003dTrue):"},{"line_number":542,"context_line":"        \"\"\"Drive the supervisor. `ports` may be a list (static) or a callable."},{"line_number":543,"context_line":"        `waitpids` is what os.waitpid() returns in turn.\"\"\""},{"line_number":544,"context_line":"        pid_iter \u003d iter(pids)"},{"line_number":545,"context_line":"        waits \u003d list(waitpids)"},{"line_number":546,"context_line":"        rounds \u003d [0]"}],"source_content_type":"text/x-python","patch_set":1,"id":"07da3e8b_7a34f627","line":543,"updated":"2026-08-24 17:57:05.000000000","message":"pep8: H403: multi line docstrings should end on a new line","commit_id":"ea8e9169ba127f6af973a416c605ad9ac77317ac"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"756af8b3e29b4d102c6c8a27ab0574bfbf711426","unresolved":false,"context_lines":[{"line_number":1170,"context_line":""},{"line_number":1171,"context_line":"@unittest.skipIf(USE_EVENTLET, \u0027gunicorn is only used without eventlet\u0027)"},{"line_number":1172,"context_line":"class TestTopologyIsFixedAtStartup(unittest.TestCase):"},{"line_number":1173,"context_line":"    \"\"\"One arbiter per port or a single arbiter is decided at startup; a"},{"line_number":1174,"context_line":"    reload that flips servers_per_port would leave one arbiter holding every"},{"line_number":1175,"context_line":"    listener, so it is rejected instead.\"\"\""},{"line_number":1176,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"edf1f2a4_5c4f0333","line":1173,"updated":"2026-08-24 17:57:05.000000000","message":"pep8: H403: multi line docstrings should end on a new line","commit_id":"ea8e9169ba127f6af973a416c605ad9ac77317ac"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"756af8b3e29b4d102c6c8a27ab0574bfbf711426","unresolved":false,"context_lines":[{"line_number":1171,"context_line":"@unittest.skipIf(USE_EVENTLET, \u0027gunicorn is only used without eventlet\u0027)"},{"line_number":1172,"context_line":"class TestTopologyIsFixedAtStartup(unittest.TestCase):"},{"line_number":1173,"context_line":"    \"\"\"One arbiter per port or a single arbiter is decided at startup; a"},{"line_number":1174,"context_line":"    reload that flips servers_per_port would leave one arbiter holding every"},{"line_number":1175,"context_line":"    listener, so it is rejected instead.\"\"\""},{"line_number":1176,"context_line":""},{"line_number":1177,"context_line":"    def _capture_build_cfg(self, conf_values):"}],"source_content_type":"text/x-python","patch_set":1,"id":"58ad4c0e_8f12b9cb","line":1174,"updated":"2026-08-24 17:57:05.000000000","message":"pep8: H403: multi line docstrings should end on a new line","commit_id":"ea8e9169ba127f6af973a416c605ad9ac77317ac"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"756af8b3e29b4d102c6c8a27ab0574bfbf711426","unresolved":false,"context_lines":[{"line_number":1172,"context_line":"class TestTopologyIsFixedAtStartup(unittest.TestCase):"},{"line_number":1173,"context_line":"    \"\"\"One arbiter per port or a single arbiter is decided at startup; a"},{"line_number":1174,"context_line":"    reload that flips servers_per_port would leave one arbiter holding every"},{"line_number":1175,"context_line":"    listener, so it is rejected instead.\"\"\""},{"line_number":1176,"context_line":""},{"line_number":1177,"context_line":"    def _capture_build_cfg(self, conf_values):"},{"line_number":1178,"context_line":"        captured \u003d {}"}],"source_content_type":"text/x-python","patch_set":1,"id":"fd8bdb65_57ac51e3","line":1175,"updated":"2026-08-24 17:57:05.000000000","message":"pep8: H403: multi line docstrings should end on a new line","commit_id":"ea8e9169ba127f6af973a416c605ad9ac77317ac"}]}
