I had a this problem, running James with Solaris.
The problem seems to be in RemoteDelivery.java: run()
Sometimes the (Avalon)Storage leaves a the StreamStore file with a size of 0 (zero)
bytes, this causes the remote delivery thread to raise an exception and exit with an
entry in the mailets.log; it couldn't find the matching ObjectStorage file.
This i propably caused by, as you suggest, that more than one thread is processing the
file, that's why the file cannot be removed, I haven't dug into the Avalon framework
yet so I have no idea if that really is the case.
But anyway, a workaround:
in the catch part of run():
look for files with size == 0 in the outgoing spool (var/mail/outgoing) and remove
them,
ugly solution, but the cause to the error (i.e. file with size == 0) seems to be in
the underlying Avalon framework.
With this solution my RemoteDelivery runs with 50 threads, day and night.
-rauno
----- Original Message -----
From: "Niall Murphy" <[EMAIL PROTECTED]>
To: <[EMAIL PROTECTED]>
Sent: Thursday, September 20, 2001 4:32 PM
Subject: FW: FileNotFonud Exception and mailet.log growing forever
>
> I posted the problem described below a coupld of weeks ago and I have found
> a fix, so I thought I would share it with the list since other users have
> posted similar problems.
>
> My version of James has a mailet that we wrote that processes messages. In
> some cases the message is not acceptable and we use the bounce function to
> send the message back to the user. As part of our test I wrote a smalljava
> program to send messages to james as fast as it could. When all of those
> messages are bouncing from the mailet then we get the error below, and an
> infinite loop of some sort than fills up mailet.log.
>
> I had been running with the number of treads in james.conf.xml set to 3.
> Setting it to 1 got rid of the problem. I could not find any non reentrant
> code in the mailet, but maybe the bounce funcition is not reentrant? My
> application wouldhave been calling it multiple times in parallel.
>
> My application can work hapily with one thread, but I would be curious to
> hear if running multiple threads is known to be problematic.
> regards,
>
> Niall Murphy
>
> -----Original Message-----
> From: Niall Murphy [mailto:[EMAIL PROTECTED]]
> Sent: Monday, August 27, 2001 3:57 PM
> To: [EMAIL PROTECTED]
> Subject: FileNotFonud Exception and mailet.log growing forever
>
>
> I have the following message repeating in my mailet.log:
>
>
> 2001.08.27 11:11:45 442 (INFO) from Mailets: RemoteDelivery: Exception
> caught in
> RemoteDelivery.run(): java.lang.RuntimeException: Exception caught while
> removi
> ng an object: java.io.FileNotFoundException:
> ../var/mail/outgoing/4D61696C393938
> 3931303638333939362D3130392D21313932313734323935362D746F2D7961686F6F2E636F6D
> .pri
> vate.PersistentStore (No such file or directory)
>
> It seems like it is going to keep trying and failing to send this message
> and fill up my disk.
>
>
> I am not sure what caused it, but prior to the problem I stopped James,
> removed all files in spool and outgoing and restarted James. Could this have
> caused it. Is it reasonable to clear out spool and outgoing (I am happy to
> lose the messages to start from a known state).
>
> My other thought is that maybe more than one thread is trying to process the
> outgoing messages and one thread has deleted the PersistentStore file while
> another thread was in the middle of trying to process the same message.
>
> I am running on Red Hat Linux 7.0. and using the filesystm(not a database)
> to store messages.
>
> Niall
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
>
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
>
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]