)]}'
{"neutron/db/quota/api.py":[{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"09b82bbb7598c11970241bc51b11d50f36d67660","unresolved":false,"context_lines":[{"line_number":124,"context_line":""},{"line_number":125,"context_line":""},{"line_number":126,"context_line":"@db_api.CONTEXT_WRITER"},{"line_number":127,"context_line":"def set_resources_quota_usage_dirty(context, resources, tenant_id, dirty\u003dTrue):"},{"line_number":128,"context_line":"    \"\"\"Set quota usage dirty bit for a given tenant and multiple resources."},{"line_number":129,"context_line":""},{"line_number":130,"context_line":"    :param resources: list of resource for which the dirty bit is going"}],"source_content_type":"text/x-python","patch_set":3,"id":"9f560f44_ff82eec7","line":127,"updated":"2020-07-28 10:06:28.000000000","message":"This is a write operation but only called from \"remove_reservation\". I thin you should make it private and remove the writer context.","commit_id":"62ca8ce5d5fc1a6480c03fc8486699fd101068b2"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"09b82bbb7598c11970241bc51b11d50f36d67660","unresolved":false,"context_lines":[{"line_number":143,"context_line":"    return len(objs)"},{"line_number":144,"context_line":""},{"line_number":145,"context_line":""},{"line_number":146,"context_line":"@db_api.CONTEXT_WRITER"},{"line_number":147,"context_line":"def set_all_quota_usage_dirty(context, resource, dirty\u003dTrue):"},{"line_number":148,"context_line":"    \"\"\"Set the dirty bit on quota usage for all tenants."},{"line_number":149,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"9f560f44_df88ca20","line":146,"updated":"2020-07-28 10:06:28.000000000","message":"This method is not used anymore [1]. You should remove it now we are refactoring this code.\n\n[1]http://codesearch.openstack.org/?q\u003dset_all_quota_usage_dirty\u0026i\u003dnope\u0026files\u003d\u0026repos\u003d","commit_id":"62ca8ce5d5fc1a6480c03fc8486699fd101068b2"}],"neutron/db/quota/driver.py":[{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"09b82bbb7598c11970241bc51b11d50f36d67660","unresolved":false,"context_lines":[{"line_number":109,"context_line":"        return tenant_quota_ext"},{"line_number":110,"context_line":""},{"line_number":111,"context_line":"    @staticmethod"},{"line_number":112,"context_line":"    @db_api.retry_if_session_inactive()"},{"line_number":113,"context_line":"    def delete_tenant_quota(context, tenant_id):"},{"line_number":114,"context_line":"        \"\"\"Delete the quota entries for a given tenant_id."},{"line_number":115,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"9f560f44_5f4cbac6","line":112,"updated":"2020-07-28 10:06:28.000000000","message":"Why don\u0027t we use the oslo_db wrapper here?","commit_id":"62ca8ce5d5fc1a6480c03fc8486699fd101068b2"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"09b82bbb7598c11970241bc51b11d50f36d67660","unresolved":false,"context_lines":[{"line_number":122,"context_line":"            raise exceptions.TenantQuotaNotFound(tenant_id\u003dtenant_id)"},{"line_number":123,"context_line":""},{"line_number":124,"context_line":"    @staticmethod"},{"line_number":125,"context_line":"    @db_api.retry_if_session_inactive()"},{"line_number":126,"context_line":"    def get_all_quotas(context, resources):"},{"line_number":127,"context_line":"        \"\"\"Given a list of resources, retrieve the quotas for the all tenants."},{"line_number":128,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"9f560f44_1fd7e2c1","line":125,"updated":"2020-07-28 10:06:28.000000000","message":"This is a read operation. Do we need the wrapper?","commit_id":"62ca8ce5d5fc1a6480c03fc8486699fd101068b2"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"09b82bbb7598c11970241bc51b11d50f36d67660","unresolved":false,"context_lines":[{"line_number":155,"context_line":"        return list(all_tenant_quotas.values())"},{"line_number":156,"context_line":""},{"line_number":157,"context_line":"    @staticmethod"},{"line_number":158,"context_line":"    @db_api.retry_if_session_inactive()"},{"line_number":159,"context_line":"    def update_quota_limit(context, tenant_id, resource, limit):"},{"line_number":160,"context_line":"        tenant_quotas \u003d quota_obj.Quota.get_objects("},{"line_number":161,"context_line":"            context, project_id\u003dtenant_id, resource\u003dresource)"}],"source_content_type":"text/x-python","patch_set":3,"id":"9f560f44_5fe15a9a","line":158,"updated":"2020-07-28 10:06:28.000000000","message":"Same here","commit_id":"62ca8ce5d5fc1a6480c03fc8486699fd101068b2"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"09b82bbb7598c11970241bc51b11d50f36d67660","unresolved":false,"context_lines":[{"line_number":190,"context_line":"        quota_api.remove_expired_reservations("},{"line_number":191,"context_line":"            context, tenant_id\u003dtenant_id)"},{"line_number":192,"context_line":""},{"line_number":193,"context_line":"    def make_reservation(self, context, tenant_id, resources, deltas, plugin):"},{"line_number":194,"context_line":"        # Lock current reservation table"},{"line_number":195,"context_line":"        # NOTE(salv-orlando): This routine uses DB write locks."},{"line_number":196,"context_line":"        # These locks are acquired by the count() method invoked on resources."}],"source_content_type":"text/x-python","patch_set":3,"id":"9f560f44_3f03c644","line":193,"updated":"2020-07-28 10:06:28.000000000","message":"Why are you removing the retry method here?","commit_id":"62ca8ce5d5fc1a6480c03fc8486699fd101068b2"}],"neutron/objects/quota.py":[{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"09b82bbb7598c11970241bc51b11d50f36d67660","unresolved":false,"context_lines":[{"line_number":140,"context_line":"    }"},{"line_number":141,"context_line":""},{"line_number":142,"context_line":"    @classmethod"},{"line_number":143,"context_line":"    @oslo_db_api.wrap_db_retry(max_retries\u003d5, retry_on_deadlock\u003dTrue)"},{"line_number":144,"context_line":"    def get_object_dirty_protected(cls, context, **kwargs):"},{"line_number":145,"context_line":"        query \u003d context.session.query(cls.db_model)"},{"line_number":146,"context_line":"        query \u003d query.filter_by(**cls.modify_fields_to_db(kwargs))"}],"source_content_type":"text/x-python","patch_set":3,"id":"9f560f44_bf94f6e9","line":143,"updated":"2020-07-28 10:06:28.000000000","message":"Why do we need this decorator in a read operation?","commit_id":"62ca8ce5d5fc1a6480c03fc8486699fd101068b2"}]}
