Constant fetching value even after deletion.

I observed a strange behavior in Appian 16.2,
A constant value is reflecting in one interface whereas I have deleted that constant permanently few days ago. I re-verified and that constant was nowhere in the environment. Also, I tried creating a new constant with same name and it was not showing any error like “Name already exists” which is surprising. Once new constant with same name created then the new value reflected in the interface.
Is this an Appian bug? or, Why is it happening?

OriginalPostID-253083

  Discussion posts and replies are publicly visible

Parents
  • It is not likely a bug . The behavior you have described is applicable to expression rules also. (Create an expression rule, use it in an interface and then delete that expression rule. The interface still works.) I too have observed it on 16.2
    This behavior was common in older versions of Appian (6.x). I think it was changed in some later version. It may have been reverted back. It actually makes sense.
    The reason:
    Imagine you have lot of process instances and interfaces using the constant/expression rule.
    If the constant/expression rule is deleted and the reference from Appian system is also removed automatically, the running process instances may pause due to exception.
    Hence, Appian used to keep the references to those expression rules/constants (even when they may have been deleted from the environment).
    Now, if you create a new expression rule/constant with same name as the deleted one, the dependent objects will automatically pick the newer design object, and hence the dependent objects will automatically refer to new code.
    It is in a way good thing - your old instances don't pause by exception, also when you create new constant/expression rule with same name, the dependent objects seamlessly work with the new design object.

    Still, I am also surprised that this behavior is still there, I though that this behavior was changed in some Appian version.
Reply
  • It is not likely a bug . The behavior you have described is applicable to expression rules also. (Create an expression rule, use it in an interface and then delete that expression rule. The interface still works.) I too have observed it on 16.2
    This behavior was common in older versions of Appian (6.x). I think it was changed in some later version. It may have been reverted back. It actually makes sense.
    The reason:
    Imagine you have lot of process instances and interfaces using the constant/expression rule.
    If the constant/expression rule is deleted and the reference from Appian system is also removed automatically, the running process instances may pause due to exception.
    Hence, Appian used to keep the references to those expression rules/constants (even when they may have been deleted from the environment).
    Now, if you create a new expression rule/constant with same name as the deleted one, the dependent objects will automatically pick the newer design object, and hence the dependent objects will automatically refer to new code.
    It is in a way good thing - your old instances don't pause by exception, also when you create new constant/expression rule with same name, the dependent objects seamlessly work with the new design object.

    Still, I am also surprised that this behavior is still there, I though that this behavior was changed in some Appian version.
Children
No Data