suche 36x36
  • Admin-Scout-small-Banner
           

    CURSOR Admin-Scout

    get the ultimate tool for Informix

    pfeil  
Latest versionsfixlist
14.10.xC10 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 IT13825 Status: Closed

LIGHT SCAN OF A TABLE WITH OPEN IN-PLACE ALTER CAN ASSERT FAIL IN
ROWALTER

product:
INFORMIX SERVER / 5725A3900 / C10 - IDS 12.10
Problem description:
If there is a session doing a query using dirty read isolation
level on a table > 500 pages, the server can do a light scan of
the table.  When the server does this, if there is an open
in-place alter on the table, there's a timing issue, where if
some DML happens to the table which causes a new page to be used
(so would increase npused), the light scan can mistakenly read
that last page/new page solely from disk (and not use look aside
to see the most recent modified version of the page from the
buffer pool).  If this happens, it can cause all sorts of
various rowalter failures depending on the type of in-place
alter that exists on the table, and the old data that could
exist on the page from disk.  To run into problems this old page
on disk would need to be of type PG_DATA and would have to have
non-deleted slots left over on the page for the server code to
try and examine.

The assert failure would look something like  this:

17:26:59  IBM Informix Dynamic Server Version 12.10.FC5
Software Serial Number RDS#N000000

17:26:59  Assert Failed: rowalter: PTOCOPYVC: collen (0x100) >
max_vc_len (0x33)             (cmpoff: 0x14, uncmpoff 0x14

17:26:59   Who: Session(63, informix@machine, 23369, 0x666eec70)
        Thread(93, sqlexec, 666ac1e8, 12)
        File: rssupp.c Line: 3701
17:26:59   Results: altering older version row to latest version
failed

Stack:

afstack
afhandler
affail_interface
rowalter
decompress_row         *** note on some platforms this function
may or may not be visible in the stack due to function in-lining
***
rsseqscan_read
fmseqscan_read
readseq_batch
gettupl
scan_next
getrow
fetchrow
exfetch
sql_nfetch
sq_nfetch
sqmain
spawn_thread
th_init_initgls
startup

Then from onstat -g ses output in the AF file the session would
be using dirty read isolation:

sqscb info
scb              sqscb            optofc   pdqpriority
optcompind  directives
34ed163d8        37b91a028        0        0           2
1

Sess       SQL            Current            Iso Lock       SQL
ISAM F.E.
Id         Stmt type      Database           Lvl Mode       ERR
ERR  Vers  Explain
1368452    SELECT         dbname          DR  Wait 90    0    0
9.28  Off

And in the onstat -g ses output there's no direct indication of
a light scan happening, but the presence of these memory types
in the session pool would indicate a light scan in use:

Memory pools    count 2
name         class addr              totalsize  freesize
#allocfrag #freefrag
1368452      V     36eba1040        716800     70368      1411
40
1368452*O0   V     376475040        4096       768        1
1

name           free       used           name           free
used
fragman        0          1160           light_scan     0
144
lt_scan_rbuff  0          208            lt_scan_bufs   0
64
udr            0          8704           rsam_seqscan   0
176

(light_scan, lt_scan_rbuf, and lt_scan_bufs)

Not included in the af file you can see the light scan for sure
using onstat -g scn
Problem Summary:
****************************************************************
* USERS AFFECTED:                                              *
* Any user running light scans on tables that are being        *
* inserted into.                                               *
****************************************************************
* PROBLEM DESCRIPTION:                                         *
* See Error Description                                        *
****************************************************************
* RECOMMENDATION:                                              *
* Update to IBM Informix Server 12.10.xC7                      *
****************************************************************
Local Fix:
Solution
Workaround
not known / see Local fix
Timestamps
Date  - problem reported    :
Date  - problem closed      :
Date  - last modified       :
17.02.2016
29.06.2016
29.06.2016
Problem solved at the following versions (IBM BugInfos)
12.10.xC7
Problem solved according to the fixlist(s) of the following version(s)
Informix EditionsInformix Editions
Informix Editions
DocumentationDocumentation
Documentation
IBM NewsletterIBM Newsletter
IBM Newsletter
Current BugsCurrent Bugs
Current Bugs
Bug ResearchBug Research
Bug Research
Bug FixlistsBug Fixlists
Bug Fixlists
Release NotesRelease Notes
Release Notes
Machine NotesMachine Notes
Machine Notes
Release NewsRelease News
Release News
Product LifecycleProduct Lifecycle
Lifecycle
Media DownloadMedia Download
Media Download