james-server-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Noel J. Bergman" <n...@devtech.com>
Subject RE: Spoolmanager blues
Date Tue, 06 Sep 2005 15:02:53 GMT
> > > I'm experiencing spooling issues with file repositories too.
> > Actually, I have occassionally seen the same symptom with JDBC, too.
> Simple delay of messages or full hangs of single messages?

Just the simple delay.

As an aside, we need to make sure that dbfile is working with Derby.  It is
a common production configuration to use a database with a single file
location for all message content.

> > The problem *appears* to be with notify().  This is why I
> > have wanted us to simplify the logic by having one spool
> > thread and plain worker threads that just process what
> > they are given.

> it's not an easy change mainly because the contract between
> mail/spool repositories and james is not clear enough.

We should define it.  We own those contracts.

> What is threadsafe in a repository?

The exposed put/get type operations should be thread safe.

> What is the correct use of locking/unlocking?

Ideally, we should be able to eliminate much of it, and isolate any
remaining notion of it.  A single spool thread / multiple worker pool change
should be helpful in this regard.

> Can I store the same message in 2 different repositories?

I'd like to be able to say no, but I suspect that we need for some version
of the answer to be yes.

> Is it safe to store the same message in the same repository
> multiple times?

We need to distinguish between calling store() and actually storing copies.

> Currently we run the notify when the message is stored but
> when the message is stored we still got the lock on the Mail

I'll try to find time to look at the spooler code again.

	--- Noel

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

View raw message