Option to send and retrieve events (via cluster mechanism) without going to the database

Description

The events processing in Sakai currently polls the sakai_events table periodically to check for new events on other nodes in the cluster that should be processed. This works OK for smaller installations (up to 4 nodes) but as the number of nodes in the cluster increases the number of requests against the events table goes up linearly. This becomes a serious load on the database as the number of events in the table increases and the number of nodes in the cluster increases (past 10 for example).

There should be an optional way to send the events processing through a path which does not use the database so that events are only logged in the table but it is never polled by Sakai actively (except by stats processing - e.g. sitestats).

Ideally, we would also remove some of the indexes from the events table at some point to reduce the load created by inserting events but this can happen later.

Attachments

4

Activity

Show:

Hudson CI Server May 28, 2014 at 1:12 PM

Integrated in sakai-10-java-1.7 #75 (See http://builds.sakaiproject.org:8080/job/sakai-10-java-1.7/75/)
merge 309847 to 10.x (Revision 309850)

Result = UNSTABLE

Hudson CI Server May 28, 2014 at 11:06 AM

Integrated in sakai-trunk-java-1.7 #276 (See http://builds.sakaiproject.org:8080/job/sakai-trunk-java-1.7/276/)
removed ETS dep (Revision 309847)

Result = SUCCESS

Matthew Jones May 28, 2014 at 9:37 AM

Thanks, builds fine without the dependency.

Aaron Zeckoski May 28, 2014 at 9:05 AM

Attached patch to fix the ETS dep (KNL-1184_ets_remove.patch.txt)
Fixed trunk
Needs to be merged to 10.x

Aaron Zeckoski May 28, 2014 at 9:02 AM

It does? We don't use the ETS for anything here. If it was added it was unintentional (probably a bad merge).

+ <!-- bjones86 - join notification email sending -->
+ <dependency>
+ <groupId>org.sakaiproject.emailtemplateservice</groupId>
+ <artifactId>emailtemplateservice-api</artifactId>
+ </dependency>

Fixed

Details

Priority

Affects versions

Fix versions

Components

Assignee

Reporter

Property addition/change required

Yes

Created February 24, 2014 at 10:10 AM
Updated April 25, 2018 at 3:33 PM
Resolved April 11, 2014 at 3:34 PM