)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"change_message_id":"28efce8eaa906aacdcfe2a2bcca9e2df7d31bb50","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"5a0fb484_c61ed9d2","updated":"2023-08-08 08:49:49.000000000","message":"Makes sense, thank you for the explanation stephenfin","commit_id":"25dcacea7c389819d988f9340d93c69cb11ef298"},{"author":{"_account_id":8122,"name":"Cyril Roelandt","email":"cyril@redhat.com","username":"cyril.roelandt.enovance"},"change_message_id":"84fabb43d368dab06bd33310e2b071321e7e9c80","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"ab3be1b7_01ebd2f0","updated":"2023-07-25 17:13:20.000000000","message":"One inlined question about some details :)","commit_id":"25dcacea7c389819d988f9340d93c69cb11ef298"},{"author":{"_account_id":19138,"name":"Pranali Deore","email":"pdeore@redhat.com","username":"PranaliD"},"change_message_id":"7593b16be528dbf154bec3a22b0140cd7c4c5652","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"a5211632_99523428","updated":"2023-09-13 05:46:52.000000000","message":"recheck timeout error while volume get to expected state","commit_id":"25dcacea7c389819d988f9340d93c69cb11ef298"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"9fbe1bc1898cfd711c33f5389440fb1751d127d1","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"8379b7b2_ae9505b3","in_reply_to":"ab3be1b7_01ebd2f0","updated":"2023-07-26 09:03:38.000000000","message":"Replied!","commit_id":"25dcacea7c389819d988f9340d93c69cb11ef298"}],"glance/db/sqlalchemy/alembic_migrations/data_migrations/train_migrate01_backend_to_store.py":[{"author":{"_account_id":8122,"name":"Cyril Roelandt","email":"cyril@redhat.com","username":"cyril.roelandt.enovance"},"change_message_id":"84fabb43d368dab06bd33310e2b071321e7e9c80","unresolved":true,"context_lines":[{"line_number":36,"context_line":"            \"POSITION(\u0027\\\"backend\\\":\u0027 IN meta_data) \u003e 0\""},{"line_number":37,"context_line":"        )"},{"line_number":38,"context_line":""},{"line_number":39,"context_line":"    with engine.connect() as conn, conn.begin():"},{"line_number":40,"context_line":"        metadata_backend \u003d conn.execute(sql_query)"},{"line_number":41,"context_line":"        if metadata_backend.rowcount \u003e 0:"},{"line_number":42,"context_line":"            return True"}],"source_content_type":"text/x-python","patch_set":2,"id":"192331ea_49c4439f","line":39,"range":{"start_line":39,"start_character":46,"end_line":39,"end_character":47},"updated":"2023-07-25 17:13:20.000000000","message":"Why call conn.begin() here? From https://docs.sqlalchemy.org/en/20/core/connections.html#sqlalchemy.engine.Connection.begin\n\n\"The Connection.begin() method begins a transaction that normally will be begun in any case when the connection is first used to execute a statement. The reason this method might be used would be to invoke the ConnectionEvents.begin() event at a specific time, or to organize code within the scope of a connection checkout in terms of context managed blocks\"\n\nDo we need to add this call?","commit_id":"25dcacea7c389819d988f9340d93c69cb11ef298"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"9fbe1bc1898cfd711c33f5389440fb1751d127d1","unresolved":false,"context_lines":[{"line_number":36,"context_line":"            \"POSITION(\u0027\\\"backend\\\":\u0027 IN meta_data) \u003e 0\""},{"line_number":37,"context_line":"        )"},{"line_number":38,"context_line":""},{"line_number":39,"context_line":"    with engine.connect() as conn, conn.begin():"},{"line_number":40,"context_line":"        metadata_backend \u003d conn.execute(sql_query)"},{"line_number":41,"context_line":"        if metadata_backend.rowcount \u003e 0:"},{"line_number":42,"context_line":"            return True"}],"source_content_type":"text/x-python","patch_set":2,"id":"902e1d75_4e56a696","line":39,"range":{"start_line":39,"start_character":46,"end_line":39,"end_character":47},"in_reply_to":"192331ea_49c4439f","updated":"2023-07-26 09:03:38.000000000","message":"Yeah, this is necessary to mitigate the removal of autocommit. There\u0027s more information in [the SQLAlchemy 2.0 - Major Migration Guide](https://docs.sqlalchemy.org/en/20/changelog/migration_20.html#library-level-but-not-driver-level-autocommit-removed-from-both-core-and-orm).\n\nAs I called out in the commit message, I made those changes here since I was already modifying this code pretty extensively but the rest of these changes happen [here](https://review.opendev.org/c/openstack/glance/+/889059/) and [here](https://review.opendev.org/c/openstack/glance/+/889065/).","commit_id":"25dcacea7c389819d988f9340d93c69cb11ef298"},{"author":{"_account_id":8122,"name":"Cyril Roelandt","email":"cyril@redhat.com","username":"cyril.roelandt.enovance"},"change_message_id":"84fabb43d368dab06bd33310e2b071321e7e9c80","unresolved":true,"context_lines":[{"line_number":60,"context_line":"            \"POSITION(\u0027\\\"backend\\\":\u0027 IN meta_data) \u003e 0\""},{"line_number":61,"context_line":"        )"},{"line_number":62,"context_line":""},{"line_number":63,"context_line":"    with engine.connect() as conn, conn.begin():"},{"line_number":64,"context_line":"        migrated_rows \u003d conn.execute(sql_query)"},{"line_number":65,"context_line":"        return migrated_rows.rowcount"}],"source_content_type":"text/x-python","patch_set":2,"id":"4f1fbfed_8ee46bb4","line":63,"range":{"start_line":63,"start_character":35,"end_line":63,"end_character":45},"updated":"2023-07-25 17:13:20.000000000","message":"Ditto","commit_id":"25dcacea7c389819d988f9340d93c69cb11ef298"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"9fbe1bc1898cfd711c33f5389440fb1751d127d1","unresolved":false,"context_lines":[{"line_number":60,"context_line":"            \"POSITION(\u0027\\\"backend\\\":\u0027 IN meta_data) \u003e 0\""},{"line_number":61,"context_line":"        )"},{"line_number":62,"context_line":""},{"line_number":63,"context_line":"    with engine.connect() as conn, conn.begin():"},{"line_number":64,"context_line":"        migrated_rows \u003d conn.execute(sql_query)"},{"line_number":65,"context_line":"        return migrated_rows.rowcount"}],"source_content_type":"text/x-python","patch_set":2,"id":"97d519bc_1d57f34d","line":63,"range":{"start_line":63,"start_character":35,"end_line":63,"end_character":45},"in_reply_to":"4f1fbfed_8ee46bb4","updated":"2023-07-26 09:03:38.000000000","message":"As above","commit_id":"25dcacea7c389819d988f9340d93c69cb11ef298"}]}
