)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":11816,"name":"mike_mp@zzzcomputing.com","display_name":"Mike Bayer","email":"mike_mp@zzzcomputing.com","username":"zzzeek","status":"Red Hat"},"change_message_id":"da747aff8adfdaedf22688aacaedb67943ade1b8","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"448cbb8e_a6126722","updated":"2024-06-28 17:09:35.000000000","message":"just a heads up this is being worked on","commit_id":"b853302eb38c0e0aa6640380e9ce02415d6ca5e3"},{"author":{"_account_id":28522,"name":"Hervé Beraud","email":"herveberaud.pro@gmail.com","username":"hberaud"},"change_message_id":"cfa0927623a6ca0ba131b571cd7ef3d3099d475e","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"0e5c6ec7_88ff4a57","updated":"2024-09-25 13:15:30.000000000","message":"+2 to show my support to this initiative, feel free to add the reno and to fix the pep8, once the feature freeze will be done we will be ready to merge it.","commit_id":"8d9aea0055501e407c33276669720b8a6c461004"},{"author":{"_account_id":28522,"name":"Hervé Beraud","email":"herveberaud.pro@gmail.com","username":"hberaud"},"change_message_id":"9e735b6e2dc2532fb7066c314f32fce56a613d05","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"bd98069f_deecb6ae","updated":"2024-08-29 14:06:21.000000000","message":"Hey Mike,\n\nIs still WIP? or can we start doing review by waiting for PEP8 fixes?","commit_id":"8d9aea0055501e407c33276669720b8a6c461004"},{"author":{"_account_id":28522,"name":"Hervé Beraud","email":"herveberaud.pro@gmail.com","username":"hberaud"},"change_message_id":"fce505a6c95496d7c65ad4b30eb2f8697656ae42","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"bc71e0a7_8c81a2b7","updated":"2024-09-23 14:56:30.000000000","message":"The current implementation looks good to me (apart the pep8 errors), I just have a couple of inline comments.\n\nThis is a significant new feature for oslo.db so it would be worth to highlight it with a release note. I\u0027d suggest to add one.","commit_id":"8d9aea0055501e407c33276669720b8a6c461004"},{"author":{"_account_id":28522,"name":"Hervé Beraud","email":"herveberaud.pro@gmail.com","username":"hberaud"},"change_message_id":"eaa8872ce1e0d6b4310fe03694f4eae6cd5afe1b","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"68595c4d_810d3124","in_reply_to":"2e276b15_15d6e919","updated":"2024-09-18 07:26:18.000000000","message":"Thanks for your feedback, then, I\u0027ll start my review early next week.","commit_id":"8d9aea0055501e407c33276669720b8a6c461004"},{"author":{"_account_id":11816,"name":"mike_mp@zzzcomputing.com","display_name":"Mike Bayer","email":"mike_mp@zzzcomputing.com","username":"zzzeek","status":"Red Hat"},"change_message_id":"ba58e6ddd5b37a3f7c8f751491a4f1018bb27a7e","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"c7e170d8_3d8c5f79","in_reply_to":"bd98069f_deecb6ae","updated":"2024-08-29 14:12:43.000000000","message":"Hi Hervé -\n\nif we fix pep8 here we can move into review etc., I didn\u0027t spend too much time on the test suite is all so I dont know that I missed things","commit_id":"8d9aea0055501e407c33276669720b8a6c461004"},{"author":{"_account_id":11816,"name":"mike_mp@zzzcomputing.com","display_name":"Mike Bayer","email":"mike_mp@zzzcomputing.com","username":"zzzeek","status":"Red Hat"},"change_message_id":"c8148dc89c06e81aeff14bed3682c8c9f28ce4c1","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"2e276b15_15d6e919","in_reply_to":"c7e170d8_3d8c5f79","updated":"2024-08-29 14:13:04.000000000","message":"was mostly looking for any reaction from anyone :)","commit_id":"8d9aea0055501e407c33276669720b8a6c461004"},{"author":{"_account_id":28522,"name":"Hervé Beraud","email":"herveberaud.pro@gmail.com","username":"hberaud"},"change_message_id":"8a142684951e0816d47ff3f7fcd022b8df8e2bb8","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":5,"id":"f52000e3_73e45c8b","updated":"2024-10-01 08:54:59.000000000","message":"This patch seems close from the expected result so, maybe, we can drop the WIP status from the commit message.","commit_id":"5c33d6f525a4ae8af90371b625b030f69d95ccdd"},{"author":{"_account_id":11816,"name":"mike_mp@zzzcomputing.com","display_name":"Mike Bayer","email":"mike_mp@zzzcomputing.com","username":"zzzeek","status":"Red Hat"},"change_message_id":"1eaaf1fafd748e531d527231a3446b15c2d999a8","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":5,"id":"a6c1c1ae_966eae43","updated":"2024-09-30 20:27:46.000000000","message":"i\u0027ve proposed aiosqlite and aiomysql dependencies at https://review.opendev.org/c/openstack/requirements/+/930947","commit_id":"5c33d6f525a4ae8af90371b625b030f69d95ccdd"},{"author":{"_account_id":28522,"name":"Hervé Beraud","email":"herveberaud.pro@gmail.com","username":"hberaud"},"change_message_id":"8a142684951e0816d47ff3f7fcd022b8df8e2bb8","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":5,"id":"b6de2f6b_6c353025","in_reply_to":"a6c1c1ae_966eae43","updated":"2024-10-01 08:54:59.000000000","message":"Looks good, thanks Mike. Maybe you can also add a depends-on on the requirement patch to fix the requirements check, else we can wait for the merge of this req patch and then recheck it.","commit_id":"5c33d6f525a4ae8af90371b625b030f69d95ccdd"},{"author":{"_account_id":11816,"name":"mike_mp@zzzcomputing.com","display_name":"Mike Bayer","email":"mike_mp@zzzcomputing.com","username":"zzzeek","status":"Red Hat"},"change_message_id":"c9d7c77730218391fd366715b53237c54dfcdf7d","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":5,"id":"1a11743a_26eba913","in_reply_to":"b6de2f6b_6c353025","updated":"2024-10-01 17:38:01.000000000","message":"done","commit_id":"5c33d6f525a4ae8af90371b625b030f69d95ccdd"},{"author":{"_account_id":11816,"name":"mike_mp@zzzcomputing.com","display_name":"Mike Bayer","email":"mike_mp@zzzcomputing.com","username":"zzzeek","status":"Red Hat"},"change_message_id":"c9d7c77730218391fd366715b53237c54dfcdf7d","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":5,"id":"73d40d74_e4e3f55b","in_reply_to":"f52000e3_73e45c8b","updated":"2024-10-01 17:38:01.000000000","message":"done","commit_id":"5c33d6f525a4ae8af90371b625b030f69d95ccdd"},{"author":{"_account_id":28522,"name":"Hervé Beraud","email":"herveberaud.pro@gmail.com","username":"hberaud"},"change_message_id":"cf0f92124033719b52c53667bbe9cc590b9fbebb","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":6,"id":"840ac336_f83589f2","updated":"2024-11-05 14:09:23.000000000","message":"Please can you check for the merge conflict?","commit_id":"389aa64dfd23f4e9ee2668af9cb1e3d9c588fa05"},{"author":{"_account_id":28522,"name":"Hervé Beraud","email":"herveberaud.pro@gmail.com","username":"hberaud"},"change_message_id":"d944c4177d5690cc659e796b8d6e6f9c787e04ee","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":6,"id":"20702f7e_4b0a52dd","updated":"2024-10-14 09:07:44.000000000","message":"recheck","commit_id":"389aa64dfd23f4e9ee2668af9cb1e3d9c588fa05"},{"author":{"_account_id":31245,"name":"Daniel Bengtsson","email":"dbengt@redhat.com","username":"damani42"},"change_message_id":"74ce85fb5dd72b4f391234884f30446d561208e4","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":6,"id":"5393d728_7ef99592","updated":"2024-10-16 13:14:07.000000000","message":"recheck","commit_id":"389aa64dfd23f4e9ee2668af9cb1e3d9c588fa05"},{"author":{"_account_id":28522,"name":"Hervé Beraud","email":"herveberaud.pro@gmail.com","username":"hberaud"},"change_message_id":"f0166aba881ccd315b61875e9c74ba69c629ee44","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":6,"id":"74d646cc_69d1d369","updated":"2024-10-24 08:17:03.000000000","message":"recheck","commit_id":"389aa64dfd23f4e9ee2668af9cb1e3d9c588fa05"},{"author":{"_account_id":28522,"name":"Hervé Beraud","email":"herveberaud.pro@gmail.com","username":"hberaud"},"change_message_id":"4e2257e05dc5422f6a434db74d47643fa87c67ae","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":7,"id":"74cbc8aa_814e6305","updated":"2024-12-03 14:36:53.000000000","message":"I think the repetitive timeouts expose an underlying problem inside this patch.\nI created a parallel DNM patch (https://review.opendev.org/c/openstack/oslo.db/+/936927) just to check if the gates are passing or not, and everything seems to work as expected outside of the asyncio patch.","commit_id":"0b68eb1125c9c6cb71597c78a737ff9a433659c9"},{"author":{"_account_id":28522,"name":"Hervé Beraud","email":"herveberaud.pro@gmail.com","username":"hberaud"},"change_message_id":"ad3d05bfb0eae34441253793efc74e5b43bb2028","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":7,"id":"26d6003a_c5535079","updated":"2024-11-28 08:00:25.000000000","message":"recheck","commit_id":"0b68eb1125c9c6cb71597c78a737ff9a433659c9"},{"author":{"_account_id":28522,"name":"Hervé Beraud","email":"herveberaud.pro@gmail.com","username":"hberaud"},"change_message_id":"eb2c26e79267cd14cb3ae5ab5733a8dcc3559347","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":7,"id":"fb46dcb6_afbcb0af","updated":"2024-11-07 13:05:38.000000000","message":"recheck","commit_id":"0b68eb1125c9c6cb71597c78a737ff9a433659c9"},{"author":{"_account_id":28522,"name":"Hervé Beraud","email":"herveberaud.pro@gmail.com","username":"hberaud"},"change_message_id":"54e2cf54945210deafc5d7d397f8ff1c07317c21","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":7,"id":"370eec57_921186b0","updated":"2024-11-12 10:22:35.000000000","message":"some jobs timeout around test_api (https://opendev.org/openstack/oslo.db/src/branch/master/oslo_db/tests/test_api.py) but in parallel of that it seems that the jobs also face failure: \n\nhttps://zuul.opendev.org/t/openstack/build/0a5faf62a74f43ecbfcb31cc3364575e/log/job-output.txt#2396","commit_id":"0b68eb1125c9c6cb71597c78a737ff9a433659c9"},{"author":{"_account_id":28522,"name":"Hervé Beraud","email":"herveberaud.pro@gmail.com","username":"hberaud"},"change_message_id":"19412f3a9a005517c603be41de832e2f6689e9be","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":7,"id":"42e2037a_1f665cad","in_reply_to":"370eec57_921186b0","updated":"2024-11-12 10:24:42.000000000","message":"At first glance the tests in test_api.py do not seems related to this new facade.","commit_id":"0b68eb1125c9c6cb71597c78a737ff9a433659c9"},{"author":{"_account_id":11816,"name":"mike_mp@zzzcomputing.com","display_name":"Mike Bayer","email":"mike_mp@zzzcomputing.com","username":"zzzeek","status":"Red Hat"},"change_message_id":"4e7994e6c93b409e05a3494475329ae536de2144","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":7,"id":"8a1a910f_ebdc6739","in_reply_to":"74cbc8aa_814e6305","updated":"2024-12-03 15:11:12.000000000","message":"OK I will fix","commit_id":"0b68eb1125c9c6cb71597c78a737ff9a433659c9"},{"author":{"_account_id":11816,"name":"mike_mp@zzzcomputing.com","display_name":"Mike Bayer","email":"mike_mp@zzzcomputing.com","username":"zzzeek","status":"Red Hat"},"change_message_id":"d76df57dd99035454ae98b6afa673947fee5ae02","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":7,"id":"193a1080_f80720eb","in_reply_to":"8a1a910f_ebdc6739","updated":"2024-12-03 15:26:37.000000000","message":"Done","commit_id":"0b68eb1125c9c6cb71597c78a737ff9a433659c9"},{"author":{"_account_id":31245,"name":"Daniel Bengtsson","email":"dbengt@redhat.com","username":"damani42"},"change_message_id":"dc7f19d111a871447803df0ba926e9b25f0e5729","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":9,"id":"b5291c5f_b64d534d","updated":"2024-12-10 09:18:42.000000000","message":"Looks good to merge.","commit_id":"7cfe7fc693894a3488f9c45e35250a458b93cb63"},{"author":{"_account_id":28522,"name":"Hervé Beraud","email":"herveberaud.pro@gmail.com","username":"hberaud"},"change_message_id":"ebae0cde8db0899551220d8e81f59b2b32a8ba30","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":9,"id":"d1a85f43_2e3ae286","updated":"2024-12-04 09:04:44.000000000","message":"Thanks Mike","commit_id":"7cfe7fc693894a3488f9c45e35250a458b93cb63"}],"oslo_db/sqlalchemy/asyncio_facade.py":[{"author":{"_account_id":28522,"name":"Hervé Beraud","email":"herveberaud.pro@gmail.com","username":"hberaud"},"change_message_id":"fce505a6c95496d7c65ad4b30eb2f8697656ae42","unresolved":true,"context_lines":[{"line_number":66,"context_line":"        try:"},{"line_number":67,"context_line":"            conn \u003d engine.connect()"},{"line_number":68,"context_line":"        except exception.DBConnectionError as de:"},{"line_number":69,"context_line":"            msg \u003d \"SQL connection failed. %s attempts left.\""},{"line_number":70,"context_line":"            LOG.warning(msg, max_retries - attempt)"},{"line_number":71,"context_line":"            await_only(asyncio.sleep(retry_interval))"},{"line_number":72,"context_line":"            de_ref \u003d de"}],"source_content_type":"text/x-python","patch_set":4,"id":"512797ea_5086b412","line":69,"range":{"start_line":69,"start_character":23,"end_line":69,"end_character":33},"updated":"2024-09-23 14:56:30.000000000","message":"just wonder if this sentence should not be: \"SQL async connection failed.\" to be more explicit about the context in logs if something went wrong.","commit_id":"8d9aea0055501e407c33276669720b8a6c461004"},{"author":{"_account_id":11816,"name":"mike_mp@zzzcomputing.com","display_name":"Mike Bayer","email":"mike_mp@zzzcomputing.com","username":"zzzeek","status":"Red Hat"},"change_message_id":"312d37502a10b824e854d7749559fb7e23d64d65","unresolved":false,"context_lines":[{"line_number":66,"context_line":"        try:"},{"line_number":67,"context_line":"            conn \u003d engine.connect()"},{"line_number":68,"context_line":"        except exception.DBConnectionError as de:"},{"line_number":69,"context_line":"            msg \u003d \"SQL connection failed. %s attempts left.\""},{"line_number":70,"context_line":"            LOG.warning(msg, max_retries - attempt)"},{"line_number":71,"context_line":"            await_only(asyncio.sleep(retry_interval))"},{"line_number":72,"context_line":"            de_ref \u003d de"}],"source_content_type":"text/x-python","patch_set":4,"id":"b4490db2_8a8269d4","line":69,"range":{"start_line":69,"start_character":23,"end_line":69,"end_character":33},"in_reply_to":"512797ea_5086b412","updated":"2024-09-26 15:12:10.000000000","message":"Done","commit_id":"8d9aea0055501e407c33276669720b8a6c461004"},{"author":{"_account_id":28522,"name":"Hervé Beraud","email":"herveberaud.pro@gmail.com","username":"hberaud"},"change_message_id":"fce505a6c95496d7c65ad4b30eb2f8697656ae42","unresolved":true,"context_lines":[{"line_number":156,"context_line":"    ):"},{"line_number":157,"context_line":"        if sql_connection is None:"},{"line_number":158,"context_line":"            raise exception.CantStartEngineError("},{"line_number":159,"context_line":"                \"No sql_connection parameter is established\""},{"line_number":160,"context_line":"            )"},{"line_number":161,"context_line":""},{"line_number":162,"context_line":"        engine \u003d engines.create_engine("}],"source_content_type":"text/x-python","patch_set":4,"id":"dd7a7aa6_b8de06db","line":159,"range":{"start_line":159,"start_character":20,"end_line":159,"end_character":34},"updated":"2024-09-23 14:56:30.000000000","message":"same thing here. As we have the `connection` parameter, and the `async_connection` parameter, I\u0027d suggest to also give the async info here.","commit_id":"8d9aea0055501e407c33276669720b8a6c461004"},{"author":{"_account_id":11816,"name":"mike_mp@zzzcomputing.com","display_name":"Mike Bayer","email":"mike_mp@zzzcomputing.com","username":"zzzeek","status":"Red Hat"},"change_message_id":"312d37502a10b824e854d7749559fb7e23d64d65","unresolved":false,"context_lines":[{"line_number":156,"context_line":"    ):"},{"line_number":157,"context_line":"        if sql_connection is None:"},{"line_number":158,"context_line":"            raise exception.CantStartEngineError("},{"line_number":159,"context_line":"                \"No sql_connection parameter is established\""},{"line_number":160,"context_line":"            )"},{"line_number":161,"context_line":""},{"line_number":162,"context_line":"        engine \u003d engines.create_engine("}],"source_content_type":"text/x-python","patch_set":4,"id":"843c8927_9dc184a3","line":159,"range":{"start_line":159,"start_character":20,"end_line":159,"end_character":34},"in_reply_to":"dd7a7aa6_b8de06db","updated":"2024-09-26 15:12:10.000000000","message":"Done","commit_id":"8d9aea0055501e407c33276669720b8a6c461004"},{"author":{"_account_id":28522,"name":"Hervé Beraud","email":"herveberaud.pro@gmail.com","username":"hberaud"},"change_message_id":"fce505a6c95496d7c65ad4b30eb2f8697656ae42","unresolved":true,"context_lines":[{"line_number":242,"context_line":"    except AttributeError:"},{"line_number":243,"context_line":"        raise exception.NoEngineContextEstablished("},{"line_number":244,"context_line":"            \"No TransactionContext is established for \""},{"line_number":245,"context_line":"            \"this %s object within the current thread. \" % context"},{"line_number":246,"context_line":"        )"},{"line_number":247,"context_line":""},{"line_number":248,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"bfefedac_350895b7","line":245,"range":{"start_line":245,"start_character":13,"end_line":245,"end_character":54},"updated":"2024-09-23 14:56:30.000000000","message":"Should not we give some guidances about why we are in this situation and what to do we face that error?","commit_id":"8d9aea0055501e407c33276669720b8a6c461004"},{"author":{"_account_id":28522,"name":"Hervé Beraud","email":"herveberaud.pro@gmail.com","username":"hberaud"},"change_message_id":"8a142684951e0816d47ff3f7fcd022b8df8e2bb8","unresolved":false,"context_lines":[{"line_number":242,"context_line":"    except AttributeError:"},{"line_number":243,"context_line":"        raise exception.NoEngineContextEstablished("},{"line_number":244,"context_line":"            \"No TransactionContext is established for \""},{"line_number":245,"context_line":"            \"this %s object within the current thread. \" % context"},{"line_number":246,"context_line":"        )"},{"line_number":247,"context_line":""},{"line_number":248,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"b95f302a_24bad035","line":245,"range":{"start_line":245,"start_character":13,"end_line":245,"end_character":54},"in_reply_to":"1cd4a165_96118c23","updated":"2024-10-01 08:54:59.000000000","message":"thanks","commit_id":"8d9aea0055501e407c33276669720b8a6c461004"},{"author":{"_account_id":11816,"name":"mike_mp@zzzcomputing.com","display_name":"Mike Bayer","email":"mike_mp@zzzcomputing.com","username":"zzzeek","status":"Red Hat"},"change_message_id":"312d37502a10b824e854d7749559fb7e23d64d65","unresolved":false,"context_lines":[{"line_number":242,"context_line":"    except AttributeError:"},{"line_number":243,"context_line":"        raise exception.NoEngineContextEstablished("},{"line_number":244,"context_line":"            \"No TransactionContext is established for \""},{"line_number":245,"context_line":"            \"this %s object within the current thread. \" % context"},{"line_number":246,"context_line":"        )"},{"line_number":247,"context_line":""},{"line_number":248,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"1cd4a165_96118c23","line":245,"range":{"start_line":245,"start_character":13,"end_line":245,"end_character":54},"in_reply_to":"bfefedac_350895b7","updated":"2024-09-26 15:12:10.000000000","message":"this error message is copied from enginefacade and has to do with having code that calls upon a Context as though it were to be used with database commands, but the enginefacade overall has not been set up for that Context class, which we see in code like this: https://opendev.org/openstack/nova/src/commit/6fb1997def0757d42363ed8c8cc058d0703c4ad6/nova/context.py#L76  .   once that\u0027s done for an application they would not see this error anymore.   We can add messaging like \"ensure this Context participates in transaction_context_provider()\" but I\u0027m not 100% sure if that\u0027s the only condition that would cause this error, which could cause more confusion.    but ill add it","commit_id":"8d9aea0055501e407c33276669720b8a6c461004"}],"oslo_db/sqlalchemy/enginefacade.py":[{"author":{"_account_id":28522,"name":"Hervé Beraud","email":"herveberaud.pro@gmail.com","username":"hberaud"},"change_message_id":"fce505a6c95496d7c65ad4b30eb2f8697656ae42","unresolved":true,"context_lines":[{"line_number":834,"context_line":""},{"line_number":835,"context_line":"    def __reduce__(self):"},{"line_number":836,"context_line":"        return _TransactionContextTLocal, ()"},{"line_number":837,"context_line":"_ALLES \u003d TypeVar(\"_ALLES\", bound\u003dUnion[\"Connection\", \"Session\", \"AsyncConnection\", \"AsyncSession\", None])"},{"line_number":838,"context_line":"_ES \u003d TypeVar(\"_ES\", bound\u003dUnion[\"Connection\", \"Session\", None])"},{"line_number":839,"context_line":""},{"line_number":840,"context_line":"class _AbstractTransactionContextManager(Generic[_ALLES]):"}],"source_content_type":"text/x-python","patch_set":4,"id":"a6cd5260_ba4c671f","line":837,"range":{"start_line":837,"start_character":0,"end_line":837,"end_character":6},"updated":"2024-09-23 14:56:30.000000000","message":"I\u0027m not sure to seen what `_ALLES` and `_ES` stand for?\nCan\u0027t we get an other naming?","commit_id":"8d9aea0055501e407c33276669720b8a6c461004"},{"author":{"_account_id":11816,"name":"mike_mp@zzzcomputing.com","display_name":"Mike Bayer","email":"mike_mp@zzzcomputing.com","username":"zzzeek","status":"Red Hat"},"change_message_id":"312d37502a10b824e854d7749559fb7e23d64d65","unresolved":false,"context_lines":[{"line_number":834,"context_line":""},{"line_number":835,"context_line":"    def __reduce__(self):"},{"line_number":836,"context_line":"        return _TransactionContextTLocal, ()"},{"line_number":837,"context_line":"_ALLES \u003d TypeVar(\"_ALLES\", bound\u003dUnion[\"Connection\", \"Session\", \"AsyncConnection\", \"AsyncSession\", None])"},{"line_number":838,"context_line":"_ES \u003d TypeVar(\"_ES\", bound\u003dUnion[\"Connection\", \"Session\", None])"},{"line_number":839,"context_line":""},{"line_number":840,"context_line":"class _AbstractTransactionContextManager(Generic[_ALLES]):"}],"source_content_type":"text/x-python","patch_set":4,"id":"82c12f05_45b5ce14","line":837,"range":{"start_line":837,"start_character":0,"end_line":837,"end_character":6},"in_reply_to":"576ca3e7_1721c4b8","updated":"2024-09-26 15:12:10.000000000","message":"Done","commit_id":"8d9aea0055501e407c33276669720b8a6c461004"},{"author":{"_account_id":28522,"name":"Hervé Beraud","email":"herveberaud.pro@gmail.com","username":"hberaud"},"change_message_id":"cfa0927623a6ca0ba131b571cd7ef3d3099d475e","unresolved":true,"context_lines":[{"line_number":834,"context_line":""},{"line_number":835,"context_line":"    def __reduce__(self):"},{"line_number":836,"context_line":"        return _TransactionContextTLocal, ()"},{"line_number":837,"context_line":"_ALLES \u003d TypeVar(\"_ALLES\", bound\u003dUnion[\"Connection\", \"Session\", \"AsyncConnection\", \"AsyncSession\", None])"},{"line_number":838,"context_line":"_ES \u003d TypeVar(\"_ES\", bound\u003dUnion[\"Connection\", \"Session\", None])"},{"line_number":839,"context_line":""},{"line_number":840,"context_line":"class _AbstractTransactionContextManager(Generic[_ALLES]):"}],"source_content_type":"text/x-python","patch_set":4,"id":"b2657e80_ff8172a7","line":837,"range":{"start_line":837,"start_character":0,"end_line":837,"end_character":6},"in_reply_to":"64cdb806_5b960364","updated":"2024-09-25 13:15:30.000000000","message":"Thank you for this detailed answer, I take note of that naming convention.","commit_id":"8d9aea0055501e407c33276669720b8a6c461004"},{"author":{"_account_id":11816,"name":"mike_mp@zzzcomputing.com","display_name":"Mike Bayer","email":"mike_mp@zzzcomputing.com","username":"zzzeek","status":"Red Hat"},"change_message_id":"c30e1132c43f678104876167b7580ef01d9f8382","unresolved":true,"context_lines":[{"line_number":834,"context_line":""},{"line_number":835,"context_line":"    def __reduce__(self):"},{"line_number":836,"context_line":"        return _TransactionContextTLocal, ()"},{"line_number":837,"context_line":"_ALLES \u003d TypeVar(\"_ALLES\", bound\u003dUnion[\"Connection\", \"Session\", \"AsyncConnection\", \"AsyncSession\", None])"},{"line_number":838,"context_line":"_ES \u003d TypeVar(\"_ES\", bound\u003dUnion[\"Connection\", \"Session\", None])"},{"line_number":839,"context_line":""},{"line_number":840,"context_line":"class _AbstractTransactionContextManager(Generic[_ALLES]):"}],"source_content_type":"text/x-python","patch_set":4,"id":"64cdb806_5b960364","line":837,"range":{"start_line":837,"start_character":0,"end_line":837,"end_character":6},"in_reply_to":"a6cd5260_ba4c671f","updated":"2024-09-23 15:07:01.000000000","message":"these are Python TypeVars: https://docs.python.org/3/library/typing.html#typing.TypeVar  \n\nthere\u0027s a widespread but unofficial naming culture around these that uses underscore-prefixed, uppercase or camelcased like _T, _S, etc.    there\u0027s no mention of this in pep8 or anything what we should be doing.\n\nhere\u0027s an assortment from typeshed, so it looks like they alternate between a single, non-descriptive letter and semi descriptive names:   https://github.com/search?q\u003drepo%3Apython%2Ftypeshed+typevar\u0026type\u003dcode\u0026p\u003d2 \n\n_ES can change to \"_SyncEngineSession\" and _ALLES can change to \"_AllEngineSession\"","commit_id":"8d9aea0055501e407c33276669720b8a6c461004"},{"author":{"_account_id":11816,"name":"mike_mp@zzzcomputing.com","display_name":"Mike Bayer","email":"mike_mp@zzzcomputing.com","username":"zzzeek","status":"Red Hat"},"change_message_id":"66421a5f5d86534658f579471a952fe7c9bca7b6","unresolved":true,"context_lines":[{"line_number":834,"context_line":""},{"line_number":835,"context_line":"    def __reduce__(self):"},{"line_number":836,"context_line":"        return _TransactionContextTLocal, ()"},{"line_number":837,"context_line":"_ALLES \u003d TypeVar(\"_ALLES\", bound\u003dUnion[\"Connection\", \"Session\", \"AsyncConnection\", \"AsyncSession\", None])"},{"line_number":838,"context_line":"_ES \u003d TypeVar(\"_ES\", bound\u003dUnion[\"Connection\", \"Session\", None])"},{"line_number":839,"context_line":""},{"line_number":840,"context_line":"class _AbstractTransactionContextManager(Generic[_ALLES]):"}],"source_content_type":"text/x-python","patch_set":4,"id":"576ca3e7_1721c4b8","line":837,"range":{"start_line":837,"start_character":0,"end_line":837,"end_character":6},"in_reply_to":"b2657e80_ff8172a7","updated":"2024-09-25 13:17:48.000000000","message":"maybe _SyncEngineSessionT and _AllEngineSessionT","commit_id":"8d9aea0055501e407c33276669720b8a6c461004"}],"oslo_db/sqlalchemy/engines.py":[{"author":{"_account_id":31245,"name":"Daniel Bengtsson","email":"dbengt@redhat.com","username":"damani42"},"change_message_id":"0a9be39304dec5072c51cc162dcc9134cf8d81f4","unresolved":true,"context_lines":[{"line_number":205,"context_line":"    connection_parameters\u003dNone,"},{"line_number":206,"context_line":"    _engine_target\u003d_create_engine,"},{"line_number":207,"context_line":"    _test_connection\u003d_test_connection,"},{"line_number":208,"context_line":"):"},{"line_number":209,"context_line":"    \"\"\"Return a new SQLAlchemy engine.\"\"\""},{"line_number":210,"context_line":""},{"line_number":211,"context_line":"    url \u003d utils.make_url(sql_connection)"}],"source_content_type":"text/x-python","patch_set":6,"id":"63c5ebad_9f3dd531","line":208,"updated":"2024-10-16 13:17:13.000000000","message":"Do we want one line per parameter?","commit_id":"389aa64dfd23f4e9ee2668af9cb1e3d9c588fa05"},{"author":{"_account_id":11816,"name":"mike_mp@zzzcomputing.com","display_name":"Mike Bayer","email":"mike_mp@zzzcomputing.com","username":"zzzeek","status":"Red Hat"},"change_message_id":"d9e41e04ec0a5eadfcae6a99e2878c8b0031a5e3","unresolved":false,"context_lines":[{"line_number":205,"context_line":"    connection_parameters\u003dNone,"},{"line_number":206,"context_line":"    _engine_target\u003d_create_engine,"},{"line_number":207,"context_line":"    _test_connection\u003d_test_connection,"},{"line_number":208,"context_line":"):"},{"line_number":209,"context_line":"    \"\"\"Return a new SQLAlchemy engine.\"\"\""},{"line_number":210,"context_line":""},{"line_number":211,"context_line":"    url \u003d utils.make_url(sql_connection)"}],"source_content_type":"text/x-python","patch_set":6,"id":"c58e4e73_b3414a3b","line":208,"in_reply_to":"63c5ebad_9f3dd531","updated":"2024-11-05 14:36:34.000000000","message":"again this is a formatting change that black makes.   it\u0027s a good idea because it reduces merge conflicts in the future","commit_id":"389aa64dfd23f4e9ee2668af9cb1e3d9c588fa05"},{"author":{"_account_id":31245,"name":"Daniel Bengtsson","email":"dbengt@redhat.com","username":"damani42"},"change_message_id":"0a9be39304dec5072c51cc162dcc9134cf8d81f4","unresolved":true,"context_lines":[{"line_number":221,"context_line":"        \"pool_recycle\": connection_recycle_time,"},{"line_number":222,"context_line":"        \"pool_pre_ping\": _native_pre_ping,"},{"line_number":223,"context_line":"        \"connect_args\": {},"},{"line_number":224,"context_line":"        \"logging_name\": logging_name,"},{"line_number":225,"context_line":"    }"},{"line_number":226,"context_line":""},{"line_number":227,"context_line":"    _setup_logging(connection_debug)"}],"source_content_type":"text/x-python","patch_set":6,"id":"fd9e3255_fda67897","line":224,"updated":"2024-10-16 13:17:13.000000000","message":"Why we replace quote here?","commit_id":"389aa64dfd23f4e9ee2668af9cb1e3d9c588fa05"},{"author":{"_account_id":28522,"name":"Hervé Beraud","email":"herveberaud.pro@gmail.com","username":"hberaud"},"change_message_id":"eb2c26e79267cd14cb3ae5ab5733a8dcc3559347","unresolved":false,"context_lines":[{"line_number":221,"context_line":"        \"pool_recycle\": connection_recycle_time,"},{"line_number":222,"context_line":"        \"pool_pre_ping\": _native_pre_ping,"},{"line_number":223,"context_line":"        \"connect_args\": {},"},{"line_number":224,"context_line":"        \"logging_name\": logging_name,"},{"line_number":225,"context_line":"    }"},{"line_number":226,"context_line":""},{"line_number":227,"context_line":"    _setup_logging(connection_debug)"}],"source_content_type":"text/x-python","patch_set":6,"id":"c208c1dc_dc382dcd","line":224,"in_reply_to":"049be6e5_ad2177f1","updated":"2024-11-07 13:05:38.000000000","message":"I\u0027m personally in favor of using black where it is possible. Resolving coding style problems is a boring and useless task and black do it automatically for us, and also standardize things, so... +1 for black usages and this kind of change.","commit_id":"389aa64dfd23f4e9ee2668af9cb1e3d9c588fa05"},{"author":{"_account_id":11816,"name":"mike_mp@zzzcomputing.com","display_name":"Mike Bayer","email":"mike_mp@zzzcomputing.com","username":"zzzeek","status":"Red Hat"},"change_message_id":"d9e41e04ec0a5eadfcae6a99e2878c8b0031a5e3","unresolved":false,"context_lines":[{"line_number":221,"context_line":"        \"pool_recycle\": connection_recycle_time,"},{"line_number":222,"context_line":"        \"pool_pre_ping\": _native_pre_ping,"},{"line_number":223,"context_line":"        \"connect_args\": {},"},{"line_number":224,"context_line":"        \"logging_name\": logging_name,"},{"line_number":225,"context_line":"    }"},{"line_number":226,"context_line":""},{"line_number":227,"context_line":"    _setup_logging(connection_debug)"}],"source_content_type":"text/x-python","patch_set":6,"id":"049be6e5_ad2177f1","line":224,"in_reply_to":"fd9e3255_fda67897","updated":"2024-11-05 14:36:34.000000000","message":"I have black installed in vscode which typically will make this change","commit_id":"389aa64dfd23f4e9ee2668af9cb1e3d9c588fa05"}]}
