I have an action that updates a simple boolean variable on a button click. This variable is used in client filters and lists filters throughout the app. When I run this action, the whole environment crashes and I get a 503. There are no error messages or logs indicating why this happens. The boolean changes and the changes have been made when the app reconnects. Any idea why this happens?
The action is “V8 Control MBT” in the log images
Hi! It seems that “old” data in some objects is causing this problem. We have checked the server logs and assume that a field that used to be of type url, image url or string has now been set to be a reference. Is it possible that a data type has been changed subsequently?
That is difficult to know, but if that is the case, would the solution be to delete this old data? Do you have any logs on what object or data this problem is connected to?
Ending up in such situations (and logging) is improved in the upcoming version of Appfarm. As Simona states, this is caused by a property that has a string or URL stored in the database, but the datatype has then been changed to a object reference. When that boolean property is updated, those data are loaded (due to filter or a calculated property).
To figure this out, I suggest trying to set “Initially disabled” on datasources, until it works. When it works, the latter datasource is the sinner. You may delete all data in that object class, or use GraphQL to inspect is some of the reference properties has a string stored in it.
I have checked all data sources that the boolean affect and it crashed every time. However, with certain users, it doesn’t crash.
So, setting initially disabled on all database connected datasources - it still crashes?
The reason it doesn’t crash for all users, it probably because the records that are read differs from user to user, and the erroneous data only exists for some users.
I found the incorrect data, but let’s take it in DM
Found the issue.
A runtime property had been added with node name “dataroomThumbnail”. It was of datatype string. Then, a property was added to the global data model with the same nodeName, but datatype being a reference to another object class.
Seems like this has been fixed in the upcoming version!