[Seaside] Serving files

Philippe Marschall philippe.marschall at gmail.com
Sat Oct 14 09:28:10 UTC 2006


2006/10/12, David Shaffer <cdshaffer at acm.org>:
> Philippe Marschall wrote:
> >
> > If two different processes want to access the same file (each creating
> > its own filestream !) things can get fucked up because the file
> > registry is not thread-safe.
> > This isn't theoretical. This happened on one of our production
> > applications.
> What threads?  Assuming you are talking about Squeak processes...

Yes

> What
> file registry?  Are you talking about the collection of weak references
> to open file streams?

Yes. The Registry class var in StandardFileStream.

> ..or something at the VM level?  The open file
> stream registry is designed to be safe for concurrent access from Squeak
> processes.  My experience is that it is.  I've pounded Linux-based file
> servers over very long periods of time at high connection rates (see the
> wiki page I sited in my last e-mail) and I've absolutely never seen this
> issue.  Has it been discussed elsewhere?  Can you suggest how to
> reproduce it?

What we were experiencing is that it contained not yet fully
initialized instances so the test for inclusion failed.

IIRC we just fixed the symptom. Wrapped a Mutex around the code that
creates the filestreams.

Philippe


More information about the Seaside mailing list