)]}'
{"zuul/launcher/server.py":[{"author":{"_account_id":4146,"name":"Clark Boylan","email":"cboylan@sapwetik.org","username":"cboylan"},"change_message_id":"c103577e51bc64792daa8b288323a47082f8ffa8","unresolved":true,"context_lines":[{"line_number":1192,"context_line":"                            continue"},{"line_number":1193,"context_line":"                        break"},{"line_number":1194,"context_line":"                    else:"},{"line_number":1195,"context_line":"                        continue"},{"line_number":1196,"context_line":""},{"line_number":1197,"context_line":"                    if not node.acquireLock(ctx, blocking\u003dFalse):"},{"line_number":1198,"context_line":"                        log.debug(\"Failed to lock matching ready node %s\","}],"source_content_type":"text/x-python","patch_set":2,"id":"592e83cb_eb2a2444","side":"PARENT","line":1195,"updated":"2025-07-01 00:42:22.000000000","message":"I guess we don\u0027t have to run the else: continue anymore beacuse we\u0027re no longer doing an inner loop over providers and just considering them one at a time? Then if the selected provider has a ready node we use it?","commit_id":"8365b6d30a120f2508c13947ba73bac706ffa561"},{"author":{"_account_id":1,"name":"James E. Blair","email":"jim@acmegating.com","username":"corvus"},"change_message_id":"f899992b4440da3c43de4c07bbbe714af177bdc8","unresolved":false,"context_lines":[{"line_number":1192,"context_line":"                            continue"},{"line_number":1193,"context_line":"                        break"},{"line_number":1194,"context_line":"                    else:"},{"line_number":1195,"context_line":"                        continue"},{"line_number":1196,"context_line":""},{"line_number":1197,"context_line":"                    if not node.acquireLock(ctx, blocking\u003dFalse):"},{"line_number":1198,"context_line":"                        log.debug(\"Failed to lock matching ready node %s\","}],"source_content_type":"text/x-python","patch_set":2,"id":"ca4894be_ee11e840","side":"PARENT","line":1195,"in_reply_to":"592e83cb_eb2a2444","updated":"2025-07-01 00:45:38.000000000","message":"Yep.  This is the main part of the change that makes it less efficient.  We will only use a ready node if it happens to match the provider we decided to use to create nodes; before we would have used any provider in the tenant.","commit_id":"8365b6d30a120f2508c13947ba73bac706ffa561"},{"author":{"_account_id":4146,"name":"Clark Boylan","email":"cboylan@sapwetik.org","username":"cboylan"},"change_message_id":"c103577e51bc64792daa8b288323a47082f8ffa8","unresolved":true,"context_lines":[{"line_number":1188,"context_line":"                        node.connection_name):"},{"line_number":1189,"context_line":"                        continue"},{"line_number":1190,"context_line":"                    if not (plabel :\u003d"},{"line_number":1191,"context_line":"                            provider.labels.get(label.name)):"},{"line_number":1192,"context_line":"                        continue"},{"line_number":1193,"context_line":"                    if node.label_config_hash !\u003d plabel.config_hash:"},{"line_number":1194,"context_line":"                        continue"}],"source_content_type":"text/x-python","patch_set":2,"id":"ffebb271_175f79fe","line":1191,"updated":"2025-07-01 00:42:22.000000000","message":"This case preexists this change but I\u0027m confused how there would be a ready_for_label node in a provider that doesn\u0027t have the label. Is this to handle the case where you remove a label from a provider and have stale nodes left behind? We\u0027d just wait for the ready node timeout to clean up the node in those cases?","commit_id":"4563e00f3e4281678443e561a26e7dc9cf075644"},{"author":{"_account_id":1,"name":"James E. Blair","email":"jim@acmegating.com","username":"corvus"},"change_message_id":"f899992b4440da3c43de4c07bbbe714af177bdc8","unresolved":false,"context_lines":[{"line_number":1188,"context_line":"                        node.connection_name):"},{"line_number":1189,"context_line":"                        continue"},{"line_number":1190,"context_line":"                    if not (plabel :\u003d"},{"line_number":1191,"context_line":"                            provider.labels.get(label.name)):"},{"line_number":1192,"context_line":"                        continue"},{"line_number":1193,"context_line":"                    if node.label_config_hash !\u003d plabel.config_hash:"},{"line_number":1194,"context_line":"                        continue"}],"source_content_type":"text/x-python","patch_set":2,"id":"862616e9_436ea89a","line":1191,"in_reply_to":"ffebb271_175f79fe","updated":"2025-07-01 00:45:38.000000000","message":"Exactly.","commit_id":"4563e00f3e4281678443e561a26e7dc9cf075644"}]}
