While trying to save a new incident, users were getting a message at the top as 'Invalid Update', and another error message below a field as 'Match not found, reset to original'
The error is actually coming from the domain field that is present on the incident form, which is usually hidden using an OOB UI Policy.
The root cause of the issue was a client script, which was responsible for setting the value of the domain field on the incident record.
This Client script checks the domain of the caller by doing Gliderecord query from the sys_user table and populates the same for the incident. However, in the domain table, there is no actual domain called global. In a domain separated instance, global domain signifies the absence of domain.
When the customer was setting the domain to global for the incident, the system is not finding any reference to a domain named global, hence rolling back the whole transaction.
Customer needs to either modify the client script (or the script include, that they are calling from the client script ), not to populate the domain field with the global domain. In OOB, usually, there should not be any new record that is created, exist in global, and without proper assignment should fall back to the Default domain. The customer can configure or rewrite the script include code to check if the user's domain is global or not. If so, don't send global and send a fallback domain instead. Customer can create a Default domain if they wish.