)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"2659ae6ff1b1eeb4bc443627d2c45183ed230d9a","unresolved":true,"context_lines":[{"line_number":10,"context_line":"possible for a deletion of all rows in a table to produce a query that"},{"line_number":11,"context_line":"exceeds the database transaction size limit, causing a failure to purge"},{"line_number":12,"context_line":"the rows."},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"Currently the only mechanism for limiting the size of a transaction is"},{"line_number":15,"context_line":"the --before option which takes a date to purge records from before"},{"line_number":16,"context_line":"that date."}],"source_content_type":"text/x-gerrit-commit-message","patch_set":3,"id":"059294fa_c3b8c6fe","line":13,"updated":"2025-02-26 00:24:21.000000000","message":"i feel like now should just automatically batch in groups that are smaller the thr transaction size limit without needing the admin to specify —max-rows.\n\nhow much harder would it be to do that?\n\nlatter\n—————-\ni see you implemented it with a default of 1000 so we will alwasy batch\neven if it is below the transation size limmit\n\nthat kind of make sthis automatic provided you do nto have an insane number of metadata itemps per instance since the row count while prpoptional to the isntance cound is not linearly proporational since it depend on the image properites and instance metadata too.","commit_id":"b9b14c9d0e0f107dcfe93d8132750f2a0f36dc6b"},{"author":{"_account_id":4690,"name":"melanie witt","display_name":"melwitt","email":"melwittt@gmail.com","username":"melwitt"},"change_message_id":"3f2df9b97754b3ac976c1d8d13f1b6ff45307cc6","unresolved":true,"context_lines":[{"line_number":10,"context_line":"possible for a deletion of all rows in a table to produce a query that"},{"line_number":11,"context_line":"exceeds the database transaction size limit, causing a failure to purge"},{"line_number":12,"context_line":"the rows."},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"Currently the only mechanism for limiting the size of a transaction is"},{"line_number":15,"context_line":"the --before option which takes a date to purge records from before"},{"line_number":16,"context_line":"that date."}],"source_content_type":"text/x-gerrit-commit-message","patch_set":3,"id":"5e9d406e_cf62e31a","line":13,"in_reply_to":"059294fa_c3b8c6fe","updated":"2025-02-26 00:39:18.000000000","message":"Making a note from our IRC chat: we could likely pull the transaction and packet size limits by SQL query and try to make smart batches that way. If we do that though, I would prefer to do it the same for both purge and archive so that they work in the same manner.","commit_id":"b9b14c9d0e0f107dcfe93d8132750f2a0f36dc6b"}],"/PATCHSET_LEVEL":[{"author":{"_account_id":4690,"name":"melanie witt","display_name":"melwitt","email":"melwittt@gmail.com","username":"melwitt"},"change_message_id":"98f81257677bf2be743560d24dd9de19354bd2b2","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"e2010127_01f8ffe5","updated":"2024-08-28 16:08:10.000000000","message":"recheck ceph unhealthy log_channel(cluster) log [WRN] : Health check update: 11 slow ops, oldest one blocked for 1766 sec, osd.0 has slow ops (SLOW_OPS)","commit_id":"50ce76cd7ffc985e0a2ee499e74506c26a8e3594"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"0713f1bd9bc9eeb977f80ae290605ab70b07ec3e","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"d2a8f40e_64e43044","updated":"2024-11-12 11:07:46.000000000","message":"Change looks fine. Couple of nits but hopefully nothing blocking.","commit_id":"777e540defcd05545094efa764efce0b93868c69"},{"author":{"_account_id":4690,"name":"melanie witt","display_name":"melwitt","email":"melwittt@gmail.com","username":"melwitt"},"change_message_id":"5dc5a7412c45b684bf87fab5d545a58bf3c00203","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"38220a57_e23cecf5","updated":"2025-01-27 20:53:12.000000000","message":"This fell off my radar, so sorry for the really delayed reply.","commit_id":"777e540defcd05545094efa764efce0b93868c69"},{"author":{"_account_id":12640,"name":"Arun S A G","email":"sagarun@gmail.com","username":"sagarun"},"change_message_id":"fe675af064c9fb1bb55aa9dcc618bd1fa3029d44","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"9583022d_3aac29b4","updated":"2024-09-05 15:44:22.000000000","message":"recheck","commit_id":"777e540defcd05545094efa764efce0b93868c69"},{"author":{"_account_id":4690,"name":"melanie witt","display_name":"melwitt","email":"melwittt@gmail.com","username":"melwitt"},"change_message_id":"9ddcc93dbfa7db717df8c9fed4cd3c1784421a25","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"123013c4_988bd5b7","updated":"2024-09-05 06:44:40.000000000","message":"recheck [instance: 5f3eb427-c241-455a-bef7-b89847eed193] Timeout waiting for [\u0027network-vif-plugged-b86f9b05-a2bc-46cc-ab81-577aeff4155d\u0027] for instance with vm_state shelved_offloaded and task_state spawning. Event states are: network-vif-plugged-b86f9b05-a2bc-46cc-ab81-577aeff4155d: timed out after 300.00 seconds: eventlet.timeout.Timeout: 300 seconds","commit_id":"777e540defcd05545094efa764efce0b93868c69"},{"author":{"_account_id":20733,"name":"Rajesh Tailor","email":"ratailor@redhat.com","username":"rajesht"},"change_message_id":"e2e25e3e636568a501dbd0f4d79e4749f53bef2b","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"5156a3c3_b06210ad","updated":"2025-02-26 08:43:31.000000000","message":"Looks good to me.","commit_id":"b9b14c9d0e0f107dcfe93d8132750f2a0f36dc6b"}],"doc/source/cli/nova-manage.rst":[{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"0713f1bd9bc9eeb977f80ae290605ab70b07ec3e","unresolved":true,"context_lines":[{"line_number":337,"context_line":"Delete rows from shadow tables. For :option:`--all-cells` to work, the API"},{"line_number":338,"context_line":"database connection information must be configured."},{"line_number":339,"context_line":""},{"line_number":340,"context_line":".. versionadded:: 18.0.0 (Rocky)"},{"line_number":341,"context_line":""},{"line_number":342,"context_line":".. rubric:: Options"},{"line_number":343,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"75b973c3_20deba31","line":340,"updated":"2024-11-12 11:07:46.000000000","message":"Do you want to add a `versionchanged` directive here RE: the new option? That\u0027s what we did for `db archive_deleted_rows` above.","commit_id":"777e540defcd05545094efa764efce0b93868c69"},{"author":{"_account_id":4690,"name":"melanie witt","display_name":"melwitt","email":"melwittt@gmail.com","username":"melwitt"},"change_message_id":"84346cd579db1078442718fca542e813e962aeec","unresolved":false,"context_lines":[{"line_number":337,"context_line":"Delete rows from shadow tables. For :option:`--all-cells` to work, the API"},{"line_number":338,"context_line":"database connection information must be configured."},{"line_number":339,"context_line":""},{"line_number":340,"context_line":".. versionadded:: 18.0.0 (Rocky)"},{"line_number":341,"context_line":""},{"line_number":342,"context_line":".. rubric:: Options"},{"line_number":343,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"006b063c_4c168360","line":340,"in_reply_to":"0d049cc2_23a3436b","updated":"2025-02-26 00:19:07.000000000","message":"Done","commit_id":"777e540defcd05545094efa764efce0b93868c69"},{"author":{"_account_id":4690,"name":"melanie witt","display_name":"melwitt","email":"melwittt@gmail.com","username":"melwitt"},"change_message_id":"5dc5a7412c45b684bf87fab5d545a58bf3c00203","unresolved":true,"context_lines":[{"line_number":337,"context_line":"Delete rows from shadow tables. For :option:`--all-cells` to work, the API"},{"line_number":338,"context_line":"database connection information must be configured."},{"line_number":339,"context_line":""},{"line_number":340,"context_line":".. versionadded:: 18.0.0 (Rocky)"},{"line_number":341,"context_line":""},{"line_number":342,"context_line":".. rubric:: Options"},{"line_number":343,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"0d049cc2_23a3436b","line":340,"in_reply_to":"75b973c3_20deba31","updated":"2025-01-27 20:53:12.000000000","message":"I think that\u0027s a good idea, I\u0027ll add it.","commit_id":"777e540defcd05545094efa764efce0b93868c69"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"0713f1bd9bc9eeb977f80ae290605ab70b07ec3e","unresolved":true,"context_lines":[{"line_number":372,"context_line":""},{"line_number":373,"context_line":"    Run against all cell databases."},{"line_number":374,"context_line":""},{"line_number":375,"context_line":".. option:: --max_rows \u003crows\u003e"},{"line_number":376,"context_line":""},{"line_number":377,"context_line":"    Maximum number of archived rows to purge per shadow table."},{"line_number":378,"context_line":"    Defaults to 1000."}],"source_content_type":"text/x-rst","patch_set":2,"id":"44ec496d_9a40b85c","line":375,"range":{"start_line":375,"start_character":14,"end_line":375,"end_character":22},"updated":"2024-11-12 11:07:46.000000000","message":"```suggestion\n.. option:: --max-rows \u003crows\u003e\n```","commit_id":"777e540defcd05545094efa764efce0b93868c69"},{"author":{"_account_id":4690,"name":"melanie witt","display_name":"melwitt","email":"melwittt@gmail.com","username":"melwitt"},"change_message_id":"5dc5a7412c45b684bf87fab5d545a58bf3c00203","unresolved":true,"context_lines":[{"line_number":372,"context_line":""},{"line_number":373,"context_line":"    Run against all cell databases."},{"line_number":374,"context_line":""},{"line_number":375,"context_line":".. option:: --max_rows \u003crows\u003e"},{"line_number":376,"context_line":""},{"line_number":377,"context_line":"    Maximum number of archived rows to purge per shadow table."},{"line_number":378,"context_line":"    Defaults to 1000."}],"source_content_type":"text/x-rst","patch_set":2,"id":"548780ed_c63a9e4d","line":375,"range":{"start_line":375,"start_character":14,"end_line":375,"end_character":22},"in_reply_to":"44ec496d_9a40b85c","updated":"2025-01-27 20:53:12.000000000","message":"Slightly conflicted about this bc I used `--max_rows` to keep consistency with the very similar command `nova-manage db archive_deleted_rows` so that using one or the other you don\u0027t have to switch between `--max_rows` and `--max-rows`.\n```\n$ nova-manage db archive_deleted_rows --max-rows 1\nusage: nova-manage [-h] [--config-dir DIR] [--config-file PATH] [--debug] [--log-config-append PATH] [--log-date-format DATE_FORMAT] [--log-dir LOG_DIR] [--log-file PATH] [--nodebug] [--nopost-mortem] [--nouse-journal] [--nouse-json] [--nouse-syslog] [--nowatch-log-file] [--post-mortem] [--shell_completion SHELL_COMPLETION] [--syslog-log-facility SYSLOG_LOG_FACILITY] [--use-journal] [--use-json] [--use-syslog] [--version] [--watch-log-file]\n                   {version,bash-completion,api_db,cell_v2,db,placement,libvirt,volume_attachment,image_property,limits} ...\nnova-manage: error: unrecognized arguments: --max-rows\n```\nI guess it\u0027s not really that important. I was thinking of saving users some irritation but I guess one could argue having a mix of `_` and `-` in a given command\u0027s options is also irritating.","commit_id":"777e540defcd05545094efa764efce0b93868c69"},{"author":{"_account_id":4690,"name":"melanie witt","display_name":"melwitt","email":"melwittt@gmail.com","username":"melwitt"},"change_message_id":"84346cd579db1078442718fca542e813e962aeec","unresolved":false,"context_lines":[{"line_number":372,"context_line":""},{"line_number":373,"context_line":"    Run against all cell databases."},{"line_number":374,"context_line":""},{"line_number":375,"context_line":".. option:: --max_rows \u003crows\u003e"},{"line_number":376,"context_line":""},{"line_number":377,"context_line":"    Maximum number of archived rows to purge per shadow table."},{"line_number":378,"context_line":"    Defaults to 1000."}],"source_content_type":"text/x-rst","patch_set":2,"id":"6482dfa9_9fd4181e","line":375,"range":{"start_line":375,"start_character":14,"end_line":375,"end_character":22},"in_reply_to":"548780ed_c63a9e4d","updated":"2025-02-26 00:19:07.000000000","message":"Done","commit_id":"777e540defcd05545094efa764efce0b93868c69"}],"nova/cmd/manage.py":[{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"0713f1bd9bc9eeb977f80ae290605ab70b07ec3e","unresolved":true,"context_lines":[{"line_number":507,"context_line":"            time.sleep(sleep)"},{"line_number":508,"context_line":"        return total_rows_archived"},{"line_number":509,"context_line":""},{"line_number":510,"context_line":"    @args(\u0027--max_rows\u0027, type\u003dint, metavar\u003d\u0027\u003cnumber\u003e\u0027, dest\u003d\u0027max_rows\u0027,"},{"line_number":511,"context_line":"          help\u003d\u0027Maximum number of archived rows to purge per shadow table. \u0027"},{"line_number":512,"context_line":"               \u0027Defaults to 1000.\u0027)"},{"line_number":513,"context_line":"    @args(\u0027--before\u0027, metavar\u003d\u0027\u003cbefore\u003e\u0027, dest\u003d\u0027before\u0027,"}],"source_content_type":"text/x-python","patch_set":2,"id":"828daf21_146c19ec","line":510,"range":{"start_line":510,"start_character":13,"end_line":510,"end_character":21},"updated":"2024-11-12 11:07:46.000000000","message":"```suggestion\n    @args(\u0027--max-rows\u0027, type\u003dint, metavar\u003d\u0027\u003cnumber\u003e\u0027, dest\u003d\u0027max_rows\u0027,\n```","commit_id":"777e540defcd05545094efa764efce0b93868c69"},{"author":{"_account_id":4690,"name":"melanie witt","display_name":"melwitt","email":"melwittt@gmail.com","username":"melwitt"},"change_message_id":"84346cd579db1078442718fca542e813e962aeec","unresolved":false,"context_lines":[{"line_number":507,"context_line":"            time.sleep(sleep)"},{"line_number":508,"context_line":"        return total_rows_archived"},{"line_number":509,"context_line":""},{"line_number":510,"context_line":"    @args(\u0027--max_rows\u0027, type\u003dint, metavar\u003d\u0027\u003cnumber\u003e\u0027, dest\u003d\u0027max_rows\u0027,"},{"line_number":511,"context_line":"          help\u003d\u0027Maximum number of archived rows to purge per shadow table. \u0027"},{"line_number":512,"context_line":"               \u0027Defaults to 1000.\u0027)"},{"line_number":513,"context_line":"    @args(\u0027--before\u0027, metavar\u003d\u0027\u003cbefore\u003e\u0027, dest\u003d\u0027before\u0027,"}],"source_content_type":"text/x-python","patch_set":2,"id":"2ddf33c6_4d2ef19a","line":510,"range":{"start_line":510,"start_character":13,"end_line":510,"end_character":21},"in_reply_to":"828daf21_146c19ec","updated":"2025-02-26 00:19:07.000000000","message":"Done","commit_id":"777e540defcd05545094efa764efce0b93868c69"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"0713f1bd9bc9eeb977f80ae290605ab70b07ec3e","unresolved":true,"context_lines":[{"line_number":535,"context_line":"        else:"},{"line_number":536,"context_line":"            before_date \u003d None"},{"line_number":537,"context_line":""},{"line_number":538,"context_line":"        max_rows \u003d int(max_rows)"},{"line_number":539,"context_line":"        if max_rows \u003c 0:"},{"line_number":540,"context_line":"            print(_(\"Must supply a positive value for max_rows\"))"},{"line_number":541,"context_line":"            return 2"}],"source_content_type":"text/x-python","patch_set":2,"id":"2c4891e5_78d76d77","line":538,"updated":"2024-11-12 11:07:46.000000000","message":"This shouldn\u0027t be necessary owing to `type\u003dint`?","commit_id":"777e540defcd05545094efa764efce0b93868c69"},{"author":{"_account_id":4690,"name":"melanie witt","display_name":"melwitt","email":"melwittt@gmail.com","username":"melwitt"},"change_message_id":"84346cd579db1078442718fca542e813e962aeec","unresolved":false,"context_lines":[{"line_number":535,"context_line":"        else:"},{"line_number":536,"context_line":"            before_date \u003d None"},{"line_number":537,"context_line":""},{"line_number":538,"context_line":"        max_rows \u003d int(max_rows)"},{"line_number":539,"context_line":"        if max_rows \u003c 0:"},{"line_number":540,"context_line":"            print(_(\"Must supply a positive value for max_rows\"))"},{"line_number":541,"context_line":"            return 2"}],"source_content_type":"text/x-python","patch_set":2,"id":"5450bd50_f6a74610","line":538,"in_reply_to":"2c4891e5_78d76d77","updated":"2025-02-26 00:19:07.000000000","message":"Done","commit_id":"777e540defcd05545094efa764efce0b93868c69"}],"releasenotes/notes/db-purge-max-rows-6c2de5d3bf275996.yaml":[{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"0713f1bd9bc9eeb977f80ae290605ab70b07ec3e","unresolved":true,"context_lines":[{"line_number":1,"context_line":"fixes:"},{"line_number":2,"context_line":"  - |"},{"line_number":3,"context_line":"    The ``nova-manage db purge`` command now accepts a ``--max_rows`` option to"},{"line_number":4,"context_line":"    allow operators to limit the size of the database transactions produced by"},{"line_number":5,"context_line":"    the command and avoid errors such as:"},{"line_number":6,"context_line":""}],"source_content_type":"text/x-yaml","patch_set":2,"id":"d79e513c_9b1d3320","line":3,"range":{"start_line":3,"start_character":59,"end_line":3,"end_character":67},"updated":"2024-11-12 11:07:46.000000000","message":"```suggestion\n    The ``nova-manage db purge`` command now accepts a ``--max-rows`` option to\n```","commit_id":"777e540defcd05545094efa764efce0b93868c69"},{"author":{"_account_id":4690,"name":"melanie witt","display_name":"melwitt","email":"melwittt@gmail.com","username":"melwitt"},"change_message_id":"84346cd579db1078442718fca542e813e962aeec","unresolved":false,"context_lines":[{"line_number":1,"context_line":"fixes:"},{"line_number":2,"context_line":"  - |"},{"line_number":3,"context_line":"    The ``nova-manage db purge`` command now accepts a ``--max_rows`` option to"},{"line_number":4,"context_line":"    allow operators to limit the size of the database transactions produced by"},{"line_number":5,"context_line":"    the command and avoid errors such as:"},{"line_number":6,"context_line":""}],"source_content_type":"text/x-yaml","patch_set":2,"id":"d8e143ae_62932e5f","line":3,"range":{"start_line":3,"start_character":59,"end_line":3,"end_character":67},"in_reply_to":"d79e513c_9b1d3320","updated":"2025-02-26 00:19:07.000000000","message":"Done","commit_id":"777e540defcd05545094efa764efce0b93868c69"}]}
