Details
-
Bug
-
Status: Closed (View Workflow)
-
Minor
-
Resolution: Fixed
-
10.2.28, 10.3.19, 10.4.9, 10.5.0
Description
A debug assertion that was added in order to catch corruption that was reported in MDEV-17983 turns out to be bogus. In the test innodb_gis.rtree_compress,4k, the function is sometimes being invoked by purge for a spatial index root page that is not a leaf page (PAGE_LEVEL is 1). The assertion should be relaxed as follows:
diff --git a/storage/innobase/include/page0page.ic b/storage/innobase/include/page0page.ic
|
index 6369932db1b..98b518187b5 100644
|
--- a/storage/innobase/include/page0page.ic
|
+++ b/storage/innobase/include/page0page.ic
|
@@ -660,6 +660,7 @@ page_rec_get_next_low(
|
}
|
|
ut_ad(page_rec_is_infimum(rec)
|
+ || (!page_is_leaf(page) && !page_has_prev(page))
|
|| !(rec_get_info_bits(page + offs, comp)
|
& REC_INFO_MIN_REC_FLAG));
|
|
That is, if the page is a leftmost non-leaf page, it may carry a record where the flag is set.
I observed the failure on 10.5, but the assertion was introduced in 10.2.
Attachments
Issue Links
- relates to
-
MDEV-19783 Random crashes and corrupt data in INSTANT-added columns
- Closed