You are viewing a plain text version of this content. The canonical link for it is here.
Posted to slide-dev@jakarta.apache.org by "Arne v.Irmer" <Ar...@uni-dortmund.de> on 2007/09/28 11:11:58 UTC

Clustering with Slide

Hi,
we here need to enable the caches of our 4 slides that run on one
filestore. So ClusterCacheRefreshing has to be enabled. Trying to do so
I found some bugs, that I fixed for Slide 2.1. (I attach a patch for the
webdavclientlib and slide-core)

Here are the found problems:
- The connection between slides in a cluster isn't established
Only the last started slide is able to send messages to the other,
because reading and parsing messages (UDP) was performed only one time.
I put it in an infinite loop. (Notifcationlistener)

- If connection is broken no reconnect is done.
I took the subscription out of the ClustercacheRefresh into a
SubscriberBean that will be instantiated in the ClusterCacheRefresher
and in the NotifcationListener if an IOException in the communication
with another Silde happens.

- Cache isn't refreshed (Maybe only with FileStores)
The cache is organized to store URIs. The ClustercacheRefresher tried to
remove URLs from cache that aren't stored there. So even if a message
was able to come to that point no refresh is performed. To have URIs the
BindingStore has to be used. It must implement the removeObjectFromCache
method and the cast in the ClustercacheRefresher has to be changed.

- The move-event isn't published
The Notificationtrigger is filtering ContensEvents for changing,
creating and removing events. This does not include the case that the
user makes a webdav move. The problem here is, that this isn't a content
event, because content isn't touched. But all the rest is done with
ContentEvents. The filter finds a WebDAVEvent and a MacroEvent in the
case of a file movement. Working with WebDAVEvents is very complicated
at this point, because an trap dependency between the modules will be
the consequence of using this class here and the WebDAVEvent has but
doesn't give source and destination Urls. Instead the MacroEvent is
working fine.
So the new CollectionFilter now has to do two things:
1. find the MacroEvent
2. convert one MacroEvent into two ContentEvents. One for the source and
one for the destination.(EventCollectionFilter). Here I don't know if my
solution works with revisioning...

- In the case the slide runs as root-servlet the url for the connection
isn't calculated correctly
The ClusterCacheRefresher just cuts the part form the url. Here the
method stripUrl is now looking at the repository domain. If it is not
"/" the cutting of the servlet name is performed.

After fixing these "bugs" now ClusterCacheRefreshing is working with
some slides on one file store. Other constellations weren't tested. But
maybe these fixes can help there, too.

Yours
 Arne v.Irmer



Re: Clustering with Slide

Posted by Roland Weber <os...@dubioso.net>.
Hello Arne,

as you've probably noticed from the mailing list activity,
there are not many people working on the Slide codebase
right now. It's impossible to tell when that will change.

Could you please open a Bugzilla issue and attach the
patch there? A patch in the mailing list might be forgotten,
but open issues will be processed if interest in Slide
development picks up again.

cheers,
  Roland

---------------------------------------------------------------------
To unsubscribe, e-mail: slide-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: slide-dev-help@jakarta.apache.org