)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":29244,"name":"Gregory Thiemonge","email":"gthiemon@redhat.com","username":"gthiemonge"},"change_message_id":"03cdf6144bd2561c7244baee35410d9b596f973d","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":9,"id":"b14530d8_9eedc5d9","updated":"2023-02-27 14:45:47.000000000","message":"I think we can remove the session property from the RequestContext class","commit_id":"8ff1574cc82a19238921339dcc7758a5fb93811e"},{"author":{"_account_id":29244,"name":"Gregory Thiemonge","email":"gthiemon@redhat.com","username":"gthiemonge"},"change_message_id":"fcde5a09536836ac4da085155f46e0142f052637","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":9,"id":"b82cc535_71cbedd4","in_reply_to":"b14530d8_9eedc5d9","updated":"2023-03-01 10:49:17.000000000","message":"This comment is bogus, we still need the session property.","commit_id":"8ff1574cc82a19238921339dcc7758a5fb93811e"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"fe901d09073e23345631bf26c8bc3998bc6ef9fe","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":14,"id":"50d8cd9b_6c31e07f","updated":"2023-07-27 22:17:44.000000000","message":"I have a couple of comments","commit_id":"291d3ddd2efa98b09e3eabe6a38e30280449e3e1"},{"author":{"_account_id":34429,"name":"Tom Weininger","email":"dienste@weinimo.de","username":"tweining"},"change_message_id":"9df2fa0328918b640e9bdf3f83af134a4e0ecc2b","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":14,"id":"6a7c273a_869a7747","updated":"2023-06-20 10:39:25.000000000","message":"lgtm","commit_id":"291d3ddd2efa98b09e3eabe6a38e30280449e3e1"},{"author":{"_account_id":34429,"name":"Tom Weininger","email":"dienste@weinimo.de","username":"tweining"},"change_message_id":"6cc6622bf5326b6374da0b3a917252a6d71946c1","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":14,"id":"3fe6a135_3f7910db","updated":"2023-05-22 11:57:15.000000000","message":"recheck node timeout","commit_id":"291d3ddd2efa98b09e3eabe6a38e30280449e3e1"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"30e9397d3af88c5c034d420abd30242d50d7b9f0","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":16,"id":"2a53cb2b_b4167eb0","updated":"2023-08-16 20:51:17.000000000","message":"LGTM","commit_id":"b15a6e8c7dcdcb83adb5545b7016d0400c2221d1"},{"author":{"_account_id":34429,"name":"Tom Weininger","email":"dienste@weinimo.de","username":"tweining"},"change_message_id":"1691ef75f16d30b43f7a0e9619d968862a4c8723","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":16,"id":"fe13a248_d3b117bc","updated":"2023-08-22 10:59:32.000000000","message":"The comment in octavia/controller/worker/v2/tasks/database_tasks.py is still open.","commit_id":"b15a6e8c7dcdcb83adb5545b7016d0400c2221d1"}],"octavia/amphorae/drivers/health/heartbeat_udp.py":[{"author":{"_account_id":34429,"name":"Tom Weininger","email":"dienste@weinimo.de","username":"tweining"},"change_message_id":"9c09d7c2a27010da2da510717c292d92174d5d1c","unresolved":true,"context_lines":[{"line_number":411,"context_line":"                            \u0027been ignored and no update was made to the \u0027"},{"line_number":412,"context_line":"                            \u0027amphora health entry. THIS IS NOT GOOD.\u0027,"},{"line_number":413,"context_line":"                            {\u0027id\u0027: health[\u0027id\u0027], \u0027delay\u0027: proc_delay})"},{"line_number":414,"context_line":"                lock_session.rollback()"},{"line_number":415,"context_line":"                return"},{"line_number":416,"context_line":""},{"line_number":417,"context_line":"            # if the input amphora is healthy, we update its db info"}],"source_content_type":"text/x-python","patch_set":13,"id":"31157950_60cafca4","line":414,"range":{"start_line":414,"start_character":16,"end_line":414,"end_character":39},"updated":"2023-05-09 16:41:40.000000000","message":"What is this going to roll back? I see nothing that uses the session between here and line 399. I guess lines 398 and 399 can be moved in the `try:` block below. Then `begin()` can be used simply as a context manager.","commit_id":"9641a8541e74a81b9524530e2b00bb1087aaf5a6"},{"author":{"_account_id":29244,"name":"Gregory Thiemonge","email":"gthiemon@redhat.com","username":"gthiemonge"},"change_message_id":"a664ca0c96eda15a80e1b6b118f963c40f4a1439","unresolved":false,"context_lines":[{"line_number":411,"context_line":"                            \u0027been ignored and no update was made to the \u0027"},{"line_number":412,"context_line":"                            \u0027amphora health entry. THIS IS NOT GOOD.\u0027,"},{"line_number":413,"context_line":"                            {\u0027id\u0027: health[\u0027id\u0027], \u0027delay\u0027: proc_delay})"},{"line_number":414,"context_line":"                lock_session.rollback()"},{"line_number":415,"context_line":"                return"},{"line_number":416,"context_line":""},{"line_number":417,"context_line":"            # if the input amphora is healthy, we update its db info"}],"source_content_type":"text/x-python","patch_set":13,"id":"0368a08e_c1d2fad4","line":414,"range":{"start_line":414,"start_character":16,"end_line":414,"end_character":39},"in_reply_to":"31157950_60cafca4","updated":"2023-05-15 08:41:16.000000000","message":"Done","commit_id":"9641a8541e74a81b9524530e2b00bb1087aaf5a6"}],"octavia/controller/housekeeping/house_keeping.py":[{"author":{"_account_id":34429,"name":"Tom Weininger","email":"dienste@weinimo.de","username":"tweining"},"change_message_id":"9c09d7c2a27010da2da510717c292d92174d5d1c","unresolved":true,"context_lines":[{"line_number":52,"context_line":"                if self.amp_health_repo.check_amphora_health_expired("},{"line_number":53,"context_line":"                        session, amp_id, exp_age):"},{"line_number":54,"context_line":"                    LOG.debug(\u0027Attempting to purge db record for Amphora ID:\u0027"},{"line_number":55,"context_line":"                              \u0027 % s\u0027, amp_id)"},{"line_number":56,"context_line":"                    self.amp_repo.delete(session, id\u003damp_id)"},{"line_number":57,"context_line":"                    try:"},{"line_number":58,"context_line":"                        self.amp_health_repo.delete(session, amphora_id\u003damp_id)"}],"source_content_type":"text/x-python","patch_set":13,"id":"4d153997_ae7bac5c","line":55,"range":{"start_line":55,"start_character":32,"end_line":55,"end_character":35},"updated":"2023-05-09 16:41:40.000000000","message":"extra space. Also the space before `%s` should be in the previous line by convention.","commit_id":"9641a8541e74a81b9524530e2b00bb1087aaf5a6"},{"author":{"_account_id":29244,"name":"Gregory Thiemonge","email":"gthiemon@redhat.com","username":"gthiemonge"},"change_message_id":"a664ca0c96eda15a80e1b6b118f963c40f4a1439","unresolved":false,"context_lines":[{"line_number":52,"context_line":"                if self.amp_health_repo.check_amphora_health_expired("},{"line_number":53,"context_line":"                        session, amp_id, exp_age):"},{"line_number":54,"context_line":"                    LOG.debug(\u0027Attempting to purge db record for Amphora ID:\u0027"},{"line_number":55,"context_line":"                              \u0027 % s\u0027, amp_id)"},{"line_number":56,"context_line":"                    self.amp_repo.delete(session, id\u003damp_id)"},{"line_number":57,"context_line":"                    try:"},{"line_number":58,"context_line":"                        self.amp_health_repo.delete(session, amphora_id\u003damp_id)"}],"source_content_type":"text/x-python","patch_set":13,"id":"30526892_21c16541","line":55,"range":{"start_line":55,"start_character":32,"end_line":55,"end_character":35},"in_reply_to":"4d153997_ae7bac5c","updated":"2023-05-15 08:41:16.000000000","message":"Done","commit_id":"9641a8541e74a81b9524530e2b00bb1087aaf5a6"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"fe901d09073e23345631bf26c8bc3998bc6ef9fe","unresolved":true,"context_lines":[{"line_number":66,"context_line":"            seconds\u003dCONF.house_keeping.load_balancer_expiry_age)"},{"line_number":67,"context_line":""},{"line_number":68,"context_line":"        session \u003d db_api.get_session()"},{"line_number":69,"context_line":"        session.begin()"},{"line_number":70,"context_line":"        lb_ids \u003d self.lb_repo.get_all_deleted_expiring(session,"},{"line_number":71,"context_line":"                                                       exp_age\u003dexp_age)"},{"line_number":72,"context_line":""}],"source_content_type":"text/x-python","patch_set":14,"id":"aa424b65_0d900d29","line":69,"updated":"2023-07-27 22:17:44.000000000","message":"Why not use a context manager here to be consistent?","commit_id":"291d3ddd2efa98b09e3eabe6a38e30280449e3e1"}],"octavia/controller/worker/v2/tasks/database_tasks.py":[{"author":{"_account_id":34429,"name":"Tom Weininger","email":"dienste@weinimo.de","username":"tweining"},"change_message_id":"65de8da5c567c9860018f1c5db549d65bbb6a7c6","unresolved":true,"context_lines":[{"line_number":2009,"context_line":"class MarkHealthMonitorsOnlineInDB(BaseDatabaseTask):"},{"line_number":2010,"context_line":"    \"\"\"Mark all enabled health monitors Online"},{"line_number":2011,"context_line":""},{"line_number":2012,"context_line":"    :param loadbalancer: Dictionary of a Load Balancer that has associated"},{"line_number":2013,"context_line":"           health monitors"},{"line_number":2014,"context_line":"    :returns: None"},{"line_number":2015,"context_line":"    \"\"\""}],"source_content_type":"text/x-python","patch_set":16,"id":"dc52848a_3bd918b7","line":2012,"updated":"2023-07-31 14:17:07.000000000","message":"This should be moved in the docstring of the `execute` method.","commit_id":"b15a6e8c7dcdcb83adb5545b7016d0400c2221d1"},{"author":{"_account_id":29244,"name":"Gregory Thiemonge","email":"gthiemon@redhat.com","username":"gthiemonge"},"change_message_id":"68974b76b0ee3c5d600bb0df4c3089a8f1ff0bb6","unresolved":true,"context_lines":[{"line_number":2009,"context_line":"class MarkHealthMonitorsOnlineInDB(BaseDatabaseTask):"},{"line_number":2010,"context_line":"    \"\"\"Mark all enabled health monitors Online"},{"line_number":2011,"context_line":""},{"line_number":2012,"context_line":"    :param loadbalancer: Dictionary of a Load Balancer that has associated"},{"line_number":2013,"context_line":"           health monitors"},{"line_number":2014,"context_line":"    :returns: None"},{"line_number":2015,"context_line":"    \"\"\""}],"source_content_type":"text/x-python","patch_set":16,"id":"828c15bf_9fe7b0ad","line":2012,"in_reply_to":"dc52848a_3bd918b7","updated":"2023-08-22 11:32:18.000000000","message":"let\u0027s address it in a follow-up commit\nI don\u0027t want to rebase again the patch chain and increase the size of this patch.","commit_id":"b15a6e8c7dcdcb83adb5545b7016d0400c2221d1"}],"octavia/db/api.py":[{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"fe901d09073e23345631bf26c8bc3998bc6ef9fe","unresolved":true,"context_lines":[{"line_number":56,"context_line":"    return _get_sessionmaker()()"},{"line_number":57,"context_line":""},{"line_number":58,"context_line":""},{"line_number":59,"context_line":"def session():"},{"line_number":60,"context_line":"    return _get_sessionmaker()"},{"line_number":61,"context_line":""},{"line_number":62,"context_line":""}],"source_content_type":"text/x-python","patch_set":14,"id":"e44c66bb_dc43557f","line":59,"updated":"2023-07-27 22:17:44.000000000","message":"So this patch doesn\u0027t implement the \"reader\" option? Future patch?","commit_id":"291d3ddd2efa98b09e3eabe6a38e30280449e3e1"}],"octavia/db/prepare.py":[{"author":{"_account_id":34429,"name":"Tom Weininger","email":"dienste@weinimo.de","username":"tweining"},"change_message_id":"9c09d7c2a27010da2da510717c292d92174d5d1c","unresolved":true,"context_lines":[{"line_number":169,"context_line":""},{"line_number":170,"context_line":""},{"line_number":171,"context_line":"def create_member(member_dict, pool_id, has_health_monitor\u003dFalse):"},{"line_number":172,"context_line":"    if not member_dict.get(\u0027id\u0027):"},{"line_number":173,"context_line":"        member_dict[\u0027id\u0027] \u003d uuidutils.generate_uuid()"},{"line_number":174,"context_line":"    member_dict[\u0027pool_id\u0027] \u003d pool_id"},{"line_number":175,"context_line":"    member_dict[constants.PROVISIONING_STATUS] \u003d constants.PENDING_CREATE"},{"line_number":176,"context_line":"    if has_health_monitor:"}],"source_content_type":"text/x-python","patch_set":13,"id":"34ce6cc7_23b4178b","line":173,"range":{"start_line":172,"start_character":4,"end_line":173,"end_character":53},"updated":"2023-05-09 16:41:40.000000000","message":"That seems unrelated to sqlalchemy. Can we consider that a fix that should be backported?","commit_id":"9641a8541e74a81b9524530e2b00bb1087aaf5a6"},{"author":{"_account_id":29244,"name":"Gregory Thiemonge","email":"gthiemon@redhat.com","username":"gthiemonge"},"change_message_id":"a664ca0c96eda15a80e1b6b118f963c40f4a1439","unresolved":true,"context_lines":[{"line_number":169,"context_line":""},{"line_number":170,"context_line":""},{"line_number":171,"context_line":"def create_member(member_dict, pool_id, has_health_monitor\u003dFalse):"},{"line_number":172,"context_line":"    if not member_dict.get(\u0027id\u0027):"},{"line_number":173,"context_line":"        member_dict[\u0027id\u0027] \u003d uuidutils.generate_uuid()"},{"line_number":174,"context_line":"    member_dict[\u0027pool_id\u0027] \u003d pool_id"},{"line_number":175,"context_line":"    member_dict[constants.PROVISIONING_STATUS] \u003d constants.PENDING_CREATE"},{"line_number":176,"context_line":"    if has_health_monitor:"}],"source_content_type":"text/x-python","patch_set":13,"id":"db0e9620_d2b56d1e","line":173,"range":{"start_line":172,"start_character":4,"end_line":173,"end_character":53},"in_reply_to":"34ce6cc7_23b4178b","updated":"2023-05-15 08:41:16.000000000","message":"it is related.\nbefore this patch, the creation of the objects was committed in the create methods of repository.py file.\nThe objects that were returned by the create methods contained a valid ID. now that the commit is deferred, ID is not populated, but the octavia code needs an ID before calling commit.","commit_id":"9641a8541e74a81b9524530e2b00bb1087aaf5a6"}],"octavia/db/repositories.py":[{"author":{"_account_id":34429,"name":"Tom Weininger","email":"dienste@weinimo.de","username":"tweining"},"change_message_id":"9c09d7c2a27010da2da510717c292d92174d5d1c","unresolved":true,"context_lines":[{"line_number":247,"context_line":"        :returns: octavia.common.data_models.LoadBalancer"},{"line_number":248,"context_line":"        \"\"\""},{"line_number":249,"context_line":"        additional_vip_dicts \u003d additional_vip_dicts or []"},{"line_number":250,"context_line":"        # TODO(gthiemonge) Check that"},{"line_number":251,"context_line":"        if not lb_dict.get(\u0027id\u0027):"},{"line_number":252,"context_line":"            lb_dict[\u0027id\u0027] \u003d uuidutils.generate_uuid()"},{"line_number":253,"context_line":"        lb \u003d models.LoadBalancer(**lb_dict)"}],"source_content_type":"text/x-python","patch_set":13,"id":"57223649_ec265872","line":250,"range":{"start_line":250,"start_character":8,"end_line":250,"end_character":37},"updated":"2023-05-09 16:41:40.000000000","message":"Can that be removed?","commit_id":"9641a8541e74a81b9524530e2b00bb1087aaf5a6"},{"author":{"_account_id":29244,"name":"Gregory Thiemonge","email":"gthiemon@redhat.com","username":"gthiemonge"},"change_message_id":"a664ca0c96eda15a80e1b6b118f963c40f4a1439","unresolved":false,"context_lines":[{"line_number":247,"context_line":"        :returns: octavia.common.data_models.LoadBalancer"},{"line_number":248,"context_line":"        \"\"\""},{"line_number":249,"context_line":"        additional_vip_dicts \u003d additional_vip_dicts or []"},{"line_number":250,"context_line":"        # TODO(gthiemonge) Check that"},{"line_number":251,"context_line":"        if not lb_dict.get(\u0027id\u0027):"},{"line_number":252,"context_line":"            lb_dict[\u0027id\u0027] \u003d uuidutils.generate_uuid()"},{"line_number":253,"context_line":"        lb \u003d models.LoadBalancer(**lb_dict)"}],"source_content_type":"text/x-python","patch_set":13,"id":"c947cfba_488af7ef","line":250,"range":{"start_line":250,"start_character":8,"end_line":250,"end_character":37},"in_reply_to":"57223649_ec265872","updated":"2023-05-15 08:41:16.000000000","message":"done, this function was checked","commit_id":"9641a8541e74a81b9524530e2b00bb1087aaf5a6"},{"author":{"_account_id":34429,"name":"Tom Weininger","email":"dienste@weinimo.de","username":"tweining"},"change_message_id":"9c09d7c2a27010da2da510717c292d92174d5d1c","unresolved":true,"context_lines":[{"line_number":1108,"context_line":"            stats_obj.amphora_id \u003d stats_obj.listener_id"},{"line_number":1109,"context_line":""},{"line_number":1110,"context_line":"        # TODO(johnsom): This can be simplified/optimized using an \"upsert\""},{"line_number":1111,"context_line":"        count \u003d session.query(self.model_class).filter_by("},{"line_number":1112,"context_line":"            listener_id\u003dstats_obj.listener_id,"},{"line_number":1113,"context_line":"            amphora_id\u003dstats_obj.amphora_id).count()"},{"line_number":1114,"context_line":"        if count:"},{"line_number":1115,"context_line":"            session.query(self.model_class).filter_by("},{"line_number":1116,"context_line":"                listener_id\u003dstats_obj.listener_id,"}],"source_content_type":"text/x-python","patch_set":13,"id":"31855039_54cf4801","line":1113,"range":{"start_line":1111,"start_character":16,"end_line":1113,"end_character":44},"updated":"2023-05-09 16:41:40.000000000","message":"I\u0027m not sure if that would actually make things more efficient, but if you store the return value of that in a variable you will be able to reuse it two lines below, I assume.","commit_id":"9641a8541e74a81b9524530e2b00bb1087aaf5a6"},{"author":{"_account_id":29244,"name":"Gregory Thiemonge","email":"gthiemon@redhat.com","username":"gthiemonge"},"change_message_id":"a664ca0c96eda15a80e1b6b118f963c40f4a1439","unresolved":true,"context_lines":[{"line_number":1108,"context_line":"            stats_obj.amphora_id \u003d stats_obj.listener_id"},{"line_number":1109,"context_line":""},{"line_number":1110,"context_line":"        # TODO(johnsom): This can be simplified/optimized using an \"upsert\""},{"line_number":1111,"context_line":"        count \u003d session.query(self.model_class).filter_by("},{"line_number":1112,"context_line":"            listener_id\u003dstats_obj.listener_id,"},{"line_number":1113,"context_line":"            amphora_id\u003dstats_obj.amphora_id).count()"},{"line_number":1114,"context_line":"        if count:"},{"line_number":1115,"context_line":"            session.query(self.model_class).filter_by("},{"line_number":1116,"context_line":"                listener_id\u003dstats_obj.listener_id,"}],"source_content_type":"text/x-python","patch_set":13,"id":"2fa1364b_872cfe93","line":1113,"range":{"start_line":1111,"start_character":16,"end_line":1113,"end_character":44},"in_reply_to":"31855039_54cf4801","updated":"2023-05-15 08:41:16.000000000","message":"I\u0027m not sure it would be more efficient, internally, sqlalchemy would still make a SELECT first and then an UPDATE.\nthat said I think we could investigate Michael\u0027s TODO comment","commit_id":"9641a8541e74a81b9524530e2b00bb1087aaf5a6"},{"author":{"_account_id":34429,"name":"Tom Weininger","email":"dienste@weinimo.de","username":"tweining"},"change_message_id":"9c09d7c2a27010da2da510717c292d92174d5d1c","unresolved":true,"context_lines":[{"line_number":1885,"context_line":"class QuotasRepository(BaseRepository):"},{"line_number":1886,"context_line":"    model_class \u003d models.Quotas"},{"line_number":1887,"context_line":""},{"line_number":1888,"context_line":"    # This is used with an autocommit session (non-lock_session)"},{"line_number":1889,"context_line":"    # Since this is for the initial quota record creation it locks the table"},{"line_number":1890,"context_line":"    # which can lead to recoverable deadlocks. Thus we use the deadlock"},{"line_number":1891,"context_line":"    # retry wrapper here. This may not be appropriate for other sessions"}],"source_content_type":"text/x-python","patch_set":13,"id":"e13bc48e_d5663d07","line":1888,"range":{"start_line":1888,"start_character":6,"end_line":1888,"end_character":45},"updated":"2023-05-09 16:41:40.000000000","message":"That is no longer true, I guess.","commit_id":"9641a8541e74a81b9524530e2b00bb1087aaf5a6"},{"author":{"_account_id":29244,"name":"Gregory Thiemonge","email":"gthiemon@redhat.com","username":"gthiemonge"},"change_message_id":"a664ca0c96eda15a80e1b6b118f963c40f4a1439","unresolved":false,"context_lines":[{"line_number":1885,"context_line":"class QuotasRepository(BaseRepository):"},{"line_number":1886,"context_line":"    model_class \u003d models.Quotas"},{"line_number":1887,"context_line":""},{"line_number":1888,"context_line":"    # This is used with an autocommit session (non-lock_session)"},{"line_number":1889,"context_line":"    # Since this is for the initial quota record creation it locks the table"},{"line_number":1890,"context_line":"    # which can lead to recoverable deadlocks. Thus we use the deadlock"},{"line_number":1891,"context_line":"    # retry wrapper here. This may not be appropriate for other sessions"}],"source_content_type":"text/x-python","patch_set":13,"id":"974a484c_06d67146","line":1888,"range":{"start_line":1888,"start_character":6,"end_line":1888,"end_character":45},"in_reply_to":"e13bc48e_d5663d07","updated":"2023-05-15 08:41:16.000000000","message":"Done","commit_id":"9641a8541e74a81b9524530e2b00bb1087aaf5a6"}],"octavia/tests/functional/db/test_models.py":[{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"fe901d09073e23345631bf26c8bc3998bc6ef9fe","unresolved":true,"context_lines":[{"line_number":232,"context_line":"        id \u003d pool.id"},{"line_number":233,"context_line":"        self.session.delete(pool)"},{"line_number":234,"context_line":"        self.session.commit()"},{"line_number":235,"context_line":"        self.session.flush()"},{"line_number":236,"context_line":"        new_pool \u003d self.session.query("},{"line_number":237,"context_line":"            models.Pool).filter_by(id\u003did).first()"},{"line_number":238,"context_line":"        self.assertIsNone(new_pool)"}],"source_content_type":"text/x-python","patch_set":14,"id":"1e2bb1ed_ec8be9a8","line":235,"updated":"2023-07-27 22:17:44.000000000","message":"This flush should not be needed as the commit does a flush.","commit_id":"291d3ddd2efa98b09e3eabe6a38e30280449e3e1"},{"author":{"_account_id":29244,"name":"Gregory Thiemonge","email":"gthiemon@redhat.com","username":"gthiemonge"},"change_message_id":"68974b76b0ee3c5d600bb0df4c3089a8f1ff0bb6","unresolved":false,"context_lines":[{"line_number":232,"context_line":"        id \u003d pool.id"},{"line_number":233,"context_line":"        self.session.delete(pool)"},{"line_number":234,"context_line":"        self.session.commit()"},{"line_number":235,"context_line":"        self.session.flush()"},{"line_number":236,"context_line":"        new_pool \u003d self.session.query("},{"line_number":237,"context_line":"            models.Pool).filter_by(id\u003did).first()"},{"line_number":238,"context_line":"        self.assertIsNone(new_pool)"}],"source_content_type":"text/x-python","patch_set":14,"id":"7daee04d_35ba85d0","line":235,"in_reply_to":"1e2bb1ed_ec8be9a8","updated":"2023-08-22 11:32:18.000000000","message":"Done","commit_id":"291d3ddd2efa98b09e3eabe6a38e30280449e3e1"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"fe901d09073e23345631bf26c8bc3998bc6ef9fe","unresolved":true,"context_lines":[{"line_number":316,"context_line":""},{"line_number":317,"context_line":"        self.session.delete(member)"},{"line_number":318,"context_line":"        self.session.commit()"},{"line_number":319,"context_line":"        self.session.flush()"},{"line_number":320,"context_line":""},{"line_number":321,"context_line":"        new_member \u003d self.session.query("},{"line_number":322,"context_line":"            models.Member).filter_by(id\u003dmember_id).first()"}],"source_content_type":"text/x-python","patch_set":14,"id":"ec393962_1167528f","line":319,"updated":"2023-07-27 22:17:44.000000000","message":"This flush should not be needed as the commit does a flush.","commit_id":"291d3ddd2efa98b09e3eabe6a38e30280449e3e1"},{"author":{"_account_id":29244,"name":"Gregory Thiemonge","email":"gthiemon@redhat.com","username":"gthiemonge"},"change_message_id":"68974b76b0ee3c5d600bb0df4c3089a8f1ff0bb6","unresolved":false,"context_lines":[{"line_number":316,"context_line":""},{"line_number":317,"context_line":"        self.session.delete(member)"},{"line_number":318,"context_line":"        self.session.commit()"},{"line_number":319,"context_line":"        self.session.flush()"},{"line_number":320,"context_line":""},{"line_number":321,"context_line":"        new_member \u003d self.session.query("},{"line_number":322,"context_line":"            models.Member).filter_by(id\u003dmember_id).first()"}],"source_content_type":"text/x-python","patch_set":14,"id":"424c69a4_7776e088","line":319,"in_reply_to":"ec393962_1167528f","updated":"2023-08-22 11:32:18.000000000","message":"Done","commit_id":"291d3ddd2efa98b09e3eabe6a38e30280449e3e1"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"fe901d09073e23345631bf26c8bc3998bc6ef9fe","unresolved":true,"context_lines":[{"line_number":430,"context_line":"        listener_id \u003d listener.id"},{"line_number":431,"context_line":"        self.session.delete(listener)"},{"line_number":432,"context_line":"        self.session.commit()"},{"line_number":433,"context_line":"        self.session.flush()"},{"line_number":434,"context_line":"        new_listener \u003d self.session.query("},{"line_number":435,"context_line":"            models.Listener).filter_by(id\u003dlistener_id).first()"},{"line_number":436,"context_line":"        self.assertIsNone(new_listener)"}],"source_content_type":"text/x-python","patch_set":14,"id":"95e3e94f_6977d141","line":433,"updated":"2023-07-27 22:17:44.000000000","message":"This flush should not be needed as the commit does a flush.","commit_id":"291d3ddd2efa98b09e3eabe6a38e30280449e3e1"},{"author":{"_account_id":29244,"name":"Gregory Thiemonge","email":"gthiemon@redhat.com","username":"gthiemonge"},"change_message_id":"68974b76b0ee3c5d600bb0df4c3089a8f1ff0bb6","unresolved":false,"context_lines":[{"line_number":430,"context_line":"        listener_id \u003d listener.id"},{"line_number":431,"context_line":"        self.session.delete(listener)"},{"line_number":432,"context_line":"        self.session.commit()"},{"line_number":433,"context_line":"        self.session.flush()"},{"line_number":434,"context_line":"        new_listener \u003d self.session.query("},{"line_number":435,"context_line":"            models.Listener).filter_by(id\u003dlistener_id).first()"},{"line_number":436,"context_line":"        self.assertIsNone(new_listener)"}],"source_content_type":"text/x-python","patch_set":14,"id":"98a11117_e15996d2","line":433,"in_reply_to":"95e3e94f_6977d141","updated":"2023-08-22 11:32:18.000000000","message":"Done","commit_id":"291d3ddd2efa98b09e3eabe6a38e30280449e3e1"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"fe901d09073e23345631bf26c8bc3998bc6ef9fe","unresolved":true,"context_lines":[{"line_number":584,"context_line":"        lb_id \u003d load_balancer.id"},{"line_number":585,"context_line":"        self.session.delete(load_balancer)"},{"line_number":586,"context_line":"        self.session.commit()"},{"line_number":587,"context_line":"        self.session.flush()"},{"line_number":588,"context_line":"        new_load_balancer \u003d self.session.query("},{"line_number":589,"context_line":"            models.LoadBalancer).filter_by(id\u003dlb_id).first()"},{"line_number":590,"context_line":"        self.assertIsNone(new_load_balancer)"}],"source_content_type":"text/x-python","patch_set":14,"id":"646fde24_c1573cb3","line":587,"updated":"2023-07-27 22:17:44.000000000","message":"This flush should not be needed as the commit does a flush.","commit_id":"291d3ddd2efa98b09e3eabe6a38e30280449e3e1"},{"author":{"_account_id":29244,"name":"Gregory Thiemonge","email":"gthiemon@redhat.com","username":"gthiemonge"},"change_message_id":"68974b76b0ee3c5d600bb0df4c3089a8f1ff0bb6","unresolved":false,"context_lines":[{"line_number":584,"context_line":"        lb_id \u003d load_balancer.id"},{"line_number":585,"context_line":"        self.session.delete(load_balancer)"},{"line_number":586,"context_line":"        self.session.commit()"},{"line_number":587,"context_line":"        self.session.flush()"},{"line_number":588,"context_line":"        new_load_balancer \u003d self.session.query("},{"line_number":589,"context_line":"            models.LoadBalancer).filter_by(id\u003dlb_id).first()"},{"line_number":590,"context_line":"        self.assertIsNone(new_load_balancer)"}],"source_content_type":"text/x-python","patch_set":14,"id":"677ef854_5f55eef6","line":587,"in_reply_to":"646fde24_c1573cb3","updated":"2023-08-22 11:32:18.000000000","message":"Done","commit_id":"291d3ddd2efa98b09e3eabe6a38e30280449e3e1"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"fe901d09073e23345631bf26c8bc3998bc6ef9fe","unresolved":true,"context_lines":[{"line_number":793,"context_line":"        l7policy_id \u003d l7policy.id"},{"line_number":794,"context_line":"        self.session.delete(l7policy)"},{"line_number":795,"context_line":"        self.session.commit()"},{"line_number":796,"context_line":"        self.session.flush()"},{"line_number":797,"context_line":"        new_l7policy \u003d self.session.query("},{"line_number":798,"context_line":"            models.L7Policy).filter_by(id\u003dl7policy_id).first()"},{"line_number":799,"context_line":"        self.assertIsNone(new_l7policy)"}],"source_content_type":"text/x-python","patch_set":14,"id":"89742c6e_76926ff8","line":796,"updated":"2023-07-27 22:17:44.000000000","message":"This flush should not be needed as the commit does a flush.","commit_id":"291d3ddd2efa98b09e3eabe6a38e30280449e3e1"},{"author":{"_account_id":29244,"name":"Gregory Thiemonge","email":"gthiemon@redhat.com","username":"gthiemonge"},"change_message_id":"68974b76b0ee3c5d600bb0df4c3089a8f1ff0bb6","unresolved":false,"context_lines":[{"line_number":793,"context_line":"        l7policy_id \u003d l7policy.id"},{"line_number":794,"context_line":"        self.session.delete(l7policy)"},{"line_number":795,"context_line":"        self.session.commit()"},{"line_number":796,"context_line":"        self.session.flush()"},{"line_number":797,"context_line":"        new_l7policy \u003d self.session.query("},{"line_number":798,"context_line":"            models.L7Policy).filter_by(id\u003dl7policy_id).first()"},{"line_number":799,"context_line":"        self.assertIsNone(new_l7policy)"}],"source_content_type":"text/x-python","patch_set":14,"id":"ca033075_97af2ce5","line":796,"in_reply_to":"89742c6e_76926ff8","updated":"2023-08-22 11:32:18.000000000","message":"Done","commit_id":"291d3ddd2efa98b09e3eabe6a38e30280449e3e1"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"fe901d09073e23345631bf26c8bc3998bc6ef9fe","unresolved":true,"context_lines":[{"line_number":914,"context_line":"        l7rule_id \u003d l7rule.id"},{"line_number":915,"context_line":"        self.session.delete(l7rule)"},{"line_number":916,"context_line":"        self.session.commit()"},{"line_number":917,"context_line":"        self.session.flush()"},{"line_number":918,"context_line":"        new_l7rule \u003d self.session.query("},{"line_number":919,"context_line":"            models.L7Rule).filter_by(id\u003dl7rule_id).first()"},{"line_number":920,"context_line":"        self.assertIsNone(new_l7rule)"}],"source_content_type":"text/x-python","patch_set":14,"id":"645acd2c_58690674","line":917,"updated":"2023-07-27 22:17:44.000000000","message":"This flush should not be needed as the commit does a flush.","commit_id":"291d3ddd2efa98b09e3eabe6a38e30280449e3e1"},{"author":{"_account_id":29244,"name":"Gregory Thiemonge","email":"gthiemon@redhat.com","username":"gthiemonge"},"change_message_id":"68974b76b0ee3c5d600bb0df4c3089a8f1ff0bb6","unresolved":false,"context_lines":[{"line_number":914,"context_line":"        l7rule_id \u003d l7rule.id"},{"line_number":915,"context_line":"        self.session.delete(l7rule)"},{"line_number":916,"context_line":"        self.session.commit()"},{"line_number":917,"context_line":"        self.session.flush()"},{"line_number":918,"context_line":"        new_l7rule \u003d self.session.query("},{"line_number":919,"context_line":"            models.L7Rule).filter_by(id\u003dl7rule_id).first()"},{"line_number":920,"context_line":"        self.assertIsNone(new_l7rule)"}],"source_content_type":"text/x-python","patch_set":14,"id":"f3f1b2b8_c1f4b71a","line":917,"in_reply_to":"645acd2c_58690674","updated":"2023-08-22 11:32:18.000000000","message":"Done","commit_id":"291d3ddd2efa98b09e3eabe6a38e30280449e3e1"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"fe901d09073e23345631bf26c8bc3998bc6ef9fe","unresolved":true,"context_lines":[{"line_number":1833,"context_line":""},{"line_number":1834,"context_line":"        self.session.delete(flavor)"},{"line_number":1835,"context_line":"        self.session.commit()"},{"line_number":1836,"context_line":"        self.session.flush()"},{"line_number":1837,"context_line":""},{"line_number":1838,"context_line":"        new_flavor \u003d self.session.query("},{"line_number":1839,"context_line":"            models.Flavor).filter_by(id\u003did).first()"}],"source_content_type":"text/x-python","patch_set":14,"id":"2f105ed3_1c2c9e05","line":1836,"updated":"2023-07-27 22:17:44.000000000","message":"This flush should not be needed as the commit does a flush.","commit_id":"291d3ddd2efa98b09e3eabe6a38e30280449e3e1"},{"author":{"_account_id":29244,"name":"Gregory Thiemonge","email":"gthiemon@redhat.com","username":"gthiemonge"},"change_message_id":"68974b76b0ee3c5d600bb0df4c3089a8f1ff0bb6","unresolved":false,"context_lines":[{"line_number":1833,"context_line":""},{"line_number":1834,"context_line":"        self.session.delete(flavor)"},{"line_number":1835,"context_line":"        self.session.commit()"},{"line_number":1836,"context_line":"        self.session.flush()"},{"line_number":1837,"context_line":""},{"line_number":1838,"context_line":"        new_flavor \u003d self.session.query("},{"line_number":1839,"context_line":"            models.Flavor).filter_by(id\u003did).first()"}],"source_content_type":"text/x-python","patch_set":14,"id":"07a384a1_6b5fc014","line":1836,"in_reply_to":"2f105ed3_1c2c9e05","updated":"2023-08-22 11:32:18.000000000","message":"Done","commit_id":"291d3ddd2efa98b09e3eabe6a38e30280449e3e1"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"fe901d09073e23345631bf26c8bc3998bc6ef9fe","unresolved":true,"context_lines":[{"line_number":1857,"context_line":""},{"line_number":1858,"context_line":"        self.session.delete(fp)"},{"line_number":1859,"context_line":"        self.session.commit()"},{"line_number":1860,"context_line":"        self.session.flush()"},{"line_number":1861,"context_line":"        new_fp \u003d self.session.query("},{"line_number":1862,"context_line":"            models.FlavorProfile).filter_by(id\u003did).first()"},{"line_number":1863,"context_line":"        self.assertIsNone(new_fp)"}],"source_content_type":"text/x-python","patch_set":14,"id":"57697e3c_5ca1d5c7","line":1860,"updated":"2023-07-27 22:17:44.000000000","message":"This flush should not be needed as the commit does a flush.","commit_id":"291d3ddd2efa98b09e3eabe6a38e30280449e3e1"},{"author":{"_account_id":29244,"name":"Gregory Thiemonge","email":"gthiemon@redhat.com","username":"gthiemonge"},"change_message_id":"68974b76b0ee3c5d600bb0df4c3089a8f1ff0bb6","unresolved":false,"context_lines":[{"line_number":1857,"context_line":""},{"line_number":1858,"context_line":"        self.session.delete(fp)"},{"line_number":1859,"context_line":"        self.session.commit()"},{"line_number":1860,"context_line":"        self.session.flush()"},{"line_number":1861,"context_line":"        new_fp \u003d self.session.query("},{"line_number":1862,"context_line":"            models.FlavorProfile).filter_by(id\u003did).first()"},{"line_number":1863,"context_line":"        self.assertIsNone(new_fp)"}],"source_content_type":"text/x-python","patch_set":14,"id":"0e7a1e7b_2169a01e","line":1860,"in_reply_to":"57697e3c_5ca1d5c7","updated":"2023-08-22 11:32:18.000000000","message":"Done","commit_id":"291d3ddd2efa98b09e3eabe6a38e30280449e3e1"}],"octavia/tests/functional/db/test_repositories.py":[{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"fe901d09073e23345631bf26c8bc3998bc6ef9fe","unresolved":true,"context_lines":[{"line_number":2764,"context_line":"        self.assertEqual(pool.project_id, new_listener.default_pool.project_id)"},{"line_number":2765,"context_line":"        self.pool_repo.delete(self.session, id\u003dpool.id)"},{"line_number":2766,"context_line":"        self.session.commit()"},{"line_number":2767,"context_line":"        self.session.commit()"},{"line_number":2768,"context_line":"        new_listener \u003d self.listener_repo.get(self.session, id\u003dlistener.id)"},{"line_number":2769,"context_line":"        self.assertIsNone(new_listener.default_pool)"},{"line_number":2770,"context_line":""}],"source_content_type":"text/x-python","patch_set":14,"id":"12671266_a130a064","line":2767,"updated":"2023-07-27 22:17:44.000000000","message":"This second commit is unnecessary.","commit_id":"291d3ddd2efa98b09e3eabe6a38e30280449e3e1"},{"author":{"_account_id":29244,"name":"Gregory Thiemonge","email":"gthiemon@redhat.com","username":"gthiemonge"},"change_message_id":"68974b76b0ee3c5d600bb0df4c3089a8f1ff0bb6","unresolved":false,"context_lines":[{"line_number":2764,"context_line":"        self.assertEqual(pool.project_id, new_listener.default_pool.project_id)"},{"line_number":2765,"context_line":"        self.pool_repo.delete(self.session, id\u003dpool.id)"},{"line_number":2766,"context_line":"        self.session.commit()"},{"line_number":2767,"context_line":"        self.session.commit()"},{"line_number":2768,"context_line":"        new_listener \u003d self.listener_repo.get(self.session, id\u003dlistener.id)"},{"line_number":2769,"context_line":"        self.assertIsNone(new_listener.default_pool)"},{"line_number":2770,"context_line":""}],"source_content_type":"text/x-python","patch_set":14,"id":"84d51a36_07a97b92","line":2767,"in_reply_to":"12671266_a130a064","updated":"2023-08-22 11:32:18.000000000","message":"Done","commit_id":"291d3ddd2efa98b09e3eabe6a38e30280449e3e1"}]}
