If the Activity Stream field has been added to a form and that form is used for records that have thousands of audit entries, then the form will load slowly the first time a user looks at the form.
This is because the Activity Stream is dependent on the creation of a History Set. History Sets are a way of collecting all the different activity types into a temporary table that "caches" a certain result based on domain, language, timezone, and date format. The whole History Set must be built, regardless of what setting has been configured to restrict the fields displayed in the Activity Stream properties for that table (e.g. glide.ui.incident_activity.fields).
For example, if a customer has over 15,000 audit entries related to a single record it can take over 1 minute to build the History Set the first time.
Steps to Reproduce
In an affected instance
- Create 15,000+ audit entries related to an incident (or any task record).
- If you do step #2 through the backend, make an update to the incident so that the HistorySet gets updated.
Notice that it takes about 16 seconds to load the form the first time.
For an instance with many millions of audit records, this takes substantially longer - over two minutes - especially if they have Table Extension implemented on the sys_audit table.
This is expected behavior and by design. If you are affected by this issue, please try any of the following workarounds:
- You can open the record on a different view that does not contain the work_notes so it does not load the activity stream
- You can remove the work_notes from being displayed on the default view
- Delete the sys_audit records on the particular record column that has a lot of audit records in order to view it with the work notes
Related Problem: PRB1292391