Bug #35248 update one record - 60 seconds delay - same table many cursors interference ?
Submitted: 12 Mar 2008 16:03 Modified: 12 Mar 2008 19:06
Reporter: Bogdan Pytlik
Status: Analyzing
Category:Connector/ODBC Severity:S1 (Critical)
Version:3.51.23 OS:Microsoft Windows (w2k SP4)
Assigned to: Bugs System Target Version:

[12 Mar 2008 16:03] Bogdan Pytlik
Description:

odbc mysql driver 3.51.23,
Server version: 5.0.45-community-nt MySQL Community Edition (GPL)

   delay of exactly 60 seconds during update 
     - cursor1 - table tab1 is openend 1st as forward only (db connect 1)
     - cursor2 - table tab2 is opened in snapshot mode (db connect 2) (need to update),
result set size = 1 (select .... where id=XXX)
     - cursor2 update takes exactly 60 seconds
   I have tested same scenario on different databases with different record sizes
   100,000 and 700,000 and the delay is always 60 seconds,
   There appear to be some lock inteference between cursor1 and cursor2
   CPU and dysk I/O of mysql server is idle during that 60 seconds.
   
   I am expecting update on cursor2 be fast as the cursor contains one record only.

I am not sure this is connector or server issue so I am guessing 
and posting it for the connector.

How to repeat:
   - create test1 DSN (see odbc-opts-test1.reg.txt)
   - load table with 100,000 records (see create-table.sql load-recs-100k.sql)
   - run test program
[12 Mar 2008 16:03] Bogdan Pytlik
files to reproduce the issue

Attachment: pr4.zip (application/x-zip-compressed, text), 15.27 KiB.