mistral/mistral
Renat Akhmerov e50fbfbdd9 Fix how Mistral calculates workflow output
* Workflow output sometimes is not calculated correctly due to
  the race condition between different transactions: the one that
  checks workflow completion (i.e. calls "check_and_complete") and
  the one that processes action execution completion (i.e. calls
  "on_action_complete"). Calculating output sometimes was based on
  stale data cached by the SQLAlchemy session. To fix this, we just
  need to expire all objects in the session so that they are
  refreshed automatically if we read their state in order to make
  required calculations. See the bug description for more details
  on how the problem was observed.
* Added another test for direct workflow that formally checks
  calculation of workflow output. It doesn't pretend to test the
  aforementioned issue (it can be reproduced only with a big number
  of attempts, and/or under load). It's for the sake of the test
  module completeness.

Change-Id: I4a7e7fd9a4bbb6e93df169b4b40bc2d83ccfce89
Closes-Bug: #1792090
(cherry picked from commit dfdff78315)
2018-09-14 13:03:56 +01:00
..
actions Remove extra information from std.ssh action 2018-09-10 08:08:20 +00:00
api Merge "Add namespace parameter to Workbook API doc" 2018-08-01 06:45:16 +00:00
auth expose the user info url as a configuration 2018-08-02 15:57:41 +03:00
cmd Enable mutable config in mistral 2018-07-25 03:40:34 +05:30
db Fix how Mistral calculates workflow output 2018-09-14 13:03:56 +01:00
engine Fix how Mistral calculates workflow output 2018-09-14 13:03:56 +01:00
event_engine Amend the spelling error of a word 2018-06-18 15:47:30 +08:00
executors Clarify what an exception from an action means 2018-07-31 15:00:11 +01:00
expressions Add YAQL engine options 2018-06-01 17:06:57 +07:00
ext Use the Mistral syntax highlighting on the dsl v2 page 2017-04-06 10:20:34 +01:00
hacking Fix the pep8 commands failed 2017-07-27 22:15:12 +08:00
lang Merge "Remove extra a specification validation" 2018-07-31 08:27:18 +00:00
notifiers Add a debug log for the webhook publisher 2018-07-30 10:05:47 +01:00
policies Add a policy to control the right to publish resources 2018-07-05 11:46:52 +02:00
resources Fix for YaqlEvaluationException in std.create_instance workflow. 2016-07-12 00:29:23 -04:00
rpc Migrate mistral to using the serialization code in mistral-lib 2018-07-23 12:55:41 +01:00
service Optimize API layer: using from_db_model() instead of from_dict() 2017-05-22 12:03:17 +07:00
services Performance: remove unnecessary workflow execution update 2018-09-03 13:28:33 +00:00
tests Fix how Mistral calculates workflow output 2018-09-14 13:03:56 +01:00
utils Remove hardcoded usage of v2 authentication in Barbican actions 2018-07-24 13:32:07 +02:00
workflow Allow engine commands as task name 2018-07-19 14:23:18 +00:00
__init__.py Remove eventlet monkey patch in mistral __init__ 2015-02-20 07:49:56 +00:00
_i18n.py Update and optimize documentation links 2017-07-19 17:10:49 +08:00
config.py expose the user info url as a configuration 2018-08-02 15:57:41 +03:00
context.py Explicitly convert X-Target-Insecure to a boolean 2018-08-23 13:02:12 +00:00
exceptions.py Create Base class for Mistral Exceptions and Errors 2018-05-31 08:47:04 +00:00
messaging.py [Event-engine] Make listener pool name configurable 2017-10-13 10:47:34 +03:00
version.py Removed unnecessary utf-8 encoding 2017-01-11 02:58:04 +00:00