)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"d6b140966a5db0696559831c34deb187e166fa2c","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"2da9e753_ec5e0d22","updated":"2022-12-08 14:56:24.000000000","message":"I requested couple of small changes inline but the content looks good to me","commit_id":"0281e266dd19cec0e7681555a2696da22e071092"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"8b52ff256e49f3379f1bea53f1be026474bd8b90","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"055f3b3d_910ee488","updated":"2022-12-08 19:10:04.000000000","message":"some minor nits but i agree with the overall content","commit_id":"ca4fabdf78156b33ea84e00ddb7b760d33e6f9f0"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"15888128fe7e1ba938d59b699a19dc6f6ebe4ef3","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"61b18ddb_3a642857","updated":"2022-12-21 13:21:16.000000000","message":"Thanks! Looks good to me!","commit_id":"3420b77f62be151638dc43ff4ee276859394f06f"}],"doc/source/admin/soft-delete-shadow-tables.rst":[{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"d6b140966a5db0696559831c34deb187e166fa2c","unresolved":true,"context_lines":[{"line_number":8,"context_line":"--------------------------------"},{"line_number":9,"context_line":""},{"line_number":10,"context_line":"After an instance delete request, the actual delete is delayed by a"},{"line_number":11,"context_line":"configurable amount of time (config option ``reclaim_instance_interval``)."},{"line_number":12,"context_line":"During the delay, the instance is marked to be in state ``SOFT_DELETED``"},{"line_number":13,"context_line":"and can be restored (``openstack server restore``) by an admin in order"},{"line_number":14,"context_line":"to gracefully handle human mistakes. If the instance is not restored"}],"source_content_type":"text/x-rst","patch_set":1,"id":"02c10b04_d20af41c","line":11,"updated":"2022-12-08 14:56:24.000000000","message":":oslo.config:option:`reclaim_instance_interval`","commit_id":"0281e266dd19cec0e7681555a2696da22e071092"},{"author":{"_account_id":15554,"name":"Bence Romsics","email":"bence.romsics@gmail.com","username":"ebenrom","status":"working for Ericsson, UTC+1 (+DST)"},"change_message_id":"76a670b6375fd1a650f2f5ac50c591d49eb904a1","unresolved":false,"context_lines":[{"line_number":8,"context_line":"--------------------------------"},{"line_number":9,"context_line":""},{"line_number":10,"context_line":"After an instance delete request, the actual delete is delayed by a"},{"line_number":11,"context_line":"configurable amount of time (config option ``reclaim_instance_interval``)."},{"line_number":12,"context_line":"During the delay, the instance is marked to be in state ``SOFT_DELETED``"},{"line_number":13,"context_line":"and can be restored (``openstack server restore``) by an admin in order"},{"line_number":14,"context_line":"to gracefully handle human mistakes. If the instance is not restored"}],"source_content_type":"text/x-rst","patch_set":1,"id":"5b5f7c1a_730aebff","line":11,"in_reply_to":"02c10b04_d20af41c","updated":"2022-12-08 15:07:17.000000000","message":"Done","commit_id":"0281e266dd19cec0e7681555a2696da22e071092"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"d6b140966a5db0696559831c34deb187e166fa2c","unresolved":true,"context_lines":[{"line_number":10,"context_line":"After an instance delete request, the actual delete is delayed by a"},{"line_number":11,"context_line":"configurable amount of time (config option ``reclaim_instance_interval``)."},{"line_number":12,"context_line":"During the delay, the instance is marked to be in state ``SOFT_DELETED``"},{"line_number":13,"context_line":"and can be restored (``openstack server restore``) by an admin in order"},{"line_number":14,"context_line":"to gracefully handle human mistakes. If the instance is not restored"},{"line_number":15,"context_line":"during the configured delay, a periodic job actually deletes the instance."},{"line_number":16,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"6eb59e84_b0bdf866","line":13,"range":{"start_line":13,"start_character":21,"end_line":13,"end_character":49},"updated":"2022-12-08 14:56:24.000000000","message":":command:`openstack server restore`","commit_id":"0281e266dd19cec0e7681555a2696da22e071092"},{"author":{"_account_id":15554,"name":"Bence Romsics","email":"bence.romsics@gmail.com","username":"ebenrom","status":"working for Ericsson, UTC+1 (+DST)"},"change_message_id":"76a670b6375fd1a650f2f5ac50c591d49eb904a1","unresolved":false,"context_lines":[{"line_number":10,"context_line":"After an instance delete request, the actual delete is delayed by a"},{"line_number":11,"context_line":"configurable amount of time (config option ``reclaim_instance_interval``)."},{"line_number":12,"context_line":"During the delay, the instance is marked to be in state ``SOFT_DELETED``"},{"line_number":13,"context_line":"and can be restored (``openstack server restore``) by an admin in order"},{"line_number":14,"context_line":"to gracefully handle human mistakes. If the instance is not restored"},{"line_number":15,"context_line":"during the configured delay, a periodic job actually deletes the instance."},{"line_number":16,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"738dd9d1_1832d19f","line":13,"range":{"start_line":13,"start_character":21,"end_line":13,"end_character":49},"in_reply_to":"6eb59e84_b0bdf866","updated":"2022-12-08 15:07:17.000000000","message":"Done","commit_id":"0281e266dd19cec0e7681555a2696da22e071092"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"d6b140966a5db0696559831c34deb187e166fa2c","unresolved":true,"context_lines":[{"line_number":35,"context_line":"\u003chttps://docs.openstack.org/nova/latest/admin/upgrades.html#concepts\u003e`_."},{"line_number":36,"context_line":""},{"line_number":37,"context_line":"The records marked as deleted can be cleaned up in multiple stages."},{"line_number":38,"context_line":"First you can move them to so-called shadow tables (tables with prefix ``shadow_`` in Nova cell databases)."},{"line_number":39,"context_line":"This is called *archiving the deleted rows*."},{"line_number":40,"context_line":"Nova does not query shadow tables, therefore data moved to the shadow tables"},{"line_number":41,"context_line":"no longer affect DB performance. However storage space is still consumed."}],"source_content_type":"text/x-rst","patch_set":1,"id":"5c9a6501_9301ad38","line":38,"updated":"2022-12-08 14:56:24.000000000","message":"wrap the line please","commit_id":"0281e266dd19cec0e7681555a2696da22e071092"},{"author":{"_account_id":15554,"name":"Bence Romsics","email":"bence.romsics@gmail.com","username":"ebenrom","status":"working for Ericsson, UTC+1 (+DST)"},"change_message_id":"76a670b6375fd1a650f2f5ac50c591d49eb904a1","unresolved":false,"context_lines":[{"line_number":35,"context_line":"\u003chttps://docs.openstack.org/nova/latest/admin/upgrades.html#concepts\u003e`_."},{"line_number":36,"context_line":""},{"line_number":37,"context_line":"The records marked as deleted can be cleaned up in multiple stages."},{"line_number":38,"context_line":"First you can move them to so-called shadow tables (tables with prefix ``shadow_`` in Nova cell databases)."},{"line_number":39,"context_line":"This is called *archiving the deleted rows*."},{"line_number":40,"context_line":"Nova does not query shadow tables, therefore data moved to the shadow tables"},{"line_number":41,"context_line":"no longer affect DB performance. However storage space is still consumed."}],"source_content_type":"text/x-rst","patch_set":1,"id":"b645ea76_77f6a900","line":38,"in_reply_to":"5c9a6501_9301ad38","updated":"2022-12-08 15:07:17.000000000","message":"Done","commit_id":"0281e266dd19cec0e7681555a2696da22e071092"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"d6b140966a5db0696559831c34deb187e166fa2c","unresolved":true,"context_lines":[{"line_number":49,"context_line":""},{"line_number":50,"context_line":"This feature is not optional. Every long-running deployment should regularly"},{"line_number":51,"context_line":"archive and purge the deleted rows. For example via a cron job to regularly"},{"line_number":52,"context_line":"call ``nova-manage db archive_deleted_rows`` and ``nova-manage db purge``."},{"line_number":53,"context_line":"The tradeoffs between data retention, DB performance and storage needs should"},{"line_number":54,"context_line":"be considered."},{"line_number":55,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"69a7a592_ba057911","line":52,"range":{"start_line":52,"start_character":49,"end_line":52,"end_character":73},"updated":"2022-12-08 14:56:24.000000000","message":"ditto","commit_id":"0281e266dd19cec0e7681555a2696da22e071092"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"d6b140966a5db0696559831c34deb187e166fa2c","unresolved":true,"context_lines":[{"line_number":49,"context_line":""},{"line_number":50,"context_line":"This feature is not optional. Every long-running deployment should regularly"},{"line_number":51,"context_line":"archive and purge the deleted rows. For example via a cron job to regularly"},{"line_number":52,"context_line":"call ``nova-manage db archive_deleted_rows`` and ``nova-manage db purge``."},{"line_number":53,"context_line":"The tradeoffs between data retention, DB performance and storage needs should"},{"line_number":54,"context_line":"be considered."},{"line_number":55,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"03826020_03fc4006","line":52,"range":{"start_line":52,"start_character":5,"end_line":52,"end_character":44},"updated":"2022-12-08 14:56:24.000000000","message":"program:`nova-manage db archive_deleted_rows`","commit_id":"0281e266dd19cec0e7681555a2696da22e071092"},{"author":{"_account_id":15554,"name":"Bence Romsics","email":"bence.romsics@gmail.com","username":"ebenrom","status":"working for Ericsson, UTC+1 (+DST)"},"change_message_id":"76a670b6375fd1a650f2f5ac50c591d49eb904a1","unresolved":false,"context_lines":[{"line_number":49,"context_line":""},{"line_number":50,"context_line":"This feature is not optional. Every long-running deployment should regularly"},{"line_number":51,"context_line":"archive and purge the deleted rows. For example via a cron job to regularly"},{"line_number":52,"context_line":"call ``nova-manage db archive_deleted_rows`` and ``nova-manage db purge``."},{"line_number":53,"context_line":"The tradeoffs between data retention, DB performance and storage needs should"},{"line_number":54,"context_line":"be considered."},{"line_number":55,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"5ebb9296_0b55ea68","line":52,"range":{"start_line":52,"start_character":5,"end_line":52,"end_character":44},"in_reply_to":"03826020_03fc4006","updated":"2022-12-08 15:07:17.000000000","message":"Done","commit_id":"0281e266dd19cec0e7681555a2696da22e071092"},{"author":{"_account_id":15554,"name":"Bence Romsics","email":"bence.romsics@gmail.com","username":"ebenrom","status":"working for Ericsson, UTC+1 (+DST)"},"change_message_id":"76a670b6375fd1a650f2f5ac50c591d49eb904a1","unresolved":false,"context_lines":[{"line_number":49,"context_line":""},{"line_number":50,"context_line":"This feature is not optional. Every long-running deployment should regularly"},{"line_number":51,"context_line":"archive and purge the deleted rows. For example via a cron job to regularly"},{"line_number":52,"context_line":"call ``nova-manage db archive_deleted_rows`` and ``nova-manage db purge``."},{"line_number":53,"context_line":"The tradeoffs between data retention, DB performance and storage needs should"},{"line_number":54,"context_line":"be considered."},{"line_number":55,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"b777de4d_1eda0bc7","line":52,"range":{"start_line":52,"start_character":49,"end_line":52,"end_character":73},"in_reply_to":"69a7a592_ba057911","updated":"2022-12-08 15:07:17.000000000","message":"Done","commit_id":"0281e266dd19cec0e7681555a2696da22e071092"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"8b52ff256e49f3379f1bea53f1be026474bd8b90","unresolved":true,"context_lines":[{"line_number":4,"context_line":""},{"line_number":5,"context_line":"Nova has two unrelated features which are called ``soft delete``:"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Soft delete that can be restored"},{"line_number":8,"context_line":"--------------------------------"},{"line_number":9,"context_line":""},{"line_number":10,"context_line":"After an instance delete request, the actual delete is"}],"source_content_type":"text/x-rst","patch_set":2,"id":"65d8a347_0f933b2e","line":7,"range":{"start_line":7,"start_character":0,"end_line":7,"end_character":32},"updated":"2022-12-08 19:10:04.000000000","message":"Soft deleted instances that can be restored","commit_id":"ca4fabdf78156b33ea84e00ddb7b760d33e6f9f0"},{"author":{"_account_id":15554,"name":"Bence Romsics","email":"bence.romsics@gmail.com","username":"ebenrom","status":"working for Ericsson, UTC+1 (+DST)"},"change_message_id":"bb5ef4147fcc367d463ca22f5760f8e1ada5d577","unresolved":false,"context_lines":[{"line_number":4,"context_line":""},{"line_number":5,"context_line":"Nova has two unrelated features which are called ``soft delete``:"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Soft delete that can be restored"},{"line_number":8,"context_line":"--------------------------------"},{"line_number":9,"context_line":""},{"line_number":10,"context_line":"After an instance delete request, the actual delete is"}],"source_content_type":"text/x-rst","patch_set":2,"id":"5514b7c2_cc7005ff","line":7,"range":{"start_line":7,"start_character":0,"end_line":7,"end_character":32},"in_reply_to":"65d8a347_0f933b2e","updated":"2022-12-09 08:18:04.000000000","message":"Done","commit_id":"ca4fabdf78156b33ea84e00ddb7b760d33e6f9f0"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"8b52ff256e49f3379f1bea53f1be026474bd8b90","unresolved":true,"context_lines":[{"line_number":23,"context_line":"  \u003chttps://docs.openstack.org/api-guide/compute/server_concepts.html#server-actions\u003e`_"},{"line_number":24,"context_line":"- config reference: :oslo.config:option:`reclaim_instance_interval`"},{"line_number":25,"context_line":""},{"line_number":26,"context_line":"Soft delete to shadow tables"},{"line_number":27,"context_line":"----------------------------"},{"line_number":28,"context_line":""},{"line_number":29,"context_line":"At an actual instance delete, no DB record is deleted. Instead the"}],"source_content_type":"text/x-rst","patch_set":2,"id":"5a433fc4_8f4cea36","line":26,"range":{"start_line":26,"start_character":0,"end_line":26,"end_character":28},"updated":"2022-12-08 19:10:04.000000000","message":"Soft deleted database rows","commit_id":"ca4fabdf78156b33ea84e00ddb7b760d33e6f9f0"},{"author":{"_account_id":15554,"name":"Bence Romsics","email":"bence.romsics@gmail.com","username":"ebenrom","status":"working for Ericsson, UTC+1 (+DST)"},"change_message_id":"bb5ef4147fcc367d463ca22f5760f8e1ada5d577","unresolved":false,"context_lines":[{"line_number":23,"context_line":"  \u003chttps://docs.openstack.org/api-guide/compute/server_concepts.html#server-actions\u003e`_"},{"line_number":24,"context_line":"- config reference: :oslo.config:option:`reclaim_instance_interval`"},{"line_number":25,"context_line":""},{"line_number":26,"context_line":"Soft delete to shadow tables"},{"line_number":27,"context_line":"----------------------------"},{"line_number":28,"context_line":""},{"line_number":29,"context_line":"At an actual instance delete, no DB record is deleted. Instead the"}],"source_content_type":"text/x-rst","patch_set":2,"id":"72392de9_a485f64b","line":26,"range":{"start_line":26,"start_character":0,"end_line":26,"end_character":28},"in_reply_to":"5a433fc4_8f4cea36","updated":"2022-12-09 08:18:04.000000000","message":"Done","commit_id":"ca4fabdf78156b33ea84e00ddb7b760d33e6f9f0"}]}
