Informix - Problem description
| Problem IC61447 | Status: Closed |
SELECT MIN OR MAX USING FRAGMENTED INDEX LOOPS OR RETURNS ERROR 243/111 | |
| product: | |
IBM IDS ENTRP E / 5724L2304 / B15 - IDS 11.50 | |
| Problem description: | |
This can happen sporadically if records are deleted in the table
while a
"select min()" or max() query is running. It only occurs if the
query
uses a fragmented index to calculate the aggregate. Depending on
the exact
form of the query, the sqlexec thread may return sql error 243,
isam error 111
or it may loop forever trying to read the same deleted record in
the table.
In the case of the loop the symptoms depend on the vp the query
is running
on, etc. There can be
- a vp with an sqlexec thread running forever
- additionally hanging existing or new connections if the vp
runs
a poll or listener thread.
- hanging i/o with other threads waiting forever if the vp
runs a kaio thread
- hanging checkpoint if threads waiting for kaio are in a
critical section
ar if the loop runs on vp 1 and main_loop cannot run
- hanging onmode commands if the loop runs on vp 1 and
onmode_mon cannot run
The "onmode -g cpu" command will always show the same running
sqlexec
with the same time in column "Last Run". The "onmode -g glo"
command
will show rapidly increasing values in column usercpu for the
vp.
Commands "onstat -p" and "onstat -g ppf" will show rapidly
increasing
numbers in columns read, bufreads, isrd and bfrd.
Stack traces of the running thread (consider using os utility)
look like
this with varying contents above function fmread:
........
0000000100d0ec74 fmread (...)
000000010032496c readidx_old (...)
000000010031dd90 gettupl (...)
00000001003193d8 scan_next (...)
00000001005cd998 next_row (...)
00000001005cde04 get_first_row_from_producer (...)
00000001005cdcfc process_non_groupby (...)
00000001005cb740 group_open (...)
000000010032c92c prepselect (...)
00000001005b2824 excommand (...)
000000010048c9c8 sq_exselect (...)
0000000100538088 sqmain (...)
The problem goes away if the client is killed. Using an
unfragmented index
is a workaround. | |
| Problem Summary: | |
**************************************************************** * USERS AFFECTED: * * Users using fully detached index scans * **************************************************************** * PROBLEM DESCRIPTION: * * Customers using fully detached index scans can get into * * endless loops * **************************************************************** * RECOMMENDATION: * * Upgrade to 11.50.xC5 or above. * **************************************************************** | |
| Local Fix: | |
| Solution | |
Problem first fixed in IDS 11.50.xC5. | |
| Workaround | |
not known / see Local fix | |
| Timestamps | |
Date - problem reported : Date - problem closed : Date - last modified : | 10.06.2009 19.01.2010 19.01.2010 |
| Problem solved at the following versions (IBM BugInfos) | |
11.50.xC5 | |
| Problem solved according to the fixlist(s) of the following version(s) | |
| 11.50.xC5 |
|