)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":4146,"name":"Clark Boylan","email":"cboylan@sapwetik.org","username":"cboylan"},"change_message_id":"3823e5783c2aafc551940041471883fa442e09b0","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"81e7a012_2fbe0907","updated":"2025-06-11 16:56:58.000000000","message":"One small thought inline. I\u0027m happy for us to land this as is and determine later if the cache ttls need to be more in sync.","commit_id":"d17d4ff3aa34278c098c4be1dedc49660b015d28"}],"zuul/launcher/server.py":[{"author":{"_account_id":4146,"name":"Clark Boylan","email":"cboylan@sapwetik.org","username":"cboylan"},"change_message_id":"3823e5783c2aafc551940041471883fa442e09b0","unresolved":true,"context_lines":[{"line_number":2313,"context_line":""},{"line_number":2314,"context_line":"        # This is initialized with the full tenant quota and later becomes"},{"line_number":2315,"context_line":"        # the quota available for nodepool."},{"line_number":2316,"context_line":"        quota \u003d self.getProviderQuota(provider).copy()"},{"line_number":2317,"context_line":"        unmanaged \u003d self.getUnmanagedQuotaUsed(provider)"},{"line_number":2318,"context_line":"        self.log.debug(\"Provider unmanaged quota used for %s: %s\","},{"line_number":2319,"context_line":"                       provider.name, unmanaged)"}],"source_content_type":"text/x-python","patch_set":3,"id":"5c9f8922_66b31b45","line":2316,"updated":"2025-06-11 16:56:58.000000000","message":"I wonder if the available quota should cause a cache refresh of the provider quota so that we don\u0027t have `MAX_QUOTA_AGE*2` stale data if the caches are updating fully out of sync with each other.","commit_id":"d17d4ff3aa34278c098c4be1dedc49660b015d28"},{"author":{"_account_id":1,"name":"James E. Blair","email":"jim@acmegating.com","username":"corvus"},"change_message_id":"3fc5a5429b5ec47a4e69894b140a2024654b043e","unresolved":false,"context_lines":[{"line_number":2313,"context_line":""},{"line_number":2314,"context_line":"        # This is initialized with the full tenant quota and later becomes"},{"line_number":2315,"context_line":"        # the quota available for nodepool."},{"line_number":2316,"context_line":"        quota \u003d self.getProviderQuota(provider).copy()"},{"line_number":2317,"context_line":"        unmanaged \u003d self.getUnmanagedQuotaUsed(provider)"},{"line_number":2318,"context_line":"        self.log.debug(\"Provider unmanaged quota used for %s: %s\","},{"line_number":2319,"context_line":"                       provider.name, unmanaged)"}],"source_content_type":"text/x-python","patch_set":3,"id":"a0f74c53_8bb5580c","line":2316,"in_reply_to":"5c9f8922_66b31b45","updated":"2025-06-11 17:11:12.000000000","message":"I think to fully resolve that, we\u0027d need to sort of tie the two together so that if either one has expired we query both. but we\u0027ve sort of downgraded all of our quota handling to \"approximate\" rather than \"exact\", especially because of multiple launchers. So I think as long as neither of the values are too old, it\u0027ll be good enough.","commit_id":"d17d4ff3aa34278c098c4be1dedc49660b015d28"}]}
