List:Commits« Previous MessageNext Message »
From:Sergey Vojtovich Date:January 22 2010 9:56am
Subject:bzr commit into mysql-5.1-bugteam branch (svoj:3330) Bug#49238
View as plain text  
#At file:///home/svoj/devel/innodb-snapshots/mysql-5.1-bugteam/ based on revid:magne.mahre@stripped

 3330 Sergey Vojtovich	2010-01-22
      Applying InnoDB snapshot, fixes BUG#49238.
      
      Detailed revision comments:
      
      r6421 | jyang | 2010-01-12 07:59:16 +0200 (Tue, 12 Jan 2010) | 8 lines
      branches/5.1: Fix bug #49238: Creating/Dropping a temporary table
      while at 1023 transactions will cause assert. Handle possible
      DB_TOO_MANY_CONCURRENT_TRXS when deleting metadata in
      row_drop_table_for_mysql().
      
      rb://220, approved by Marko

    modified:
      storage/innobase/row/row0mysql.c
=== modified file 'storage/innobase/row/row0mysql.c'
--- a/storage/innobase/row/row0mysql.c	2009-11-02 14:59:19 +0000
+++ b/storage/innobase/row/row0mysql.c	2010-01-22 09:55:50 +0000
@@ -3245,19 +3245,13 @@ check_next_foreign:
 			   "END;\n"
 			   , FALSE, trx);
 
-	if (err != DB_SUCCESS) {
-		ut_a(err == DB_OUT_OF_FILE_SPACE);
-
-		err = DB_MUST_GET_MORE_FILE_SPACE;
-
-		row_mysql_handle_errors(&err, trx, NULL, NULL);
-
-		ut_error;
-	} else {
+	switch (err) {
 		ibool		is_path;
 		const char*	name_or_path;
 		mem_heap_t*	heap;
 
+	case DB_SUCCESS:
+
 		heap = mem_heap_create(200);
 
 		/* Clone the name, in case it has been allocated
@@ -3322,7 +3316,27 @@ check_next_foreign:
 		}
 
 		mem_heap_free(heap);
+		break;
+
+	case DB_TOO_MANY_CONCURRENT_TRXS:
+		/* Cannot even find a free slot for the
+		the undo log. We can directly exit here
+		and return the DB_TOO_MANY_CONCURRENT_TRXS
+		error. */
+		break;
+
+	case DB_OUT_OF_FILE_SPACE:
+		err = DB_MUST_GET_MORE_FILE_SPACE;
+
+		row_mysql_handle_errors(&err, trx, NULL, NULL);
+
+		/* Fall through to raise error */
+
+	default:
+		/* No other possible error returns */
+		ut_error;
 	}
+
 funct_exit:
 
 	trx_commit_for_mysql(trx);


Attachment: [text/bzr-bundle] bzr/svoj@sun.com-20100122095550-oe0cgk71cggps1ux.bundle
Thread
bzr commit into mysql-5.1-bugteam branch (svoj:3330) Bug#49238Sergey Vojtovich22 Jan