db-derby-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Francois Orsini (JIRA)" <derby-...@db.apache.org>
Subject [jira] Commented: (DERBY-1817) Race condition in network server's thread pool
Date Sat, 09 Sep 2006 09:10:23 GMT
    [ http://issues.apache.org/jira/browse/DERBY-1817?page=comments#action_12433581 ] 
            
Francois Orsini commented on DERBY-1817:
----------------------------------------

Great changes Knut.

My only comment thus far:

- I think there is a tiny and potential race condition upon retrieving the maximum number
of threads to create in the network server (via getMaxThreads()) and adding a newly created
one on the thread list. Not sure if this is possible if there is some some higher-level lock
but it seems like 'max' could be reset while holding the runQueue lock (as we're synchronizing
on 2 different objects) - It seems like the number of maxThreads can be updated at runtime
(see processCommands()) - just raising this issue for now - maybe something to investigate
if you haven't done so already. Just from a quick review.

Cheers.

> Race condition in network server's thread pool
> ----------------------------------------------
>
>                 Key: DERBY-1817
>                 URL: http://issues.apache.org/jira/browse/DERBY-1817
>             Project: Derby
>          Issue Type: Bug
>          Components: Network Server
>    Affects Versions: 10.2.1.0
>            Reporter: Knut Anders Hatlen
>         Assigned To: Knut Anders Hatlen
>         Attachments: 1817.diff, 1817.stat
>
>
> If there is a free DRDAConnThread when a client connects to the network server, the session
is put into a queue from which one of the free DRDAConnThreads can pick it up. However, if
another client connects after the session was put into the queue, but before the DRDAConnThread
has picked it up, one might end up with more sessions in the queue than there are free threads.
This can lead to hangs like the ones that we currently see in many of Ole's tests (for instance
checkDataSource - http://www.multinet.no/~solberg/public/Apache/TinderBox_Derby/testlog/SunOS-5.10_i86pc-i386/440518-derbyall_diff.txt).

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Mime
View raw message