[Building Sakai] distributed state replication in sakai 2.6
Daniel McCallum
dmccallum at unicon.net
Thu Dec 17 17:14:50 PST 2009
John,
I know you've already settled on a non-replication solution. Thought I
should provide the elevator pitch on where Terracotta fits in with Sakai
session replication, though... basically, the issue is that solutions
like ehCache or Tomcat's in-built session replication cannot deserialize
session attributes defined by Sakai component classloaders. Terracotta
solves this directly with the notion of a "global loader."[1] Also,
because Terracotta avoids object serialization, modifications to the
class definitions for distributed objects do not present the issues
you'd encounter with a more traditional replication approach, which is
potentially useful if the goal is session resilience in general.
Framework-level support for Terracotta-based session replication is in
the K1 trunk [2],[3]. Work remains, though, to Terracotta-enable
tools/services which would benefit from such replication[4]. In the case
of the Wiley project which sponsored this work, Terracotta is being used
for session replication in Sakai, but not for vanilla Sakai tooling.
That project is not yet in production. I am unaware of any institutions
currently using Sakai+Terracotta in production.
Hope that helps.
- Dan
1 - http://forums.terracotta.org/forums/posts/list/962.page
2 - http://confluence.sakaiproject.org//x/CgBx
3 - http://confluence.sakaiproject.org//x/BwBx
4 - http://confluence.sakaiproject.org//x/DABx
John Bush wrote:
> If we need to do distributed state replication in sakai 2.6, what is
> the suggested way? Is there an agreed upon way? I know a
> messageservice exists in contrib, or hide under ehcache, or
> terracotta. Is it just pick your own poison? Seems like unicon has
> done the most work in this area that I'm aware of anyway. Is this
> something the product council should make a recommendation on?
>
> The reason I'm asking is we've uncovered a rather nasty bug in webdav
> that is caused by the mac client in a cluster. It brings down the
> server. Its due to resource contention around locking. I think its
> probably caused by how we are doing load balancing, its not clear in
> our setup quite yet how to force webdav to be sticky, we are still
> looking into that. If we pursue a state replication solution to
> replicate the locking state around the cluster, we'd like this work to
> make it into core, and would like some guidance on the appropriate way
> to do this for general adoption.
>
> We are still researching this issue, expect a JIRA with more detail
> later today.
>
> John
> _______________________________________________
> sakai-dev mailing list
> sakai-dev at collab.sakaiproject.org
> http://collab.sakaiproject.org/mailman/listinfo/sakai-dev
>
> TO UNSUBSCRIBE: send email to sakai-dev-unsubscribe at collab.sakaiproject.org with a subject of "unsubscribe"
More information about the sakai-dev
mailing list