This patch is contributed by the University of Virginia and addresses a performance issue related to Sakai login times.
As the amount of CM data has increased over time, Sakai login times were becoming longer and longer. This performance issue has been successfully addressed for us with assistance from the email from Lydia Li at Stanford: http://article.gmane.org/gmane.comp.cms.sakai.devel/36245. The problem was that realms were being refreshed on every login which gets slower and slower as the user has more and more CM data. These realms do not need to be refreshed in our environment since our CMSync job (which runs daily) refreshes all of the realms and the CM data is only imported once per day from our SIS.
The fix suggested by Lydia involves a change to kernel-impl/src/main/java/org/sakaiproject/authz/impl/BaseAuthzGroupService.java in the refreshUser() method.
In addition to the attached patch file for the kernel modification, the UVa fix incorporates a new property. The 'suppressCMRefresh' property allows users to enable the fix, or not, as it suits their installation. This property needs to be included in 'sakai.properties':
- login acceleration: 'true' means do not refresh realm tables; 'false' follows the default behavior
This patch is contributed for consideration with the hopes it will be incorporated into a future Sakai release.