)]}'
{"panko/cmd/storage.py":[{"author":{"_account_id":14107,"name":"zhurong","email":"aaronzhu1121@gmail.com","username":"zhurong"},"change_message_id":"ed1b8ee221cb2cefd1b2513ede869f9265d6d1e4","unresolved":false,"context_lines":[{"line_number":44,"context_line":"                deleted \u003d conn.clear_expired_data("},{"line_number":45,"context_line":"                    conf.database.event_time_to_live,"},{"line_number":46,"context_line":"                    max_count)"},{"line_number":47,"context_line":"        else:"},{"line_number":48,"context_line":"            LOG.info(\"Nothing to clean, database event time to live \""},{"line_number":49,"context_line":"                     \"is disabled\")"},{"line_number":50,"context_line":"    else:"}],"source_content_type":"text/x-python","patch_set":5,"id":"bf51134e_f89191f3","line":47,"updated":"2020-06-13 01:33:15.000000000","message":"what about max_count \u003d 0, as the help text about max_count, max_count \u003c\u003d0 is mean all.","commit_id":"05a76a14ea93cc35ed2b1357070fb70620ebbcfe"},{"author":{"_account_id":1736,"name":"Ivan Kolodyazhny","email":"e0ne@e0ne.info","username":"e0ne"},"change_message_id":"cef17096002964e1ec08796de20640f10c69d47c","unresolved":false,"context_lines":[{"line_number":44,"context_line":"                deleted \u003d conn.clear_expired_data("},{"line_number":45,"context_line":"                    conf.database.event_time_to_live,"},{"line_number":46,"context_line":"                    max_count)"},{"line_number":47,"context_line":"        else:"},{"line_number":48,"context_line":"            LOG.info(\"Nothing to clean, database event time to live \""},{"line_number":49,"context_line":"                     \"is disabled\")"},{"line_number":50,"context_line":"    else:"}],"source_content_type":"text/x-python","patch_set":5,"id":"bf51134e_780d7636","line":47,"in_reply_to":"bf51134e_f89191f3","updated":"2020-06-15 09:30:31.000000000","message":"Done","commit_id":"05a76a14ea93cc35ed2b1357070fb70620ebbcfe"},{"author":{"_account_id":14107,"name":"zhurong","email":"aaronzhu1121@gmail.com","username":"zhurong"},"change_message_id":"ed1b8ee221cb2cefd1b2513ede869f9265d6d1e4","unresolved":false,"context_lines":[{"line_number":45,"context_line":"                    conf.database.event_time_to_live,"},{"line_number":46,"context_line":"                    max_count)"},{"line_number":47,"context_line":"        else:"},{"line_number":48,"context_line":"            LOG.info(\"Nothing to clean, database event time to live \""},{"line_number":49,"context_line":"                     \"is disabled\")"},{"line_number":50,"context_line":"    else:"},{"line_number":51,"context_line":"        LOG.info(\"Nothing to clean, database event time to live \""}],"source_content_type":"text/x-python","patch_set":5,"id":"bf51134e_38bdc968","line":48,"range":{"start_line":48,"start_character":33,"end_line":48,"end_character":67},"updated":"2020-06-13 01:33:15.000000000","message":"log message should change","commit_id":"05a76a14ea93cc35ed2b1357070fb70620ebbcfe"},{"author":{"_account_id":12356,"name":"Vladyslav Drok","email":"vdrok@mirantis.com","username":"vdrok"},"change_message_id":"8232c81f31e05c1b4162287e0a4ba863f3cd8d58","unresolved":false,"context_lines":[{"line_number":37,"context_line":"        max_count \u003d conf.database.events_delete_batch_size"},{"line_number":38,"context_line":"        if max_count \u003e 0:"},{"line_number":39,"context_line":"            conn.clear_expired_data(conf.database.event_time_to_live,"},{"line_number":40,"context_line":"                                    max_count)"},{"line_number":41,"context_line":"        else:"},{"line_number":42,"context_line":"            deleted \u003d max_count \u003d 100"},{"line_number":43,"context_line":"            while deleted and deleted \u003e 0:"}],"source_content_type":"text/x-python","patch_set":10,"id":"bf51134e_79e95fb5","line":40,"updated":"2020-06-23 15:16:09.000000000","message":"just in case there are out of tree drivers, maybe catch TypeError here?","commit_id":"0098f1823df1dd1cdcee0cfa1eaed60c31c9b8f7"},{"author":{"_account_id":1736,"name":"Ivan Kolodyazhny","email":"e0ne@e0ne.info","username":"e0ne"},"change_message_id":"7167885cd21a05def81cb22085720bdec03be485","unresolved":false,"context_lines":[{"line_number":37,"context_line":"        max_count \u003d conf.database.events_delete_batch_size"},{"line_number":38,"context_line":"        if max_count \u003e 0:"},{"line_number":39,"context_line":"            conn.clear_expired_data(conf.database.event_time_to_live,"},{"line_number":40,"context_line":"                                    max_count)"},{"line_number":41,"context_line":"        else:"},{"line_number":42,"context_line":"            deleted \u003d max_count \u003d 100"},{"line_number":43,"context_line":"            while deleted and deleted \u003e 0:"}],"source_content_type":"text/x-python","patch_set":10,"id":"bf51134e_4bd8f31c","line":40,"in_reply_to":"bf51134e_79e95fb5","updated":"2020-06-24 09:56:42.000000000","message":"It makes sense","commit_id":"0098f1823df1dd1cdcee0cfa1eaed60c31c9b8f7"},{"author":{"_account_id":9542,"name":"Pavlo Shchelokovskyy","email":"pshchelokovskyy@mirantis.com","username":"pshchelo"},"change_message_id":"75d7d884a849a029f95adb5480da534397ded791","unresolved":false,"context_lines":[{"line_number":39,"context_line":"            conn.clear_expired_data(conf.database.event_time_to_live,"},{"line_number":40,"context_line":"                                    max_count)"},{"line_number":41,"context_line":"        else:"},{"line_number":42,"context_line":"            deleted \u003d max_count \u003d 100"},{"line_number":43,"context_line":"            while deleted and deleted \u003e 0:"},{"line_number":44,"context_line":"                deleted \u003d conn.clear_expired_data("},{"line_number":45,"context_line":"                    conf.database.event_time_to_live,"}],"source_content_type":"text/x-python","patch_set":10,"id":"bf51134e_343bf438","line":42,"range":{"start_line":42,"start_character":31,"end_line":42,"end_character":37},"updated":"2020-06-16 10:16:41.000000000","message":"still overriding that back to 100\n\nnow it contradicts the config option description which says \"0 means in one shot\"","commit_id":"0098f1823df1dd1cdcee0cfa1eaed60c31c9b8f7"},{"author":{"_account_id":1736,"name":"Ivan Kolodyazhny","email":"e0ne@e0ne.info","username":"e0ne"},"change_message_id":"bad1c1389b40ce07abd6795c25ff476a210a9a6e","unresolved":false,"context_lines":[{"line_number":39,"context_line":"            conn.clear_expired_data(conf.database.event_time_to_live,"},{"line_number":40,"context_line":"                                    max_count)"},{"line_number":41,"context_line":"        else:"},{"line_number":42,"context_line":"            deleted \u003d max_count \u003d 100"},{"line_number":43,"context_line":"            while deleted and deleted \u003e 0:"},{"line_number":44,"context_line":"                deleted \u003d conn.clear_expired_data("},{"line_number":45,"context_line":"                    conf.database.event_time_to_live,"}],"source_content_type":"text/x-python","patch_set":10,"id":"bf51134e_57dcaa73","line":42,"range":{"start_line":42,"start_character":31,"end_line":42,"end_character":37},"in_reply_to":"bf51134e_343bf438","updated":"2020-06-16 10:42:20.000000000","message":"It will remove all records with batch_size \u003d 100","commit_id":"0098f1823df1dd1cdcee0cfa1eaed60c31c9b8f7"},{"author":{"_account_id":9542,"name":"Pavlo Shchelokovskyy","email":"pshchelokovskyy@mirantis.com","username":"pshchelo"},"change_message_id":"3983b3a1fedadf738781f706f6a80661d58c1fb1","unresolved":false,"context_lines":[{"line_number":39,"context_line":"            conn.clear_expired_data(conf.database.event_time_to_live,"},{"line_number":40,"context_line":"                                    max_count)"},{"line_number":41,"context_line":"        else:"},{"line_number":42,"context_line":"            deleted \u003d max_count \u003d 100"},{"line_number":43,"context_line":"            while deleted and deleted \u003e 0:"},{"line_number":44,"context_line":"                deleted \u003d conn.clear_expired_data("},{"line_number":45,"context_line":"                    conf.database.event_time_to_live,"}],"source_content_type":"text/x-python","patch_set":10,"id":"bf51134e_da4c6178","line":42,"range":{"start_line":42,"start_character":31,"end_line":42,"end_character":37},"in_reply_to":"bf51134e_57dcaa73","updated":"2020-06-16 11:28:56.000000000","message":"may be with configurable batch size ?","commit_id":"0098f1823df1dd1cdcee0cfa1eaed60c31c9b8f7"},{"author":{"_account_id":12356,"name":"Vladyslav Drok","email":"vdrok@mirantis.com","username":"vdrok"},"change_message_id":"8232c81f31e05c1b4162287e0a4ba863f3cd8d58","unresolved":false,"context_lines":[{"line_number":39,"context_line":"            conn.clear_expired_data(conf.database.event_time_to_live,"},{"line_number":40,"context_line":"                                    max_count)"},{"line_number":41,"context_line":"        else:"},{"line_number":42,"context_line":"            deleted \u003d max_count \u003d 100"},{"line_number":43,"context_line":"            while deleted and deleted \u003e 0:"},{"line_number":44,"context_line":"                deleted \u003d conn.clear_expired_data("},{"line_number":45,"context_line":"                    conf.database.event_time_to_live,"}],"source_content_type":"text/x-python","patch_set":10,"id":"bf51134e_b992d755","line":42,"range":{"start_line":42,"start_character":31,"end_line":42,"end_character":37},"in_reply_to":"bf51134e_95061686","updated":"2020-06-23 15:16:09.000000000","message":"I think it is ok to have hardcoded batch size, in nova for online db migrations if max_count is not specified it is hardcoded to 50. but the docstring needs to be made a bit more clear","commit_id":"0098f1823df1dd1cdcee0cfa1eaed60c31c9b8f7"},{"author":{"_account_id":1736,"name":"Ivan Kolodyazhny","email":"e0ne@e0ne.info","username":"e0ne"},"change_message_id":"393c9e6cf901803909d3ef219e13f3ee88eae242","unresolved":false,"context_lines":[{"line_number":39,"context_line":"            conn.clear_expired_data(conf.database.event_time_to_live,"},{"line_number":40,"context_line":"                                    max_count)"},{"line_number":41,"context_line":"        else:"},{"line_number":42,"context_line":"            deleted \u003d max_count \u003d 100"},{"line_number":43,"context_line":"            while deleted and deleted \u003e 0:"},{"line_number":44,"context_line":"                deleted \u003d conn.clear_expired_data("},{"line_number":45,"context_line":"                    conf.database.event_time_to_live,"}],"source_content_type":"text/x-python","patch_set":10,"id":"bf51134e_95061686","line":42,"range":{"start_line":42,"start_character":31,"end_line":42,"end_character":37},"in_reply_to":"bf51134e_da4c6178","updated":"2020-06-17 21:25:38.000000000","message":"Ideally yes, but I\u0027m trying to keep existing behaviour after the upgrade and do not introduce a lot of config options","commit_id":"0098f1823df1dd1cdcee0cfa1eaed60c31c9b8f7"},{"author":{"_account_id":12356,"name":"Vladyslav Drok","email":"vdrok@mirantis.com","username":"vdrok"},"change_message_id":"8232c81f31e05c1b4162287e0a4ba863f3cd8d58","unresolved":false,"context_lines":[{"line_number":40,"context_line":"                                    max_count)"},{"line_number":41,"context_line":"        else:"},{"line_number":42,"context_line":"            deleted \u003d max_count \u003d 100"},{"line_number":43,"context_line":"            while deleted and deleted \u003e 0:"},{"line_number":44,"context_line":"                deleted \u003d conn.clear_expired_data("},{"line_number":45,"context_line":"                    conf.database.event_time_to_live,"},{"line_number":46,"context_line":"                    max_count)"}],"source_content_type":"text/x-python","patch_set":10,"id":"bf51134e_598bbb1d","line":43,"range":{"start_line":43,"start_character":26,"end_line":43,"end_character":41},"updated":"2020-06-23 15:16:09.000000000","message":"i think this bit is not necessary, unless sqlalchemy can return negative number of rows as the result","commit_id":"0098f1823df1dd1cdcee0cfa1eaed60c31c9b8f7"},{"author":{"_account_id":1736,"name":"Ivan Kolodyazhny","email":"e0ne@e0ne.info","username":"e0ne"},"change_message_id":"7167885cd21a05def81cb22085720bdec03be485","unresolved":false,"context_lines":[{"line_number":40,"context_line":"                                    max_count)"},{"line_number":41,"context_line":"        else:"},{"line_number":42,"context_line":"            deleted \u003d max_count \u003d 100"},{"line_number":43,"context_line":"            while deleted and deleted \u003e 0:"},{"line_number":44,"context_line":"                deleted \u003d conn.clear_expired_data("},{"line_number":45,"context_line":"                    conf.database.event_time_to_live,"},{"line_number":46,"context_line":"                    max_count)"}],"source_content_type":"text/x-python","patch_set":10,"id":"bf51134e_cbe403e3","line":43,"range":{"start_line":43,"start_character":26,"end_line":43,"end_character":41},"in_reply_to":"bf51134e_598bbb1d","updated":"2020-06-24 09:56:42.000000000","message":"SQLAlchemy return None if no records are deleted","commit_id":"0098f1823df1dd1cdcee0cfa1eaed60c31c9b8f7"}],"panko/storage/__init__.py":[{"author":{"_account_id":9542,"name":"Pavlo Shchelokovskyy","email":"pshchelokovskyy@mirantis.com","username":"pshchelo"},"change_message_id":"6a715c7abb2b0895d0f4cb82e2ec15f757ad8ece","unresolved":false,"context_lines":[{"line_number":34,"context_line":"                     \"in the database for (\u003c\u003d 0 means forever).\")),"},{"line_number":35,"context_line":"    cfg.IntOpt(\u0027events_to_delete\u0027,"},{"line_number":36,"context_line":"               default\u003d100,"},{"line_number":37,"context_line":"               help\u003d(\"Number of seconds to be deleted in one iteration \""},{"line_number":38,"context_line":"                     \"from the database for (\u003c\u003d 0 means all).\")),"},{"line_number":39,"context_line":"    cfg.StrOpt(\u0027event_connection\u0027,"},{"line_number":40,"context_line":"               secret\u003dTrue,"}],"source_content_type":"text/x-python","patch_set":6,"id":"bf51134e_b86f0e91","line":37,"range":{"start_line":37,"start_character":32,"end_line":37,"end_character":39},"updated":"2020-06-15 09:43:53.000000000","message":"events?","commit_id":"066c915831b46e03c5de37347ae20e3a1603f8d8"},{"author":{"_account_id":9542,"name":"Pavlo Shchelokovskyy","email":"pshchelokovskyy@mirantis.com","username":"pshchelo"},"change_message_id":"af216f8a2377ac3b9465e52a385c29b854ae59c4","unresolved":false,"context_lines":[{"line_number":32,"context_line":"               default\u003d-1,"},{"line_number":33,"context_line":"               help\u003d(\"Number of seconds that events are kept \""},{"line_number":34,"context_line":"                     \"in the database for (\u003c\u003d 0 means forever).\")),"},{"line_number":35,"context_line":"    cfg.IntOpt(\u0027events_to_delete\u0027,"},{"line_number":36,"context_line":"               default\u003d100,"},{"line_number":37,"context_line":"               help\u003d(\"Number of events to be deleted in one iteration \""},{"line_number":38,"context_line":"                     \"from the database for (\u003c\u003d 0 means all).\")),"}],"source_content_type":"text/x-python","patch_set":7,"id":"bf51134e_331cbf69","line":35,"range":{"start_line":35,"start_character":16,"end_line":35,"end_character":32},"updated":"2020-06-15 10:43:51.000000000","message":"let\u0027s rename this to events_delete_batch_size, int opt, default\u003d100, min\u003d1","commit_id":"3442be328874cdc7c425822e3d52bb45186cb3a9"},{"author":{"_account_id":1736,"name":"Ivan Kolodyazhny","email":"e0ne@e0ne.info","username":"e0ne"},"change_message_id":"703e974184881a8aa946a9e54a3b2995201dce04","unresolved":false,"context_lines":[{"line_number":32,"context_line":"               default\u003d-1,"},{"line_number":33,"context_line":"               help\u003d(\"Number of seconds that events are kept \""},{"line_number":34,"context_line":"                     \"in the database for (\u003c\u003d 0 means forever).\")),"},{"line_number":35,"context_line":"    cfg.IntOpt(\u0027events_to_delete\u0027,"},{"line_number":36,"context_line":"               default\u003d100,"},{"line_number":37,"context_line":"               help\u003d(\"Number of events to be deleted in one iteration \""},{"line_number":38,"context_line":"                     \"from the database for (\u003c\u003d 0 means all).\")),"}],"source_content_type":"text/x-python","patch_set":7,"id":"bf51134e_e4f8bf7d","line":35,"range":{"start_line":35,"start_character":16,"end_line":35,"end_character":32},"in_reply_to":"bf51134e_331cbf69","updated":"2020-06-15 14:16:49.000000000","message":"Done","commit_id":"3442be328874cdc7c425822e3d52bb45186cb3a9"}],"panko/storage/impl_mongodb.py":[{"author":{"_account_id":12356,"name":"Vladyslav Drok","email":"vdrok@mirantis.com","username":"vdrok"},"change_message_id":"8232c81f31e05c1b4162287e0a4ba863f3cd8d58","unresolved":false,"context_lines":[{"line_number":96,"context_line":"        # Connection will be reopened automatically if needed"},{"line_number":97,"context_line":"        self.conn.close()"},{"line_number":98,"context_line":""},{"line_number":99,"context_line":"    def clear_expired_data(self, ttl, max_count):"},{"line_number":100,"context_line":"        \"\"\"Clear expired data from the backend storage system."},{"line_number":101,"context_line":""},{"line_number":102,"context_line":"        Clearing occurs according to the time-to-live."}],"source_content_type":"text/x-python","patch_set":10,"id":"bf51134e_f9d44feb","line":99,"range":{"start_line":99,"start_character":38,"end_line":99,"end_character":47},"updated":"2020-06-23 15:16:09.000000000","message":"as this is not used in some backends, maybe it makes sense to make it optional in the base class? having the default of None","commit_id":"0098f1823df1dd1cdcee0cfa1eaed60c31c9b8f7"},{"author":{"_account_id":1736,"name":"Ivan Kolodyazhny","email":"e0ne@e0ne.info","username":"e0ne"},"change_message_id":"7167885cd21a05def81cb22085720bdec03be485","unresolved":false,"context_lines":[{"line_number":96,"context_line":"        # Connection will be reopened automatically if needed"},{"line_number":97,"context_line":"        self.conn.close()"},{"line_number":98,"context_line":""},{"line_number":99,"context_line":"    def clear_expired_data(self, ttl, max_count):"},{"line_number":100,"context_line":"        \"\"\"Clear expired data from the backend storage system."},{"line_number":101,"context_line":""},{"line_number":102,"context_line":"        Clearing occurs according to the time-to-live."}],"source_content_type":"text/x-python","patch_set":10,"id":"bf51134e_2bc01f2a","line":99,"range":{"start_line":99,"start_character":38,"end_line":99,"end_character":47},"in_reply_to":"bf51134e_f9d44feb","updated":"2020-06-24 09:56:42.000000000","message":"Good point, will fix it in a next patch","commit_id":"0098f1823df1dd1cdcee0cfa1eaed60c31c9b8f7"}],"panko/storage/impl_sqlalchemy.py":[{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"10960050c5dc5dbf20b27173a98c331f352090fc","unresolved":false,"context_lines":[{"line_number":473,"context_line":"        with session.begin():"},{"line_number":474,"context_line":"            end \u003d timeutils.utcnow() - datetime.timedelta(seconds\u003dttl)"},{"line_number":475,"context_line":"            event_q \u003d (session.query(models.Event.id)"},{"line_number":476,"context_line":"                       .filter(models.Event.generated \u003c end))"},{"line_number":477,"context_line":""},{"line_number":478,"context_line":"            event_subq \u003d event_q.subquery()"},{"line_number":479,"context_line":"            ids \u003d [i[0] for i in event_q.limit(batch_size)]"}],"source_content_type":"text/x-python","patch_set":2,"id":"ff570b3c_f2d3b05e","line":476,"updated":"2020-06-03 12:14:27.000000000","message":"pep8: F841 local variable \u0027event_subq\u0027 is assigned to but never used","commit_id":"95857b65fa747554d4db79c1eea7e66602bc05e2"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"10960050c5dc5dbf20b27173a98c331f352090fc","unresolved":false,"context_lines":[{"line_number":478,"context_line":"            event_subq \u003d event_q.subquery()"},{"line_number":479,"context_line":"            ids \u003d [i[0] for i in event_q.limit(batch_size)]"},{"line_number":480,"context_line":"            for trait_model in [models.TraitText, models.TraitInt,"},{"line_number":481,"context_line":"                    models.TraitFloat, models.TraitDatetime]:"},{"line_number":482,"context_line":"                session.query(trait_model).filter(trait_model.event_id.in_(ids)).delete(synchronize_session\u003d\"fetch\")"},{"line_number":483,"context_line":"            event_rows \u003d session.query(models.Event).filter(models.Event.id.in_(ids)).delete(synchronize_session\u003d\"fetch\")"},{"line_number":484,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"ff570b3c_d2d66c4f","line":481,"updated":"2020-06-03 12:14:27.000000000","message":"pep8: E128 continuation line under-indented for visual indent","commit_id":"95857b65fa747554d4db79c1eea7e66602bc05e2"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"10960050c5dc5dbf20b27173a98c331f352090fc","unresolved":false,"context_lines":[{"line_number":479,"context_line":"            ids \u003d [i[0] for i in event_q.limit(batch_size)]"},{"line_number":480,"context_line":"            for trait_model in [models.TraitText, models.TraitInt,"},{"line_number":481,"context_line":"                    models.TraitFloat, models.TraitDatetime]:"},{"line_number":482,"context_line":"                session.query(trait_model).filter(trait_model.event_id.in_(ids)).delete(synchronize_session\u003d\"fetch\")"},{"line_number":483,"context_line":"            event_rows \u003d session.query(models.Event).filter(models.Event.id.in_(ids)).delete(synchronize_session\u003d\"fetch\")"},{"line_number":484,"context_line":""},{"line_number":485,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"ff570b3c_32ca48a0","line":482,"updated":"2020-06-03 12:14:27.000000000","message":"pep8: E501 line too long (116 \u003e 79 characters)","commit_id":"95857b65fa747554d4db79c1eea7e66602bc05e2"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"10960050c5dc5dbf20b27173a98c331f352090fc","unresolved":false,"context_lines":[{"line_number":480,"context_line":"            for trait_model in [models.TraitText, models.TraitInt,"},{"line_number":481,"context_line":"                    models.TraitFloat, models.TraitDatetime]:"},{"line_number":482,"context_line":"                session.query(trait_model).filter(trait_model.event_id.in_(ids)).delete(synchronize_session\u003d\"fetch\")"},{"line_number":483,"context_line":"            event_rows \u003d session.query(models.Event).filter(models.Event.id.in_(ids)).delete(synchronize_session\u003d\"fetch\")"},{"line_number":484,"context_line":""},{"line_number":485,"context_line":""},{"line_number":486,"context_line":"            # remove EventType and TraitType with no corresponding"}],"source_content_type":"text/x-python","patch_set":2,"id":"ff570b3c_12cd84b6","line":483,"updated":"2020-06-03 12:14:27.000000000","message":"pep8: E501 line too long (121 \u003e 79 characters)","commit_id":"95857b65fa747554d4db79c1eea7e66602bc05e2"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"10960050c5dc5dbf20b27173a98c331f352090fc","unresolved":false,"context_lines":[{"line_number":481,"context_line":"                    models.TraitFloat, models.TraitDatetime]:"},{"line_number":482,"context_line":"                session.query(trait_model).filter(trait_model.event_id.in_(ids)).delete(synchronize_session\u003d\"fetch\")"},{"line_number":483,"context_line":"            event_rows \u003d session.query(models.Event).filter(models.Event.id.in_(ids)).delete(synchronize_session\u003d\"fetch\")"},{"line_number":484,"context_line":""},{"line_number":485,"context_line":""},{"line_number":486,"context_line":"            # remove EventType and TraitType with no corresponding"},{"line_number":487,"context_line":"            (session.query(models.EventType)"}],"source_content_type":"text/x-python","patch_set":2,"id":"ff570b3c_72c7a097","line":484,"updated":"2020-06-03 12:14:27.000000000","message":"pep8: E303 too many blank lines (2)","commit_id":"95857b65fa747554d4db79c1eea7e66602bc05e2"}],"releasenotes/notes/victoria-support-batch-delete-events-4c63a758bdda93d1.yaml":[{"author":{"_account_id":6732,"name":"Lingxian Kong","email":"anlin.kong@gmail.com","username":"kong"},"change_message_id":"ab270cc46dc6c9886230ba4bc8eb0adb9bb26aff","unresolved":false,"context_lines":[{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    A new ``events_delete_batch_size`` config option is introduced to specify"},{"line_number":5,"context_line":"    a number of events to be deleted in one iteration from the database. It will"},{"line_number":6,"context_line":"    help ehen thare\u0027re a lot of events in the database and panko-expire"},{"line_number":7,"context_line":"    consumes a lot of memory to delete all records with a single"},{"line_number":8,"context_line":"    call."},{"line_number":9,"context_line":"fixes:"}],"source_content_type":"text/x-yaml","patch_set":12,"id":"bf51134e_3d3ab733","line":6,"range":{"start_line":6,"start_character":9,"end_line":6,"end_character":13},"updated":"2020-07-01 21:14:55.000000000","message":"Typo?","commit_id":"ef0d61c6a839a69be3c0d4f802749d535195dd86"},{"author":{"_account_id":1736,"name":"Ivan Kolodyazhny","email":"e0ne@e0ne.info","username":"e0ne"},"change_message_id":"27750707119a2c0af7031306b0cec921eaf37f92","unresolved":false,"context_lines":[{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    A new ``events_delete_batch_size`` config option is introduced to specify"},{"line_number":5,"context_line":"    a number of events to be deleted in one iteration from the database. It will"},{"line_number":6,"context_line":"    help ehen thare\u0027re a lot of events in the database and panko-expire"},{"line_number":7,"context_line":"    consumes a lot of memory to delete all records with a single"},{"line_number":8,"context_line":"    call."},{"line_number":9,"context_line":"fixes:"}],"source_content_type":"text/x-yaml","patch_set":12,"id":"bf51134e_7b90b496","line":6,"range":{"start_line":6,"start_character":9,"end_line":6,"end_character":13},"in_reply_to":"bf51134e_3d3ab733","updated":"2020-07-02 07:31:01.000000000","message":"Done","commit_id":"ef0d61c6a839a69be3c0d4f802749d535195dd86"},{"author":{"_account_id":6732,"name":"Lingxian Kong","email":"anlin.kong@gmail.com","username":"kong"},"change_message_id":"ab270cc46dc6c9886230ba4bc8eb0adb9bb26aff","unresolved":false,"context_lines":[{"line_number":8,"context_line":"    call."},{"line_number":9,"context_line":"fixes:"},{"line_number":10,"context_line":"    |"},{"line_number":11,"context_line":"    panko-expire will consume less memory during events cleaning up."}],"source_content_type":"text/x-yaml","patch_set":12,"id":"bf51134e_7d442fb8","line":11,"range":{"start_line":11,"start_character":4,"end_line":11,"end_character":68},"updated":"2020-07-01 21:14:55.000000000","message":"Please change to something like:\n\nFixed the issue that panko-expire is consuming too much memory during events cleaning up.","commit_id":"ef0d61c6a839a69be3c0d4f802749d535195dd86"},{"author":{"_account_id":1736,"name":"Ivan Kolodyazhny","email":"e0ne@e0ne.info","username":"e0ne"},"change_message_id":"27750707119a2c0af7031306b0cec921eaf37f92","unresolved":false,"context_lines":[{"line_number":8,"context_line":"    call."},{"line_number":9,"context_line":"fixes:"},{"line_number":10,"context_line":"    |"},{"line_number":11,"context_line":"    panko-expire will consume less memory during events cleaning up."}],"source_content_type":"text/x-yaml","patch_set":12,"id":"bf51134e_5b8df079","line":11,"range":{"start_line":11,"start_character":4,"end_line":11,"end_character":68},"in_reply_to":"bf51134e_7d442fb8","updated":"2020-07-02 07:31:01.000000000","message":"Done","commit_id":"ef0d61c6a839a69be3c0d4f802749d535195dd86"}]}
