We recently did a bit of an object purge on our DEV site to clean out some unused or obsolete objects. We checked for dependencies before deleting anything, but apparently we didn't check hard enough. I have a process model that contains 2 Start Process nodes, that is now displaying an error on the Setup tab (see image below). This happens even when adding a new Start Process node to the process model, but other process models work fine. The uuid listed in the error is one of the record types we deleted.
I have process variables that are type Record Type, so I started by checking the precedents of that record type. I found one that, when trying to expand its precedents tree gives me the error message:
Going in to that record type directly and attempting to view it's precedents just gives me a "Record field's uuid must not be null" error, and no precedents are displayed. However the record behaves completely normally apart from this and other apps that use it seem to be working properly. I've looked in the tomcat-stdout log, but it doesn't provide any additional information it just restates the error that is displayed. I also tried adding this record type to a package by itself, then checking for missing precedents that way. This didn't give me an error, but I also didn't find any issues in any of the precedents that could be causing this.
Does anyone have any thoughts on how I could resolve this? Any help is greatly appreciated!
Discussion posts and replies are publicly visible
If you cannot import that missing record type(s) from a different environment, you will probably have to rebuilt the model. Or at least delete things until it work, follow the dependencies.
Record type still references the deleted object internally.I would recommend open the record type re-save it to refresh references. Check and update any relationships, custom fields, or expressions that might reference the deleted UUID. For the process model, remove and re-add the process variables that use this record type. If these steps don't work, you'll need to recreate the record type entirely and update all references to use the new one instead.
I was afraid you'd say that. I was able to deploy the deleted record type back to DEV. The only dependency that record type (I'll call it R1 from now on) shows is another record type that was deleted at the same time (that I deployed back to DEV as well, and will refer to as R2). R2's only dependency is R1.
The Start Process nodes in the process model are now showing correctly with no error. However, looking through the precedents of that process model, there is no reference to that deleted record, no matter how deep I go. Also, I am still getting the "Record field's uuid must not be null" error when trying to view the precedents of the record type that was giving me that error previously (R3).
I think I'll try having Appian Support reboot the DEV server (after I delete R1 and R2 again) and see if that helps. If not, I guess I'll start recreating R3 from scratch.
Re-saving the record type (R3, see reply to Stefan) did not fix the issue, I have double checked all filters, relationships, views, and actions and nothing uses the deleted record type (R1). R3 was still experiencing the issue I described after redeploying R1 back to DEV.
I tried removing and recreating the process variables and even creating a whole new process model, but as soon as I added a reference to the record type back into the process model, I got the error.
Jack Ferguson said:looking through the precedents of that process model, there is no reference to that deleted record, no matter how deep I go
As a last check you can check the Documentation of Process Model to find if anywhere the deleted record is referenced!
For R3 are you able to save the record or are seeing any errors in the record or dependent objects of the record?
Harsha,
I checked the process model documentation and there is no reference to the deleted record type.
There are no errors in R3. It saves normally and all apps that use it are functioning normally as well.
okay! Then, yeah, only option seems to be Appian Support Team!
Since R3 has internal corruption that persists even in new process models and after restoring R1/R2, you'll likely need to recreate it. The server reboot is worth trying first, but given all your troubleshooting, R3's metadata appears permanently corrupted. Export R3 for reference, then create a new record type and test it before updating all dependent objects to use the new record type.
For this error "Record field's uuid must not be null",
Can you try to compare the Dev record export xml and higher env record export xml and see if you can get any difference