Activity log for bug #1690316

Date Who What changed Old value New value Message
2017-05-12 07:33:10 Renat Akhmerov bug added bug
2017-05-12 07:33:19 Renat Akhmerov mistral: milestone pike-2
2017-05-12 07:33:34 Renat Akhmerov bug added subscriber Moshe Elisha
2017-05-12 07:40:01 Renat Akhmerov mistral: status New Confirmed
2017-05-12 07:40:04 Renat Akhmerov mistral: importance Undecided High
2017-05-12 07:40:06 Renat Akhmerov mistral: assignee Renat Akhmerov (rakhmerov)
2017-05-12 09:16:50 Renat Akhmerov description The method looks like: def _fail_workflow(self, final_context, msg): if states.is_paused_or_completed(self.wf_ex.state): return output_on_error = {} try: output_on_error = data_flow.evaluate_workflow_output( self.wf_ex, self.wf_spec.get_output_on_error(), final_context ) except exc.MistralException as e: msg = ( "Failed to evaluate expression in output-on-error! " "(output-on-error: '%s', exception: '%s' Cause: '%s'" % (self.wf_spec.get_output_on_error(), e, msg) ) LOG.error(msg) self.set_state(states.ERROR, state_info=msg) # When we set an ERROR state we should safely set output value getting # w/o exceptions due to field size limitations. msg = utils.cut_by_kb( msg, cfg.CONF.engine.execution_field_size_limit_kb ) self.wf_ex.output = merge_dicts({'result': msg}, output_on_error) if self.wf_ex.task_execution_id: self._schedule_send_result_to_parent_workflow() So, we first utils.cut_by_kb() for "msg" but then, essentially, add 'output_on_error' to it so the resulting size of 'output' may be greater than cfg.CONF.engine.execution_field_size_limit_kb The method looks like (with the beginning omitted):     def _fail_workflow(self, final_context, msg): ....         # When we set an ERROR state we should safely set output value getting         # w/o exceptions due to field size limitations.         msg = utils.cut_by_kb(             msg,             cfg.CONF.engine.execution_field_size_limit_kb         )         self.wf_ex.output = merge_dicts({'result': msg}, output_on_error)         if self.wf_ex.task_execution_id:             self._schedule_send_result_to_parent_workflow() So, we first use utils.cut_by_kb() for "msg" but then, essentially, add 'output_on_error' to it so the resulting size of 'output' may be greater than cfg.CONF.engine.execution_field_size_limit_kb
2017-05-12 10:01:03 Renat Akhmerov summary workflow_handler._fail_workflow() may fail if "output_on_error" is not empty Workflow._fail_workflow() may fail if "output_on_error" is not empty
2017-05-29 08:00:08 Renat Akhmerov mistral: assignee Renat Akhmerov (rakhmerov)
2017-06-08 05:00:15 Renat Akhmerov mistral: milestone pike-2 pike-3
2017-07-27 10:50:29 Renat Akhmerov mistral: milestone pike-3 pike-rc1
2017-08-01 08:00:48 Ritesh Paiboina mistral: assignee Ritesh (rsritesh)
2017-08-03 10:28:15 OpenStack Infra mistral: status Confirmed In Progress
2017-08-29 05:13:55 Renat Akhmerov mistral: milestone pike-rc1 queens-1
2017-11-16 08:35:03 Renat Akhmerov mistral: milestone queens-1 queens-2
2017-11-16 08:43:32 Ritesh Paiboina mistral: status In Progress New
2017-11-16 08:43:34 Ritesh Paiboina mistral: assignee Ritesh (rsritesh)
2017-12-12 11:33:13 Renat Akhmerov mistral: milestone queens-2
2018-02-08 05:56:05 Renat Akhmerov mistral: milestone queens-rc1
2018-02-08 05:56:16 Renat Akhmerov mistral: assignee ritesh (ritesh)
2018-02-08 05:56:57 Renat Akhmerov mistral: assignee ritesh (ritesh) Ritesh (rsritesh)
2018-02-09 08:29:41 OpenStack Infra mistral: status New Fix Released