Comment 5 for bug 329290

Revision history for this message
Yasufumi Kinoshita (yasufumi-kinoshita) wrote :

I have got additional information about reproduction of this situation.

It may be compatibility problem between 5.0-innodb and 5.1-innodb and Plugin.
5.0 datafile don't use FIL_PAGE_TYPE_BLOB.
5.1 ignores PAGE_TYPE at btr_free_externally_stored_field().
Plugin has assertion code to check PAGE_TYPE at btr_free_externally_stored_field().

Strictly, I may not be able to recommend to use 5.0 files by InnoDB-Plugin/XtraDB.
Because, we should skip some useful assertion code to work.

fil0fil.h (InnoDB-Plugin):
/* File page types (values of FIL_PAGE_TYPE) */
#define FIL_PAGE_INDEX 17855 /* B-tree node */
#define FIL_PAGE_UNDO_LOG 2 /* Undo log page */
#define FIL_PAGE_INODE 3 /* Index node */
#define FIL_PAGE_IBUF_FREE_LIST 4 /* Insert buffer free list */
/* File page types introduced in MySQL/InnoDB 5.1.7 */
#define FIL_PAGE_TYPE_ALLOCATED 0 /* Freshly allocated page */
#define FIL_PAGE_IBUF_BITMAP 5 /* Insert buffer bitmap */
#define FIL_PAGE_TYPE_SYS 6 /* System page */
#define FIL_PAGE_TYPE_TRX_SYS 7 /* Transaction system data */
#define FIL_PAGE_TYPE_FSP_HDR 8 /* File space header */
#define FIL_PAGE_TYPE_XDES 9 /* Extent descriptor page */
#define FIL_PAGE_TYPE_BLOB 10 /* Uncompressed BLOB page */
#define FIL_PAGE_TYPE_ZBLOB 11 /* First compressed BLOB page */
#define FIL_PAGE_TYPE_ZBLOB2 12 /* Subsequent compressed BLOB page */

(* FIL_PAGE_TYPE_ZBLOB and FIL_PAGE_TYPE_ZBLOB2 is for Plugin only)