> Hi,
>
> I have installed Slide (1.0.14) with Tomcat 4.0 & configured it to use
> mysql (3.23/mm-mysql-2.0.4) with a file system content store. This seems
> to work fine while all access is via webdav (i.e. webdav servlet).
>
> The problem I have is that I am using one of the Slide api sample files
> (version.java) to create some arbitrary folders using the same store
> (same domain.xml file). This works OK, but after the new folders have
> been created, when I go back to my webdav client (or browser) & do a
> refresh, the new folders dont appear unless I stop/restart the Tomcat
> server - after which a PROPFIND or GET returns the new info OK.
>
> It appears the servlet is caching the info, but I cant see how/where.
> Now if  I force a GET explicitly on the new folder URI (which is OK), it
> will then appear in any subsequent responses to PROPFIND or GET requests
> for the parent - seems like this forces a 'cache' refresh.
>
> Is this supposed to work like this? Is this a Slide thing or maybe mysql
> related?

If the two applications (here, your application, and the webdav servlet) are
not in the same VM, then it's (unfortunately) normal with the current
architecture.

The cache is located in the layer just above mySQL, but never attempts to
revalidate its entries, unless it has a good reason to do so (for example,
if you modify something through the API). This was the only easy way to get
decent performance, since PROPFINDs are extremely hard on the backend (you
can check the number of operations required when doing one on a large
resource set). I have a lot of ideas to help solve these problems, but this
will take some time.

The easiest way to avoid the problem would be to repackage a bit the
application. Either:
- write a custom loader for Tomcat and your application to be able to run
them in the same VM
- use a controller servlet to run your application

Remy

Reply via email to