Non-Critical flag on trigger actions not working as expected


(Douglas (@finnatic at @waikato)) #1

Matrix Version: 5.4.5.1

As posted over in slack - I have trigger to create image varieties which appears to be failing on a trigger action set to be non-critical?

I’m using trigger A which creates three varieties with the batch option, running it across a large folder of assets which have child thumbnail (we’re still on 5.4) assets. An existing trigger creates one of the varieties that trigger A tried to create, and separate work has seen some varieties already created that trigger A tries to create.

The manual page - https://matrix.squiz.net/manuals/triggers/chapters/adding-and-maintaining-triggers - suggests

“You can, however, specify an action as Non-Critical ; this will allow any remaining actions to continue to be run if another action fails. For example, in the figure above, if the Non-Critical option was selected and the Trigger was unable to set the Status of the asset, the remaining actions configured on the Trigger would still be performed.”

however the trigger starts and then quietly fails - leaving only error log entries like:

[2020-05-26 10:30:46][$userdetailsyoudontneedtosee][512:matrix warning][R] (/core/assets/files/image/image.inc:600) - Cannot create variety with name “60” as it is already used by another variety
[26-May-2020 10:30:46 Pacific/Auckland] PHP Fatal error: Call to a member function setAttrValue() on a non-object in /home/websites/mysource_matrix/core/assets/system/triggers/trigger_action_types/trigger_action_create_image_variety/trigger_action_create_image_variety.inc on line 78


(Bart Banda) #2

This def looks like a bug that I’m guessing has been fixed since that version. I wonder if you could use the keyword trigger condition to check if the asset already has that variety, and if it does, don’t run the action?