Record watchers without sys_ids (sys_id=^approvalINapproved,rejected) will cause the flow to fire for every update within the table. This will cause process plans to become quite large and consume massive amounts of memory.
Steps to Reproduce
1 - Install the attached update set which includes the flow Empty Record Watcher.
2 - Create an incident with short description "RecordWatcher".
3 - Open the flow "Empty Record Watcher" in flow designer.
4 - Make sure the flow is paused at wait for condition on incident_task.
5 - Delete the incident record.
6 - Delete the incident task record.
Observe the flow does not enter an error condition at approval even if the parent incident has been deleted. The flow creates approvals and record watchers without sys_IDs (sys_id=^approvalINapproved,rejected).
If you are able to upgrade, review the Fixed In section to determine the latest version with a permanent fix your instance can be upgraded to.
The following workarounds can be used:
- Cancel the flows before deleting the approval parent record.
- Cancel the approval parent record rather than deleting.
- Add a Lookup record to the flow before the approval to check if the record is still there.
Related Problem: PRB1383335