Resolution: Won't Fix
Affects Version/s: 6.1.20 EE GA2, 6.1.X EE
Fix Version/s: None
Whether a certain day has calendar events or not is determined in an inefficient way.
In portal-web/docroot/html/portlet/calendar/summary.jspf there is a the following block of code.
Altough calendar events are cached per groupId by CalEventLocalUtil, if you have calendars on private pages of many users, for the 1st time many SELECT will be issued. The implementation of the hasEvent() method in CalEventLocalServiceImpl could be much more efficient at that.
Steps to reproduce
1) Set the following property
2) Place the Calendar portlet on a page
3) Navigate on a separate browser tab to Control Panel / Server Admin and execute Clear content cached across the cluster.
4) Go back to the calendar and click on tab Summary
Observe that the following query will have been executed ~60 times. (Two queries for each day of the current month).
After the fix you should see only 2 of these queries.