home clear 64x64
en blue 200x116 de orange 200x116 info letter User
suche 36x36
Latest versionsfixlist
14.10.xC11 FixList
12.10.xC16.X5 FixList
11.70.xC9.XB FixList
11.50.xC9.X2 FixList
11.10.xC3.W5 FixList
Have problems? - contact us.
Register for free anmeldung-x26
Contact form kontakt-x26

Informix - Problem description

Problem IT03513 Status: Closed

TIMING PROBLEM WITH READAHEAD AND SQLEXEC THREADS CAN LEAVE COMMITTED READ
LAST COMMITTED READERS WAITING ON LOCKS

product:
INFORMIX SERVER / 5725A3900 / C10 - IDS 12.10
Problem description:
When using isolation level committed read last committed, a 
thread should not wait indefinitely on a lock, it should get the 
locked row from the logical logs.  However, with this timing 
issue, the attempt to try to do the read ahead request to get 
the last committed row from the logical logs can run into 
issues, which then causes the code to just have the sqlexec 
thread act as if it had done a set lock mode to wait, and just 
then wait on the lock until it's released. 
 
The stack of the committed read last committed isolation reader 
would look something like this: 
 
mt_yield 
lkwait 
lkmanagex 
krow 
read_record_lc 
rsseqscan_read 
fmseqscan_read 
readseq_batch 
gettupl 
scan_next 
next_row 
get_first_row_from_producer 
group_open 
prepselect 
open_cursor 
sql_open 
sq_open 
sqmain 
 
onstat -u output would show user waiting on a lock (also not 
lock timeout is -1 which would be as if the session had done set 
lock mode to wait): 
 
Userthreads 
address          flags   sessid   user     tty      wait 
tout locks nreads   nwrites 
66611448         L--PR-- 251      user1  -        6f464600 
-1   1     0        0 
 
onstat -g ses output would show committed read last committed 
isolation level but lock mode here is reported as not wait: 
 
Sess       SQL            Current            Iso Lock       SQL 
ISAM F.E. 
Id         Stmt type      Database           Lvl Mode       ERR 
ERR  Vers  Explain 
251        SELECT         clear              LC  Not Wait   0 
0    9.24  Off 
 
Current statement name : slctcur 
 
Current SQL statement (3) : 
  select count(*) from t1 where c4 = 40 and c5 is null
Problem Summary:
**************************************************************** 
* USERS AFFECTED:                                              * 
* users using last committed read isolation                    * 
**************************************************************** 
* PROBLEM DESCRIPTION:                                         * 
* See Error Description                                        * 
**************************************************************** 
* RECOMMENDATION:                                              * 
* Upgrade to IDS 12.10.xC4 or above.                           * 
****************************************************************
Local Fix:
Solution
Fixed in IDS 12.10.xC4.  idsdb00499637 fixed the issue
Workaround
not known / see Local fix
Timestamps
Date  - problem reported    :
Date  - problem closed      :
Date  - last modified       :
31.07.2014
16.10.2015
16.10.2015
Problem solved at the following versions (IBM BugInfos)
12.10.xC4
Problem solved according to the fixlist(s) of the following version(s)
12.10.xC4.W1 FixList
12.10.xC5 FixList
12.10.xC5.W1 FixList