)]}'
{"nova/compute/api.py":[{"author":{"_account_id":1711,"name":"Yun Mao","email":"yunmao@gmail.com","username":"yunmao"},"change_message_id":"eae643c418e380125154d2302117bcbf6c099f54","unresolved":false,"context_lines":[{"line_number":1935,"context_line":"            return False"},{"line_number":1936,"context_line":""},{"line_number":1937,"context_line":"    @check_instance_state(vm_state\u003d[vm_states.ACTIVE],"},{"line_number":1938,"context_line":"                          task_state\u003d[None])"},{"line_number":1939,"context_line":"    def live_migrate(self, context, instance, block_migration,"},{"line_number":1940,"context_line":"                     disk_over_commit, host):"},{"line_number":1941,"context_line":"        \"\"\"Migrate a server lively to a new host.\"\"\""}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAALH%2F%2FbHk%3D","line":1938,"updated":"2012-09-12 14:31:24.000000000","message":"this is the default value so not really necessary.","commit_id":"26726411284faca927e806b00b2f1515fbdfb0de"},{"author":{"_account_id":1970,"name":"Jacob Wen","email":"wenjianhn@gmail.com","username":"wenjianhn"},"change_message_id":"d5bb0030b122a450beda0e66dacaa8ee74466965","unresolved":false,"context_lines":[{"line_number":1935,"context_line":"            return False"},{"line_number":1936,"context_line":""},{"line_number":1937,"context_line":"    @check_instance_state(vm_state\u003d[vm_states.ACTIVE],"},{"line_number":1938,"context_line":"                          task_state\u003d[None])"},{"line_number":1939,"context_line":"    def live_migrate(self, context, instance, block_migration,"},{"line_number":1940,"context_line":"                     disk_over_commit, host):"},{"line_number":1941,"context_line":"        \"\"\"Migrate a server lively to a new host.\"\"\""}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAALH%2F%2Fa5w%3D","line":1938,"in_reply_to":"AAAALH%2F%2FbHk%3D","updated":"2012-09-12 17:14:32.000000000","message":"Done","commit_id":"26726411284faca927e806b00b2f1515fbdfb0de"},{"author":{"_account_id":2284,"name":"Eoghan Glynn","email":"eglynn@redhat.com","username":"eglynn"},"change_message_id":"4d2f782994d428bf4b5f71148f8a2de6324e0b16","unresolved":false,"context_lines":[{"line_number":1943,"context_line":""},{"line_number":1944,"context_line":"        instance \u003d self.update(context, instance,"},{"line_number":1945,"context_line":"                               task_state\u003dtask_states.MIGRATING,"},{"line_number":1946,"context_line":"                               expected_task_state\u003dNone)"},{"line_number":1947,"context_line":""},{"line_number":1948,"context_line":"        self.scheduler_rpcapi.live_migration(context, block_migration,"},{"line_number":1949,"context_line":"                disk_over_commit, instance, host)"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAALH%2F%2Fa0c%3D","line":1946,"updated":"2012-09-12 17:43:08.000000000","message":"I\u0027m confused as to why the defaulted task_state parameter to the @check_instance_state decorator, i.e. (None,), doesn\u0027t already handle raising an exception if the current instance task state is non-None.","commit_id":"a3bdc1624fd557e0699acb049b1ca0c1ef894c2f"},{"author":{"_account_id":1711,"name":"Yun Mao","email":"yunmao@gmail.com","username":"yunmao"},"change_message_id":"24367cca535f9e608363dbb952d97c42865daa67","unresolved":false,"context_lines":[{"line_number":1943,"context_line":""},{"line_number":1944,"context_line":"        instance \u003d self.update(context, instance,"},{"line_number":1945,"context_line":"                               task_state\u003dtask_states.MIGRATING,"},{"line_number":1946,"context_line":"                               expected_task_state\u003dNone)"},{"line_number":1947,"context_line":""},{"line_number":1948,"context_line":"        self.scheduler_rpcapi.live_migration(context, block_migration,"},{"line_number":1949,"context_line":"                disk_over_commit, instance, host)"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAALH%2F%2Fazk%3D","line":1946,"in_reply_to":"AAAALH%2F%2Fa0c%3D","updated":"2012-09-12 17:55:41.000000000","message":"Because it\u0027s possible that after the check, and before the update, another task is executed by a separate API node.","commit_id":"a3bdc1624fd557e0699acb049b1ca0c1ef894c2f"},{"author":{"_account_id":1970,"name":"Jacob Wen","email":"wenjianhn@gmail.com","username":"wenjianhn"},"change_message_id":"118d52ae0283b132bea2cad4a01a740ffbe3be84","unresolved":false,"context_lines":[{"line_number":1943,"context_line":""},{"line_number":1944,"context_line":"        instance \u003d self.update(context, instance,"},{"line_number":1945,"context_line":"                               task_state\u003dtask_states.MIGRATING,"},{"line_number":1946,"context_line":"                               expected_task_state\u003dNone)"},{"line_number":1947,"context_line":""},{"line_number":1948,"context_line":"        self.scheduler_rpcapi.live_migration(context, block_migration,"},{"line_number":1949,"context_line":"                disk_over_commit, instance, host)"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAALH%2F%2Fazo%3D","line":1946,"in_reply_to":"AAAALH%2F%2Fa0c%3D","updated":"2012-09-12 17:57:42.000000000","message":"I think that db access is I/O blocking which makes thread context switches.","commit_id":"a3bdc1624fd557e0699acb049b1ca0c1ef894c2f"}]}
