)]}'
{"nova/db/sqlalchemy/models.py":[{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"75cc07aca2cb1420d6675e08de5556d9ea53579c","unresolved":false,"context_lines":[{"line_number":340,"context_line":""},{"line_number":341,"context_line":"    # OpenStack compute cell name.  This will only be set at the top of"},{"line_number":342,"context_line":"    # the cells tree and it\u0027ll be a full cell name such as \u0027api!hop1!hop2\u0027"},{"line_number":343,"context_line":"    # TODO(stephenfin): Remove this"},{"line_number":344,"context_line":"    cell_name \u003d Column(String(255))"},{"line_number":345,"context_line":""},{"line_number":346,"context_line":"    # NOTE(pumaranikar): internal_id attribute is no longer used (bug 1441242)"}],"source_content_type":"text/x-python","patch_set":9,"id":"bfb3d3c7_716a461a","line":343,"updated":"2019-05-30 22:22:27.000000000","message":"I think we probably don\u0027t really want to ever drop this and force a large deployment to do an expensive DROP COLUMN on a huge table of instances since that could be pretty bad down time. This is why we generally just add columns rather than rename or drop them:\n\nhttps://docs.openstack.org/nova/latest/user/upgrade.html#migration-policy\n\nhttps://github.com/openstack/nova/blob/743cac21c7dde9fff64ee02f9118bcac16b1131d/nova/tests/unit/db/test_migrations.py#L209","commit_id":"dbc5dfad8f63cedeb55cd4229a35b6092c6c3b66"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"5b169cd06216411d5f83672ee742a02cf0434b3c","unresolved":false,"context_lines":[{"line_number":340,"context_line":""},{"line_number":341,"context_line":"    # OpenStack compute cell name.  This will only be set at the top of"},{"line_number":342,"context_line":"    # the cells tree and it\u0027ll be a full cell name such as \u0027api!hop1!hop2\u0027"},{"line_number":343,"context_line":"    # TODO(stephenfin): Remove this"},{"line_number":344,"context_line":"    cell_name \u003d Column(String(255))"},{"line_number":345,"context_line":""},{"line_number":346,"context_line":"    # NOTE(pumaranikar): internal_id attribute is no longer used (bug 1441242)"}],"source_content_type":"text/x-python","patch_set":9,"id":"bfb3d3c7_3d26d569","line":343,"in_reply_to":"bfb3d3c7_2db46e7f","updated":"2019-05-31 13:45:57.000000000","message":"(8:40:48 AM) stephenfin: mriedem: I just wanted to indicate that the column was unused and _something_ should be done about it. If that\u0027s just a case of removing the model and keeping the actual column, I\u0027m a-ok with it\n(8:41:01 AM) stephenfin: Heck, the thing could stay there forever for all I care. It\u0027s just cleanup :)\n(8:41:32 AM) stephenfin: mriedem: Do you want a follow-up to clarify the comment? If so, what would you propose it says?\n(8:43:27 AM) mriedem: per those 2 other changes i linked for internal_id and scheduled_at, it looks like a follow up could just be to comment on the column with a comment saying it\u0027s still in the db schema but not used in code so it\u0027s removed from the model\n(8:44:26 AM) mriedem: it looks like we actually did a drop column on scheduled_at but never did for internal_id","commit_id":"dbc5dfad8f63cedeb55cd4229a35b6092c6c3b66"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"795f3fa9019123513ab1611615a319b9b940eb2d","unresolved":false,"context_lines":[{"line_number":340,"context_line":""},{"line_number":341,"context_line":"    # OpenStack compute cell name.  This will only be set at the top of"},{"line_number":342,"context_line":"    # the cells tree and it\u0027ll be a full cell name such as \u0027api!hop1!hop2\u0027"},{"line_number":343,"context_line":"    # TODO(stephenfin): Remove this"},{"line_number":344,"context_line":"    cell_name \u003d Column(String(255))"},{"line_number":345,"context_line":""},{"line_number":346,"context_line":"    # NOTE(pumaranikar): internal_id attribute is no longer used (bug 1441242)"}],"source_content_type":"text/x-python","patch_set":9,"id":"bfb3d3c7_2db46e7f","line":343,"in_reply_to":"bfb3d3c7_46250708","updated":"2019-05-31 08:23:06.000000000","message":"Do we still document doing a DB purge before doing the DB migrations... I can\u0027t remember now.","commit_id":"dbc5dfad8f63cedeb55cd4229a35b6092c6c3b66"},{"author":{"_account_id":11816,"name":"mike_mp@zzzcomputing.com","display_name":"Mike Bayer","email":"mike_mp@zzzcomputing.com","username":"zzzeek","status":"Red Hat"},"change_message_id":"57a87fb40a2fa9a06ab30cfbaec4d4061093067d","unresolved":false,"context_lines":[{"line_number":340,"context_line":""},{"line_number":341,"context_line":"    # OpenStack compute cell name.  This will only be set at the top of"},{"line_number":342,"context_line":"    # the cells tree and it\u0027ll be a full cell name such as \u0027api!hop1!hop2\u0027"},{"line_number":343,"context_line":"    # TODO(stephenfin): Remove this"},{"line_number":344,"context_line":"    cell_name \u003d Column(String(255))"},{"line_number":345,"context_line":""},{"line_number":346,"context_line":"    # NOTE(pumaranikar): internal_id attribute is no longer used (bug 1441242)"}],"source_content_type":"text/x-python","patch_set":9,"id":"bfb3d3c7_86b77ff5","line":343,"in_reply_to":"bfb3d3c7_716a461a","updated":"2019-05-31 00:28:06.000000000","message":"sure, google is saying that DROP COLUMN is still slow on MySQL even in 2019, if you have millions of rows.   How many rows does Nova assume \"instances\" might have?   does it store a row for every instance ever or just the current instances a  cloud might have running?","commit_id":"dbc5dfad8f63cedeb55cd4229a35b6092c6c3b66"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"f89d427843d9faa47531ac43486ec8af0f6dfd94","unresolved":false,"context_lines":[{"line_number":340,"context_line":""},{"line_number":341,"context_line":"    # OpenStack compute cell name.  This will only be set at the top of"},{"line_number":342,"context_line":"    # the cells tree and it\u0027ll be a full cell name such as \u0027api!hop1!hop2\u0027"},{"line_number":343,"context_line":"    # TODO(stephenfin): Remove this"},{"line_number":344,"context_line":"    cell_name \u003d Column(String(255))"},{"line_number":345,"context_line":""},{"line_number":346,"context_line":"    # NOTE(pumaranikar): internal_id attribute is no longer used (bug 1441242)"}],"source_content_type":"text/x-python","patch_set":9,"id":"bfb3d3c7_46250708","line":343,"in_reply_to":"bfb3d3c7_86b77ff5","updated":"2019-05-31 00:56:37.000000000","message":"It\u0027s whatever you haven\u0027t archived/purged, so even \"deleted\" instances which is using the SoftDeleteMixin where deleting the record means just flipping the deleted column to a non-0 value.","commit_id":"dbc5dfad8f63cedeb55cd4229a35b6092c6c3b66"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"cb72a0e24ad3c04370d946092f06e7b8045ca461","unresolved":false,"context_lines":[{"line_number":343,"context_line":"    # TODO(stephenfin): Remove this"},{"line_number":344,"context_line":"    cell_name \u003d Column(String(255))"},{"line_number":345,"context_line":""},{"line_number":346,"context_line":"    # NOTE(pumaranikar): internal_id attribute is no longer used (bug 1441242)"},{"line_number":347,"context_line":"    # Hence, removing from object layer in current release (Ocata) and will"},{"line_number":348,"context_line":"    # treated as deprecated. The column can be removed from schema with"},{"line_number":349,"context_line":"    # a migration at the start of next release."},{"line_number":350,"context_line":"    # internal_id \u003d Column(Integer)"},{"line_number":351,"context_line":""},{"line_number":352,"context_line":"    # Records whether an instance has been deleted from disk"},{"line_number":353,"context_line":"    cleaned \u003d Column(Integer, default\u003d0)"}],"source_content_type":"text/x-python","patch_set":9,"id":"bfb3d3c7_11aaea17","line":350,"range":{"start_line":346,"start_character":4,"end_line":350,"end_character":35},"updated":"2019-05-30 22:29:37.000000000","message":"Having said that... https://review.opendev.org/#/c/360666/\n\nand https://review.opendev.org/#/c/192760/\n\nseems we\u0027re not very good at following our own rules","commit_id":"dbc5dfad8f63cedeb55cd4229a35b6092c6c3b66"},{"author":{"_account_id":11816,"name":"mike_mp@zzzcomputing.com","display_name":"Mike Bayer","email":"mike_mp@zzzcomputing.com","username":"zzzeek","status":"Red Hat"},"change_message_id":"31097e05991b50b4f3a90677cd7bf92a9eb83a7d","unresolved":false,"context_lines":[{"line_number":343,"context_line":"    # TODO(stephenfin): Remove this"},{"line_number":344,"context_line":"    cell_name \u003d Column(String(255))"},{"line_number":345,"context_line":""},{"line_number":346,"context_line":"    # NOTE(pumaranikar): internal_id attribute is no longer used (bug 1441242)"},{"line_number":347,"context_line":"    # Hence, removing from object layer in current release (Ocata) and will"},{"line_number":348,"context_line":"    # treated as deprecated. The column can be removed from schema with"},{"line_number":349,"context_line":"    # a migration at the start of next release."},{"line_number":350,"context_line":"    # internal_id \u003d Column(Integer)"},{"line_number":351,"context_line":""},{"line_number":352,"context_line":"    # Records whether an instance has been deleted from disk"},{"line_number":353,"context_line":"    cleaned \u003d Column(Integer, default\u003d0)"}],"source_content_type":"text/x-python","patch_set":9,"id":"bfb3d3c7_14272ecc","line":350,"range":{"start_line":346,"start_character":4,"end_line":350,"end_character":35},"in_reply_to":"bfb3d3c7_0dde4ad9","updated":"2019-05-31 12:08:09.000000000","message":"you can do that, sure.   the ORM models just dont SELECT or write to that column and it\u0027s not included in statements.","commit_id":"dbc5dfad8f63cedeb55cd4229a35b6092c6c3b66"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"ed1faaeed0f7bbb0423c98322454387913af5608","unresolved":false,"context_lines":[{"line_number":343,"context_line":"    # TODO(stephenfin): Remove this"},{"line_number":344,"context_line":"    cell_name \u003d Column(String(255))"},{"line_number":345,"context_line":""},{"line_number":346,"context_line":"    # NOTE(pumaranikar): internal_id attribute is no longer used (bug 1441242)"},{"line_number":347,"context_line":"    # Hence, removing from object layer in current release (Ocata) and will"},{"line_number":348,"context_line":"    # treated as deprecated. The column can be removed from schema with"},{"line_number":349,"context_line":"    # a migration at the start of next release."},{"line_number":350,"context_line":"    # internal_id \u003d Column(Integer)"},{"line_number":351,"context_line":""},{"line_number":352,"context_line":"    # Records whether an instance has been deleted from disk"},{"line_number":353,"context_line":"    cleaned \u003d Column(Integer, default\u003d0)"}],"source_content_type":"text/x-python","patch_set":9,"id":"bfb3d3c7_0dde4ad9","line":350,"range":{"start_line":346,"start_character":4,"end_line":350,"end_character":35},"in_reply_to":"bfb3d3c7_11aaea17","updated":"2019-05-31 08:22:05.000000000","message":"My understanding was we can drop it in the model at some point (after dropped in the object), but not in the DB? But maybe I miss understood previously.","commit_id":"dbc5dfad8f63cedeb55cd4229a35b6092c6c3b66"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"1cd76dd392b607526e56f90227876c5c2a4746ba","unresolved":false,"context_lines":[{"line_number":343,"context_line":"    # TODO(stephenfin): Remove this"},{"line_number":344,"context_line":"    cell_name \u003d Column(String(255))"},{"line_number":345,"context_line":""},{"line_number":346,"context_line":"    # NOTE(pumaranikar): internal_id attribute is no longer used (bug 1441242)"},{"line_number":347,"context_line":"    # Hence, removing from object layer in current release (Ocata) and will"},{"line_number":348,"context_line":"    # treated as deprecated. The column can be removed from schema with"},{"line_number":349,"context_line":"    # a migration at the start of next release."},{"line_number":350,"context_line":"    # internal_id \u003d Column(Integer)"},{"line_number":351,"context_line":""},{"line_number":352,"context_line":"    # Records whether an instance has been deleted from disk"},{"line_number":353,"context_line":"    cleaned \u003d Column(Integer, default\u003d0)"}],"source_content_type":"text/x-python","patch_set":9,"id":"bfb3d3c7_b768a4f4","line":350,"range":{"start_line":346,"start_character":4,"end_line":350,"end_character":35},"in_reply_to":"bfb3d3c7_14272ecc","updated":"2019-05-31 12:58:56.000000000","message":"OK maybe I just misunderstood these being drops from the model and not actually the schema. If that\u0027s the case then I guess we\u0027re OK, yeah?","commit_id":"dbc5dfad8f63cedeb55cd4229a35b6092c6c3b66"}]}
