List:Commits« Previous MessageNext Message »
From:marko.makela Date:June 9 2011 7:29pm
Subject:bzr push into mysql-5.1 branch (marko.makela:3641 to 3642) Bug#12612184
View as plain text  
 3642 Marko Mäkelä	2011-06-09
      Disable a debug assertion that was added to track down Bug#12612184.
      
      row_build(): The record may contain null BLOB pointers when the server
      is rolling back an insert that was interrupted by a server crash.

    modified:
      storage/innobase/row/row0row.c
      storage/innodb_plugin/row/row0row.c
 3641 Dmitry Shulga	2011-06-10
      Follow-up for patch of bug#11764334.

    modified:
      mysql-test/r/events_bugs.result
      mysql-test/t/events_bugs.test
=== modified file 'storage/innobase/row/row0row.c'
--- a/storage/innobase/row/row0row.c	revid:dmitry.shulga@oracle.com-20110609180510-lb4rm5p5qib7dnos
+++ b/storage/innobase/row/row0row.c	revid:marko.makela@stripped10609185041-f5ur24c5mj7rg1cu
@@ -210,7 +210,11 @@ row_build(
 		ut_ad(rec_offs_validate(rec, index, offsets));
 	}
 
-#if defined UNIV_DEBUG || defined UNIV_BLOB_LIGHT_DEBUG
+#if 0/* defined UNIV_DEBUG || defined UNIV_BLOB_LIGHT_DEBUG*/
+	/* This one can fail in trx_rollback_or_clean_all_without_sess()
+	if the server crashed during an insert before the
+	btr_store_big_rec_extern_fields() did mtr_commit()
+	all BLOB pointers to the clustered index record. */
 	ut_a(!rec_offs_any_null_extern(rec, offsets));
 #endif /* UNIV_DEBUG || UNIV_BLOB_LIGHT_DEBUG */
 

=== modified file 'storage/innodb_plugin/row/row0row.c'
--- a/storage/innodb_plugin/row/row0row.c	revid:dmitry.shulga@oracle.com-20110609180510-lb4rm5p5qib7dnos
+++ b/storage/innodb_plugin/row/row0row.c	revid:marko.makela@stripped20110609185041-f5ur24c5mj7rg1cu
@@ -231,7 +231,11 @@ row_build(
 		ut_ad(rec_offs_validate(rec, index, offsets));
 	}
 
-#if defined UNIV_DEBUG || defined UNIV_BLOB_LIGHT_DEBUG
+#if 0 /* defined UNIV_DEBUG || defined UNIV_BLOB_LIGHT_DEBUG */
+	/* This one can fail in trx_rollback_active() if
+	the server crashed during an insert before the
+	btr_store_big_rec_extern_fields() did mtr_commit()
+	all BLOB pointers to the clustered index record. */
 	ut_a(!rec_offs_any_null_extern(rec, offsets));
 #endif /* UNIV_DEBUG || UNIV_BLOB_LIGHT_DEBUG */
 

Attachment: [text/bzr-bundle] bzr/marko.makela@oracle.com-20110609185041-f5ur24c5mj7rg1cu.bundle
Thread
bzr push into mysql-5.1 branch (marko.makela:3641 to 3642) Bug#12612184marko.makela9 Jun