Heya Folkth:

I have built mysql (4.0.9) on freebsd (4.7-RELEASE) with linuxthreads
(2.2.3) and still encounter the 'strange threading' behavior described in J.
Zawodny's blog.

Here's the situation...

1/ there are three threads which lock and then write to two different
tables...the locks are gotten using 'low_priority write'; the writing
threads are continually waiting for locks (i.e two are waiting, one is
executing);
2/ On a different thread I do a select count(*) from one of the tables;

Sometimes the select returns pretty quick witht the count; however,
frequently the selecting thread will simply hang waiting to get the lock--if
I look at the thread in [top] the thread will be taking a LOT of cpu time;
if I look at the offending thread in the processlist it has a cycling status
of
'waiting for tables', 'NULL', 'Locked', 'System Lock' and 'Reopen Tables'.

It's my understanding that the selecting thread should be given the table
lock as soon as the writing thread that has the write lock has finished.
*All three writing threads keep processing* while the select thread is
waiting: I can see their debug output in my terminals.

Note that this behavior occurs whether I compile with Linuxthreads or not,
also I tried skip-external-locking to see if the 'system lock' status
disappears, but it doesn't.

Anyone else found this? Known issue?

Peter
<^_^>


---------------------------------------------------------------------
Before posting, please check:
   http://www.mysql.com/manual.php   (the manual)
   http://lists.mysql.com/           (the list archive)

To request this thread, e-mail <[EMAIL PROTECTED]>
To unsubscribe, e-mail <[EMAIL PROTECTED]>
Trouble unsubscribing? Try: http://lists.mysql.com/php/unsubscribe.php

Reply via email to