Every time a single sys_user is updated, the whole user_criteria_cache is flushed. When the user_criteria_cache is flushed, it must be rebuilt for every user who performs an operation that is controlled via User Criteria. Depending on how slow it is to evaluate the scripts of all User Criteria records, this has varying degrees of impact on system performance ranging from mild slowness to extreme degradation.
Steps to Reproduce
1. Open "Knowledge > Home"
2. Try to view a Knowledge base record
3. Open /xmlstats.do?include=cache
4. Notice the value of the entries attribute in <user_criteria_cache>
5. Open /sys_user_list.do
6. Double click the "Active" field on any user and set it to "false"
7. Look at /xmlstats.do?include=cache again and notice that the entry in <user_criteria_cache> has been set to 0
8. Try to view the KB article again and the scripts of all the User Criteria records will be run
This problem is under review and targeted to be fixed in a future release. You can Subscribe to this article to receive notifications when more information will become available. The workaround for the Import Job is the following:
- Navigate to System Import Sets > Administration > Scheduled Imports
2. Open the import job and notice there is a pre and a post import script.
4. Add the following in the pre-import script:
5. Add the following in the post import script:
if only sys_user is getting imported you should use
gs.flushTable("sys_user") else you can flush the entire cache by gs.cacheFlush(true);
Related Problem: PRB1290614