Informix - Problem description
Problem IT29322 | Status: Closed |
WHEN RTREE NODE SPLITS AND HDR/RSS CONFIGURED, PAGES ON HDR/RSS GET OUT OF SYNC WITH PRIMARY DUE TO SLOT LENGTH DIFFERENCE | |
product: | |
INFORMIX SERVER / 5725A3900 / B70 - IDS 11.70 | |
Problem description: | |
So if you create a table that has a spatial column and then create an rtree index on that column. When you do this and rows are inserts until an index node has to split then on 1 of the 2 pages involved in the split, there will be 1 slot that is larger on the primary server than on the hdr/rss node. Example oncheck -pp output showing difference. From the primary: oncheck -pp 3145732 13 addr stamp chksum nslots flag type frptr frcnt next p rev 3:140 607767 4691 33 881 DATA 2690 1270 0 0 slot ptr len flg 1 24 80 0 2 104 80 0 3 184 80 0 4 264 80 0 5 344 80 0 ... 30 2344 80 0 31 2424 80 0 32 2504 80 0 33 2584 106 0 From the secondary: oncheck -pp 3145732 13 addr stamp chksum nslots flag type frptr frcnt next p rev 3:140 607906 4624 33 881 DATA 2664 1296 0 0 slot ptr len flg 1 24 80 0 2 104 80 0 3 184 80 0 4 264 80 0 5 344 80 0 ... 30 2344 80 0 31 2424 80 0 32 2504 80 0 33 2584 80 0 So slot 33 on the page is 106 bytes on the primary, but it's 80 bytes on the secondary. This type of pages out of sync problem can cause problems if the servers have to reverse types (so secondary becomes primary) because now the page on the new primary thinks there is more space available on the page then on the new secondary and so if pages get enough out of sync that an extra slot can fit on 1 page vs the other, it can then lead to 1 of 2 types of failures. Type 1: Assertion failure with failed log record apply Log record (OLDRSAM:HDELETE) failed, partnum 0x700050 rowid 0x138c612e iserrno 111 Type 2: Assertion failures caused by bfcheck error bfcheck: bad page: pg_frptr 3916 < sizeof(ifx_page_t) 24 or > slotbeg 3900 So the bfcheck failure is showing that the page had written data into the slot table in the 2nd type. In the 1st assertion the log record is failed to be applied because it can't find a slot to delete because it was over written by data (so 2 different ways for the same underlying problem to present itself) | |
Problem Summary: | |
**************************************************************** * USERS AFFECTED: * * Users of IDS version prior to 11.70.xC10. * **************************************************************** * PROBLEM DESCRIPTION: * * WHEN RTREE NODE SPLITS AND HDR/RSS CONFIGURED, PAGES ON * * HDR/RSS * * GET OUT OF SYNC WITH PRIMARY DUE TO SLOT LENGTH DIFFERENCE * **************************************************************** * RECOMMENDATION: * **************************************************************** | |
Local Fix: | |
Solution | |
Workaround | |
not known / see Local fix | |
Timestamps | |
Date - problem reported : Date - problem closed : Date - last modified : | 03.06.2019 26.09.2019 31.08.2020 |
Problem solved at the following versions (IBM BugInfos) | |
Problem solved according to the fixlist(s) of the following version(s) |