)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"change_message_id":"3693bff5185e6d1ecfbe17c567f2b0a5cb7a9ceb","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"ed5a48f9_64a9616a","updated":"2022-06-08 10:50:47.000000000","message":"Few comments inline but overall LGTM.","commit_id":"c4a4c91ee6e827e5fdffb278ddd8a19a3391c910"},{"author":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"change_message_id":"f87d9a3b78506a56631fcc33fa64e558cc96db53","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"d7dfb733_d53f73b1","updated":"2022-06-09 15:28:46.000000000","message":"My only concern has been addressed by the followup patch, so this one looks ready to go.","commit_id":"c4a4c91ee6e827e5fdffb278ddd8a19a3391c910"},{"author":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"change_message_id":"58187fd50fbf737f5531d1e25bca0750e7a5da55","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"3e7e8aec_78bb2fbf","updated":"2022-04-14 19:47:24.000000000","message":"Nit inline about the location of a comment, otherwise this looks good to me.","commit_id":"c4a4c91ee6e827e5fdffb278ddd8a19a3391c910"}],"cinder/cmd/manage.py":[{"author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"change_message_id":"3693bff5185e6d1ecfbe17c567f2b0a5cb7a9ceb","unresolved":true,"context_lines":[{"line_number":472,"context_line":"            result.append(keep_usage)"},{"line_number":473,"context_line":"        return result, duplicates_found"},{"line_number":474,"context_line":""},{"line_number":475,"context_line":"    def _check_sync(self, project_id, do_fix):"},{"line_number":476,"context_line":"        \"\"\"Check the quotas and reservations optionally fixing them.\"\"\""},{"line_number":477,"context_line":""},{"line_number":478,"context_line":"        ctxt \u003d context.get_admin_context()"}],"source_content_type":"text/x-python","patch_set":3,"id":"3cd91b97_89ad947b","line":475,"range":{"start_line":475,"start_character":8,"end_line":475,"end_character":19},"updated":"2022-06-08 10:50:47.000000000","message":"Can we decorate this method with reader since it calls _get_quota_projects and _check_project_sync methods which have the reader decorator (from which we can remove the decorator)","commit_id":"c4a4c91ee6e827e5fdffb278ddd8a19a3391c910"},{"author":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"change_message_id":"58187fd50fbf737f5531d1e25bca0750e7a5da55","unresolved":true,"context_lines":[{"line_number":486,"context_line":""},{"line_number":487,"context_line":"        discrepancy \u003d False"},{"line_number":488,"context_line":""},{"line_number":489,"context_line":"        # NOTE: It\u0027s important to always get the quota first and then the"},{"line_number":490,"context_line":"        # reservations to prevent deadlocks with quota commit and rollback from"},{"line_number":491,"context_line":"        # running Cinder services."},{"line_number":492,"context_line":"        for project in projects:"},{"line_number":493,"context_line":"            discrepancy \u0026\u003d self._check_project_sync("},{"line_number":494,"context_line":"                ctxt,"}],"source_content_type":"text/x-python","patch_set":3,"id":"d2a9c295_37ff260d","line":491,"range":{"start_line":489,"start_character":0,"end_line":491,"end_character":34},"updated":"2022-04-14 19:47:24.000000000","message":"I think this comment should be moved to the new function you added at line 504.","commit_id":"c4a4c91ee6e827e5fdffb278ddd8a19a3391c910"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"c3c34ef87ceba520fcbea46587ad485d4ee2d013","unresolved":false,"context_lines":[{"line_number":486,"context_line":""},{"line_number":487,"context_line":"        discrepancy \u003d False"},{"line_number":488,"context_line":""},{"line_number":489,"context_line":"        # NOTE: It\u0027s important to always get the quota first and then the"},{"line_number":490,"context_line":"        # reservations to prevent deadlocks with quota commit and rollback from"},{"line_number":491,"context_line":"        # running Cinder services."},{"line_number":492,"context_line":"        for project in projects:"},{"line_number":493,"context_line":"            discrepancy \u0026\u003d self._check_project_sync("},{"line_number":494,"context_line":"                ctxt,"}],"source_content_type":"text/x-python","patch_set":3,"id":"b5450c2c_a9393bae","line":491,"range":{"start_line":489,"start_character":0,"end_line":491,"end_character":34},"in_reply_to":"d2a9c295_37ff260d","updated":"2022-06-07 12:27:37.000000000","message":"Done in [1]\n\n[1] https://review.opendev.org/c/openstack/cinder/+/844964","commit_id":"c4a4c91ee6e827e5fdffb278ddd8a19a3391c910"}],"cinder/tests/unit/test_db_api.py":[{"author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"change_message_id":"3693bff5185e6d1ecfbe17c567f2b0a5cb7a9ceb","unresolved":true,"context_lines":[{"line_number":3537,"context_line":"        # one is not being used) to confirm that the DB exists subquery is"},{"line_number":3538,"context_line":"        # properly formulated and doesn\u0027t result in multiple rows, as such"},{"line_number":3539,"context_line":"        # case would raise an exception when converting the result to an"},{"line_number":3540,"context_line":"        # scalar.  This would happen if for example the query wasn\u0027t generated"},{"line_number":3541,"context_line":"        # directly using get_session but using model_query like this:"},{"line_number":3542,"context_line":"        #  query \u003d model_query(context, model,"},{"line_number":3543,"context_line":"        #                      sql.exists().where(and_(*conditions)))"},{"line_number":3544,"context_line":"        # Instead of what we do:"},{"line_number":3545,"context_line":"        #  query \u003d get_session().query(sql.exists().where(and_(*conditions)))"},{"line_number":3546,"context_line":"        db.volume_create(self.ctxt, {\u0027id\u0027: fake.VOLUME_ID,"},{"line_number":3547,"context_line":"                                     \u0027volume_type_id\u0027: fake.VOLUME_TYPE_ID})"},{"line_number":3548,"context_line":"        db.volume_create(self.ctxt, {\u0027id\u0027: fake.VOLUME2_ID,"}],"source_content_type":"text/x-python","patch_set":3,"id":"5811753b_4dfff9ba","side":"PARENT","line":3545,"range":{"start_line":3540,"start_character":19,"end_line":3545,"end_character":77},"updated":"2022-06-08 10:50:47.000000000","message":"unrelated to this patch but can we remove the second volume create call since both ways act same now?","commit_id":"62ade4243edf8d9c732ccbe34d3d05aae242b52d"}]}
