)]}'
{"nova/cmd/manage.py":[{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"1ad9ded25b998853a82c35488c17db3c279818ba","unresolved":false,"context_lines":[{"line_number":937,"context_line":""},{"line_number":938,"context_line":"        migrations \u003d dct.get(\u0027online_migrations\u0027, ())"},{"line_number":939,"context_line":"        for mig_class in migrations:"},{"line_number":940,"context_line":"            name \u003d \"migrate_%s_data\" % mig_class.obj_cls.__name__.lower()"},{"line_number":941,"context_line":"            script \u003d generate_script(name, mig_class)"},{"line_number":942,"context_line":"            dct[name] \u003d script"},{"line_number":943,"context_line":"        return type.__new__(cls, name, bases, dct)"}],"source_content_type":"text/x-python","patch_set":2,"id":"3a57f1b5_911dc275","line":940,"updated":"2016-02-10 09:50:09.000000000","message":"Oh, I see what this is doing now, my bad.\n\nI was really expecting a single \"migrate_data\" cmd, that loops through all registered online migrations, until we have done the max_number, or we are complete.","commit_id":"881df500c9d959fcafa745099542bb4b10322f43"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"fc3bb376ba5c84b063903d52442a8baff7061b09","unresolved":false,"context_lines":[{"line_number":937,"context_line":""},{"line_number":938,"context_line":"        migrations \u003d dct.get(\u0027online_migrations\u0027, ())"},{"line_number":939,"context_line":"        for mig_class in migrations:"},{"line_number":940,"context_line":"            name \u003d \"migrate_%s_data\" % mig_class.obj_cls.__name__.lower()"},{"line_number":941,"context_line":"            script \u003d generate_script(name, mig_class)"},{"line_number":942,"context_line":"            dct[name] \u003d script"},{"line_number":943,"context_line":"        return type.__new__(cls, name, bases, dct)"}],"source_content_type":"text/x-python","patch_set":2,"id":"3a57f1b5_1ce56908","line":940,"in_reply_to":"3a57f1b5_911dc275","updated":"2016-02-10 09:56:39.000000000","message":"Yeah, I get the idea around picking which one happens when, but I think we should try and keep this simple, and just allow the max_number to throttle the rate.\n\nGenerally we found that was enough to make sure we didn\u0027t have issues with our read slaves DBs falling too far behind the master DB.","commit_id":"881df500c9d959fcafa745099542bb4b10322f43"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"e9e204e1619c3fad8c287f73a8c1282d83d812ef","unresolved":false,"context_lines":[{"line_number":940,"context_line":"            name \u003d \"migrate_%s_data\" % mig_class.obj_cls.__name__.lower()"},{"line_number":941,"context_line":"            script \u003d generate_script(name, mig_class)"},{"line_number":942,"context_line":"            dct[name] \u003d script"},{"line_number":943,"context_line":"        return type.__new__(cls, name, bases, dct)"},{"line_number":944,"context_line":""},{"line_number":945,"context_line":""},{"line_number":946,"context_line":"@six.add_metaclass(_OnlineMigrationMeta)"}],"source_content_type":"text/x-python","patch_set":2,"id":"3a57f1b5_31d16ece","line":943,"updated":"2016-02-10 09:47:09.000000000","message":"Can\u0027t we just use the object registry, and run though all registered objects, see if they have any online data migrations that are required?","commit_id":"881df500c9d959fcafa745099542bb4b10322f43"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"1ad9ded25b998853a82c35488c17db3c279818ba","unresolved":false,"context_lines":[{"line_number":940,"context_line":"            name \u003d \"migrate_%s_data\" % mig_class.obj_cls.__name__.lower()"},{"line_number":941,"context_line":"            script \u003d generate_script(name, mig_class)"},{"line_number":942,"context_line":"            dct[name] \u003d script"},{"line_number":943,"context_line":"        return type.__new__(cls, name, bases, dct)"},{"line_number":944,"context_line":""},{"line_number":945,"context_line":""},{"line_number":946,"context_line":"@six.add_metaclass(_OnlineMigrationMeta)"}],"source_content_type":"text/x-python","patch_set":2,"id":"3a57f1b5_f10c3644","line":943,"in_reply_to":"3a57f1b5_31d16ece","updated":"2016-02-10 09:50:09.000000000","message":"ignore me, miss read.","commit_id":"881df500c9d959fcafa745099542bb4b10322f43"}]}
