Creating a new group takes longer time after Quebec upgrade


Description

Creating a new group takes longer time after Quebec upgrade. The delay could be up to 10+min depends on size of the table sys_user_grmember.

Here is the stack trace:

2021-04-22 09:15:02 (639) Default-thread-4 8A3F5F2B1B6B2010D7106427B04BCB3E txid=845f1f6f1b2b WARNING *** WARNING *** Large Table: Table handling an extremely la
rge result set: 712463
Query that got us here is: TABLENAME = sys_user_grmember ENCODED_QUERY = active=true
com.glide.db.QueryWarning.warn(QueryWarning.java:44)
com.glide.db.DBQuery.loadResultSet(DBQuery.java:3475)
com.glide.db.DBQuery.executeAndReturnTable(DBQuery.java:361)
com.glide.db.DBAction.executeNormal(DBAction.java:264)
com.glide.db.DBAction.executeAndReturnException(DBAction.java:218)
com.glide.db.RDBMSQueryContext.executeQuery(RDBMSQueryContext.java:42)
com.glide.db.DBQuery.execute(DBQuery.java:2911)
com.glide.catalog.db.StaleGroupCacheFinder.lambda$getStaleCacheElements$0(StaleGroupCacheFinder.java:58)

Steps to Reproduce

  1. Create a group and two users.
  2. Map the users to the group.
  3. Run the GlideMultipleUpdate query and change the active flag of the group created in step 1.

StaleGroupCacheFinder is loading all of the records from [sys_user_grmember] and creating a stale cache element for each of them.

Workaround

This problem has been fixed. If you are able to upgrade, review the Fixed In or Intended Fix Version fields to determine whether any versions have a planned or permanent fix.


Related Problem: PRB1483187