Details
-
Incident report
-
Status: Closed
-
Blocker
-
Resolution: Fixed
-
3.0.0
Description
Previously when processing conditions they were taken from database with "order by conditiontype" and this block of code was working correctly:
case CONDITION_EVAL_TYPE_AND_OR: if (old_type == condition->conditiontype) { if (SUCCEED == condition_result) ret = SUCCEED; } else { if (FAIL == ret) goto clean; ret = condition_result; old_type = condition->conditiontype; } break;
Now, in 3.0, conditions are taken from configuration cache where they, seems, are sorted by "conditionid" instead of "conditiontype".
If a condition type A will be evaluated to FAIL after evaluation of another condition type B, then that FAIL simply overwrites possible SUCCESS of earlier evaluated condition type A.
As a result - an action which worked in 2.4 stops to work in 3.0 (for sure!) or vice versa (I guess).