)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":4690,"name":"melanie witt","display_name":"melwitt","email":"melwittt@gmail.com","username":"melwitt"},"change_message_id":"8d7d346409e757473bc7db03a3840af32b3d5f5a","unresolved":true,"context_lines":[{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Currently, when \u0027nova-manage db archive_deleted_rows\u0027 is run with"},{"line_number":10,"context_line":"the --until-complete option, the process will archive rows in batches"},{"line_number":11,"context_line":"in a tight loop, which can cause problems in busy environments where"},{"line_number":12,"context_line":"the aggressive archiving interferes with other requests trying to write"},{"line_number":13,"context_line":"to the database."},{"line_number":14,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"14f2bf41_76810c74","line":11,"range":{"start_line":11,"start_character":0,"end_line":11,"end_character":15},"updated":"2021-01-26 23:10:27.000000000","message":"without pausing between iterations","commit_id":"d50fcfc194398ba0973fb5303ac4015391e6c2c8"}],"doc/source/cli/nova-manage.rst":[{"author":{"_account_id":10135,"name":"Lee Yarwood","display_name":"Lee Yarwood","email":"lyarwood@redhat.com","username":"lyarwood"},"change_message_id":"3233862134e540c2ecbe0eed18451fde554e0a94","unresolved":true,"context_lines":[{"line_number":175,"context_line":"    Returns exit code 0 if the database schema was synced successfully, or 1 if"},{"line_number":176,"context_line":"    cell0 cannot be accessed."},{"line_number":177,"context_line":""},{"line_number":178,"context_line":"``nova-manage db archive_deleted_rows [--max_rows \u003cnumber\u003e] [--verbose] [--until-complete] [--before \u003cdate\u003e] [--purge] [--all-cells]``"},{"line_number":179,"context_line":"    Move deleted rows from production tables to shadow tables. Note that the"},{"line_number":180,"context_line":"    corresponding rows in the ``instance_mappings``, ``request_specs`` and"},{"line_number":181,"context_line":"    ``instance_group_member`` tables of the API database are purged when"}],"source_content_type":"text/x-rst","patch_set":1,"id":"ad1a7fb1_df1b4a5a","line":178,"range":{"start_line":178,"start_character":0,"end_line":178,"end_character":134},"updated":"2021-02-17 10:08:46.000000000","message":"Can you update these docs?","commit_id":"d50fcfc194398ba0973fb5303ac4015391e6c2c8"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"8bfe2185e001127ec84415e8e3a6b0f683396aac","unresolved":false,"context_lines":[{"line_number":175,"context_line":"    Returns exit code 0 if the database schema was synced successfully, or 1 if"},{"line_number":176,"context_line":"    cell0 cannot be accessed."},{"line_number":177,"context_line":""},{"line_number":178,"context_line":"``nova-manage db archive_deleted_rows [--max_rows \u003cnumber\u003e] [--verbose] [--until-complete] [--before \u003cdate\u003e] [--purge] [--all-cells]``"},{"line_number":179,"context_line":"    Move deleted rows from production tables to shadow tables. Note that the"},{"line_number":180,"context_line":"    corresponding rows in the ``instance_mappings``, ``request_specs`` and"},{"line_number":181,"context_line":"    ``instance_group_member`` tables of the API database are purged when"}],"source_content_type":"text/x-rst","patch_set":1,"id":"c821ac79_c9dec560","line":178,"range":{"start_line":178,"start_character":0,"end_line":178,"end_character":134},"in_reply_to":"ad1a7fb1_df1b4a5a","updated":"2021-07-01 09:57:42.000000000","message":"Done","commit_id":"d50fcfc194398ba0973fb5303ac4015391e6c2c8"}],"gate/post_test_hook.sh":[{"author":{"_account_id":10135,"name":"Lee Yarwood","display_name":"Lee Yarwood","email":"lyarwood@redhat.com","username":"lyarwood"},"change_message_id":"3233862134e540c2ecbe0eed18451fde554e0a94","unresolved":true,"context_lines":[{"line_number":2,"context_line":""},{"line_number":3,"context_line":"MANAGE\u003d\"/usr/local/bin/nova-manage\""},{"line_number":4,"context_line":""},{"line_number":5,"context_line":"function archive_deleted_rows {"},{"line_number":6,"context_line":"    # NOTE(danms): Run this a few times to make sure that we end"},{"line_number":7,"context_line":"    # up with nothing more to archive"},{"line_number":8,"context_line":"    if ! $MANAGE db archive_deleted_rows --verbose --before \"$(date -d yesterday)\" 2\u003e\u00261 | grep \u0027Nothing was archived\u0027; then"}],"source_content_type":"text/x-sh","patch_set":1,"id":"1c526013_78b943b8","line":5,"range":{"start_line":5,"start_character":0,"end_line":5,"end_character":31},"updated":"2021-02-17 10:08:46.000000000","message":"Would it make sense to also test the new option in here somewhere?","commit_id":"d50fcfc194398ba0973fb5303ac4015391e6c2c8"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"8bfe2185e001127ec84415e8e3a6b0f683396aac","unresolved":true,"context_lines":[{"line_number":2,"context_line":""},{"line_number":3,"context_line":"MANAGE\u003d\"/usr/local/bin/nova-manage\""},{"line_number":4,"context_line":""},{"line_number":5,"context_line":"function archive_deleted_rows {"},{"line_number":6,"context_line":"    # NOTE(danms): Run this a few times to make sure that we end"},{"line_number":7,"context_line":"    # up with nothing more to archive"},{"line_number":8,"context_line":"    if ! $MANAGE db archive_deleted_rows --verbose --before \"$(date -d yesterday)\" 2\u003e\u00261 | grep \u0027Nothing was archived\u0027; then"}],"source_content_type":"text/x-sh","patch_set":1,"id":"2fbaec69_72b81fde","line":5,"range":{"start_line":5,"start_character":0,"end_line":5,"end_character":31},"in_reply_to":"1c526013_78b943b8","updated":"2021-07-01 09:57:42.000000000","message":"I ended up not doing this because I figured it would slow down the test run somewhat. If you\u0027ve clever ideas for how to avoid this though, shout.","commit_id":"d50fcfc194398ba0973fb5303ac4015391e6c2c8"}],"nova/cmd/manage.py":[{"author":{"_account_id":4690,"name":"melanie witt","display_name":"melwitt","email":"melwittt@gmail.com","username":"melwitt"},"change_message_id":"d0eaf225bafa53619743c4d0924816727a4c36d2","unresolved":true,"context_lines":[{"line_number":428,"context_line":"            if verbose:"},{"line_number":429,"context_line":"                sys.stdout.write(\u0027.\u0027)"},{"line_number":430,"context_line":"            # Optionally sleep between batches to throttle the archiving."},{"line_number":431,"context_line":"            time.sleep(sleep)"},{"line_number":432,"context_line":"        return total_rows_archived"},{"line_number":433,"context_line":""},{"line_number":434,"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":"19ee192b_b54a7b3c","line":431,"updated":"2021-07-01 17:23:20.000000000","message":"I\u0027m realizing this should be either be guarded by until_complete or the documentation should be changed to reflect what is actually happening.\n\nI hadn\u0027t guarded this by until_complete because I thought the break on L426 meant that if we got here, until_complete had to be true, but I see now that\u0027s not necessarily the case. We\u0027ll also get here if rows were archived on L394 without until_complete. So as-is, this will --sleep between iterations of any loop, including the archive loop batches that happen even without --until-complete.","commit_id":"df69ecaf23b41cb526e3763eba7d7c7c8430b243"},{"author":{"_account_id":4690,"name":"melanie witt","display_name":"melwitt","email":"melwittt@gmail.com","username":"melwitt"},"change_message_id":"a0b304026dccfd24a1d29ce2c1da4bd92c4926be","unresolved":true,"context_lines":[{"line_number":428,"context_line":"            if verbose:"},{"line_number":429,"context_line":"                sys.stdout.write(\u0027.\u0027)"},{"line_number":430,"context_line":"            # Optionally sleep between batches to throttle the archiving."},{"line_number":431,"context_line":"            time.sleep(sleep)"},{"line_number":432,"context_line":"        return total_rows_archived"},{"line_number":433,"context_line":""},{"line_number":434,"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":"4506364f_5a393868","line":431,"in_reply_to":"19ee192b_b54a7b3c","updated":"2021-07-01 20:51:16.000000000","message":"Guh, it looks like this is actually correct, if until_complete is not True, the loop will break at L426. So the only way to get here is if until_complete \u003d True.","commit_id":"df69ecaf23b41cb526e3763eba7d7c7c8430b243"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"64c91dcdca2035928fd6a4c52a47ea2026a0f773","unresolved":false,"context_lines":[{"line_number":428,"context_line":"            if verbose:"},{"line_number":429,"context_line":"                sys.stdout.write(\u0027.\u0027)"},{"line_number":430,"context_line":"            # Optionally sleep between batches to throttle the archiving."},{"line_number":431,"context_line":"            time.sleep(sleep)"},{"line_number":432,"context_line":"        return total_rows_archived"},{"line_number":433,"context_line":""},{"line_number":434,"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":"89cc3b84_2367d935","line":431,"in_reply_to":"4506364f_5a393868","updated":"2021-07-29 11:28:56.000000000","message":"Ack","commit_id":"df69ecaf23b41cb526e3763eba7d7c7c8430b243"}]}
