)]}'
{"smaug/services/operationengine/manager.py":[{"author":{"_account_id":20883,"name":"Yuval Brik","email":"yuval@brik.org.il","username":"yuvalbr"},"change_message_id":"8d5039deb5149d03da37fbdab9c770b2f2762a71","unresolved":false,"context_lines":[{"line_number":163,"context_line":"        if state.state \u003d\u003d constants.OPERATION_STATE_SUSPEND or ("},{"line_number":164,"context_line":"                state.state \u003d\u003d constants.OPERATION_STATE_DELETED):"},{"line_number":165,"context_line":"            raise exception.InvalidParameterValue("},{"line_number":166,"context_line":"                err\u003d\u0027Can not suspend operation\u0027)"},{"line_number":167,"context_line":""},{"line_number":168,"context_line":"        self._trigger_manager.unregister_operation("},{"line_number":169,"context_line":"            state.operation.trigger_id, operation_id)"}],"source_content_type":"text/x-python","patch_set":3,"id":"bacf61ea_796a4cb4","line":166,"range":{"start_line":166,"start_character":0,"end_line":166,"end_character":48},"updated":"2016-08-07 08:00:04.000000000","message":"Change the error message to reflect the reason why the operation can not be suspended (i.e \"Operation already deleted\")","commit_id":"0fae7d54c04a2562f31f7529235d3cef846a066d"},{"author":{"_account_id":18266,"name":"zengchen","email":"chenzeng2@huawei.com","username":"zengchen"},"change_message_id":"5c1f7cbc9db584a52bd4bb6a5e313a8f062baaed","unresolved":false,"context_lines":[{"line_number":163,"context_line":"        if state.state \u003d\u003d constants.OPERATION_STATE_SUSPEND or ("},{"line_number":164,"context_line":"                state.state \u003d\u003d constants.OPERATION_STATE_DELETED):"},{"line_number":165,"context_line":"            raise exception.InvalidParameterValue("},{"line_number":166,"context_line":"                err\u003d\u0027Can not suspend operation\u0027)"},{"line_number":167,"context_line":""},{"line_number":168,"context_line":"        self._trigger_manager.unregister_operation("},{"line_number":169,"context_line":"            state.operation.trigger_id, operation_id)"}],"source_content_type":"text/x-python","patch_set":3,"id":"bacf61ea_a218041f","line":166,"range":{"start_line":166,"start_character":0,"end_line":166,"end_character":48},"in_reply_to":"bacf61ea_796a4cb4","updated":"2016-08-08 03:12:53.000000000","message":"got it. thanks!","commit_id":"0fae7d54c04a2562f31f7529235d3cef846a066d"},{"author":{"_account_id":20883,"name":"Yuval Brik","email":"yuval@brik.org.il","username":"yuvalbr"},"change_message_id":"8d5039deb5149d03da37fbdab9c770b2f2762a71","unresolved":false,"context_lines":[{"line_number":175,"context_line":"                                   exception.TriggerNotFound,"},{"line_number":176,"context_line":"                                   exception.TriggerIsInvalid,"},{"line_number":177,"context_line":"                                   exception.InvalidParameterValue)"},{"line_number":178,"context_line":"    def restart_scheduled_operation(self, context, operation_id):"},{"line_number":179,"context_line":"        LOG.debug(\"Restart scheduled operation.\")"},{"line_number":180,"context_line":""},{"line_number":181,"context_line":"        state \u003d objects.ScheduledOperationState.\\"},{"line_number":182,"context_line":"            get_by_operation_id(context, operation_id, [\u0027operation\u0027])"}],"source_content_type":"text/x-python","patch_set":3,"id":"bacf61ea_396c54cf","line":179,"range":{"start_line":178,"start_character":0,"end_line":179,"end_character":49},"updated":"2016-08-07 08:00:04.000000000","message":"\"restart\" might sound like the operation is started from the beginning. Consider changing to \"resume\"","commit_id":"0fae7d54c04a2562f31f7529235d3cef846a066d"},{"author":{"_account_id":18266,"name":"zengchen","email":"chenzeng2@huawei.com","username":"zengchen"},"change_message_id":"5c1f7cbc9db584a52bd4bb6a5e313a8f062baaed","unresolved":false,"context_lines":[{"line_number":175,"context_line":"                                   exception.TriggerNotFound,"},{"line_number":176,"context_line":"                                   exception.TriggerIsInvalid,"},{"line_number":177,"context_line":"                                   exception.InvalidParameterValue)"},{"line_number":178,"context_line":"    def restart_scheduled_operation(self, context, operation_id):"},{"line_number":179,"context_line":"        LOG.debug(\"Restart scheduled operation.\")"},{"line_number":180,"context_line":""},{"line_number":181,"context_line":"        state \u003d objects.ScheduledOperationState.\\"},{"line_number":182,"context_line":"            get_by_operation_id(context, operation_id, [\u0027operation\u0027])"}],"source_content_type":"text/x-python","patch_set":3,"id":"bacf61ea_a2ef64e7","line":179,"range":{"start_line":178,"start_character":0,"end_line":179,"end_character":49},"in_reply_to":"bacf61ea_396c54cf","updated":"2016-08-08 03:12:53.000000000","message":"sorry, i have not noticed the differences between them. i will update it. thank you!","commit_id":"0fae7d54c04a2562f31f7529235d3cef846a066d"},{"author":{"_account_id":20883,"name":"Yuval Brik","email":"yuval@brik.org.il","username":"yuvalbr"},"change_message_id":"8d5039deb5149d03da37fbdab9c770b2f2762a71","unresolved":false,"context_lines":[{"line_number":183,"context_line":""},{"line_number":184,"context_line":"        if state.state !\u003d constants.OPERATION_STATE_SUSPEND:"},{"line_number":185,"context_line":"            raise exception.InvalidParameterValue("},{"line_number":186,"context_line":"                err\u003d\u0027Can not restart operation\u0027)"},{"line_number":187,"context_line":""},{"line_number":188,"context_line":"        try:"},{"line_number":189,"context_line":"            self._trigger_manager.register_operation("}],"source_content_type":"text/x-python","patch_set":3,"id":"bacf61ea_d99ff8b1","line":186,"range":{"start_line":186,"start_character":0,"end_line":186,"end_character":48},"updated":"2016-08-07 08:00:04.000000000","message":"ditto","commit_id":"0fae7d54c04a2562f31f7529235d3cef846a066d"},{"author":{"_account_id":18266,"name":"zengchen","email":"chenzeng2@huawei.com","username":"zengchen"},"change_message_id":"5c1f7cbc9db584a52bd4bb6a5e313a8f062baaed","unresolved":false,"context_lines":[{"line_number":183,"context_line":""},{"line_number":184,"context_line":"        if state.state !\u003d constants.OPERATION_STATE_SUSPEND:"},{"line_number":185,"context_line":"            raise exception.InvalidParameterValue("},{"line_number":186,"context_line":"                err\u003d\u0027Can not restart operation\u0027)"},{"line_number":187,"context_line":""},{"line_number":188,"context_line":"        try:"},{"line_number":189,"context_line":"            self._trigger_manager.register_operation("}],"source_content_type":"text/x-python","patch_set":3,"id":"bacf61ea_e2bb1ce3","line":186,"range":{"start_line":186,"start_character":0,"end_line":186,"end_character":48},"in_reply_to":"bacf61ea_d99ff8b1","updated":"2016-08-08 03:12:53.000000000","message":"got it. thanks.","commit_id":"0fae7d54c04a2562f31f7529235d3cef846a066d"}],"smaug/tests/unit/operationengine/test_manager.py":[{"author":{"_account_id":20883,"name":"Yuval Brik","email":"yuval@brik.org.il","username":"yuvalbr"},"change_message_id":"8d5039deb5149d03da37fbdab9c770b2f2762a71","unresolved":false,"context_lines":[{"line_number":116,"context_line":"                          self.ctxt, op_id)"},{"line_number":117,"context_line":""},{"line_number":118,"context_line":"        # restart"},{"line_number":119,"context_line":"        self.manager._trigger_manager.register_operation("},{"line_number":120,"context_line":"            self._trigger.id, op_id)"},{"line_number":121,"context_line":""},{"line_number":122,"context_line":"        self.manager.restart_scheduled_operation(self.ctxt, op_id)"},{"line_number":123,"context_line":"        s \u003d objects.ScheduledOperationState.get_by_operation_id("}],"source_content_type":"text/x-python","patch_set":3,"id":"bacf61ea_b95324e1","line":120,"range":{"start_line":119,"start_character":0,"end_line":120,"end_character":36},"updated":"2016-08-07 08:00:04.000000000","message":"why is it required to register operation here?","commit_id":"0fae7d54c04a2562f31f7529235d3cef846a066d"},{"author":{"_account_id":18266,"name":"zengchen","email":"chenzeng2@huawei.com","username":"zengchen"},"change_message_id":"5c1f7cbc9db584a52bd4bb6a5e313a8f062baaed","unresolved":false,"context_lines":[{"line_number":116,"context_line":"                          self.ctxt, op_id)"},{"line_number":117,"context_line":""},{"line_number":118,"context_line":"        # restart"},{"line_number":119,"context_line":"        self.manager._trigger_manager.register_operation("},{"line_number":120,"context_line":"            self._trigger.id, op_id)"},{"line_number":121,"context_line":""},{"line_number":122,"context_line":"        self.manager.restart_scheduled_operation(self.ctxt, op_id)"},{"line_number":123,"context_line":"        s \u003d objects.ScheduledOperationState.get_by_operation_id("}],"source_content_type":"text/x-python","patch_set":3,"id":"bacf61ea_620e0c3c","line":120,"range":{"start_line":119,"start_character":0,"end_line":120,"end_character":36},"in_reply_to":"bacf61ea_b95324e1","updated":"2016-08-08 03:12:53.000000000","message":"I want to test the logic of following codes. If register the\nsame operation again, then \u0027register_operation\u0027 will raise an\nexception, but we should ignore it. Because the error may\nhappened at DB, and we can retry it.\n\n        try:\n            self._trigger_manager.register_operation(\n                state.operation.trigger_id, operation_id)\n        except exception.ScheduledOperationExist:\n            pass\n        except Exception:\n            raise\n\n        state.state \u003d constants.OPERATION_STATE_REGISTERED\n        state.save()","commit_id":"0fae7d54c04a2562f31f7529235d3cef846a066d"}]}
