The two message were at the end of the Trash folder.

I used fuser to find the pids on the Trash and Trash.lock files. fuser reported no pid for the Trash.lock file. The the ptruss was run on the pid on the Trash file.

By synchronous writes I'm assuming on the nfs mount options? No, they are async mounts.


Timo Sirainen wrote:
On Thu, 2009-07-30 at 10:07 -0600, CJ Keist wrote:
Okay,
I think I got a test that can recreate the .lock file staying around so long. I have trash folder with about 3500 messages in it. I went in and deleted two messages from the Trash folder.

How close to the end of the mailbox did you delete the messages from?

I then clicked back to my inbox. There was a long pause where Thunderbird was saying " Closing folder" Then another long pause as it said "Opening folder". After about two minutes thunderbird looks to have stopped processing and displayed my inbox. But the Trash.lock file stuck around for about another 5 minutes. Ran ptruss on the pid that still had the Trash folder open. There was no pid for the Trash.lock file during this time.

What do you mean by this? Trash.lock didn't have a PID in it, but you
found the PID anyway somehow?

It looks to be doing seeks, stats, reads and writes over and over again. Attached is a partial listing of the ptruss command till the lock file went away.

It looks like you deleted some messages over 4 MB from the end of file,
and Dovecot just moves 4 MB data over the deleted one. It looks like
it's being done in pretty inefficient way though.. I guess I should some
day improve it, but that's probably going to be annoyingly difficult.

Anyway, if you look at where most of the time is spent, it's in the
pwrite64() calls. Many of them can take almost 0.1 seconds. Have you
enabled synchronous writes or something?

--
C. J. Keist                     Email: [email protected]
UNIX/Network Manager            Phone: 970-491-0630
Engineering Network Services    Fax:   970-491-5569
College of Engineering, CSU
Ft. Collins, CO 80523-1301

All I want is a chance to prove 'Money can't buy happiness'

Reply via email to