List:Commits« Previous MessageNext Message »
From:Vladislav Vaintroub Date:February 10 2009 11:30pm
Subject:bzr commit into mysql-6.0-falcon-team branch (vvaintroub:3013)
View as plain text  
#At file:///G:/bzr/bs2/ based on revid:christopher.powers@stripped

 3013 Vladislav Vaintroub	2009-02-11
      Bug#42743 : Falcon fails to recover;Test tablespace file is not open when doing a fetchPage
      The tablespace was not open when read was attempted.
      This is a regression from previous behavior, introduced during great tablespace recovery cleanup.
      (TableSpaceManager::bootstrap() does not open files).
      Fix reverts the change, and all tablespaces that can l be opened, will be opened during bootstrap.

=== modified file 'storage/falcon/TableSpaceManager.cpp'
--- a/storage/falcon/TableSpaceManager.cpp	2009-01-31 23:22:42 +0000
+++ b/storage/falcon/TableSpaceManager.cpp	2009-02-10 23:30:07 +0000
@@ -217,6 +217,17 @@ void TableSpaceManager::bootstrap(int se
 		TableSpace *tableSpace = new TableSpace(database, name.getString(), id.getInt(), fileName.getString(), type.getInt(), NULL);
 		Log::debug("New table space %s, id %d, type %d, filename %s\n", (const char*) tableSpace->name, tableSpace->tableSpaceId, tableSpace->type, (const char*) tableSpace->filename);
+		try 
+			{
+			tableSpace->open();
+			}
+		catch(SQLException &e) 
+			{
+			Log::debug("Can't open tablespace %s, id %d : %s\n",
+				(const char*) tableSpace->name, tableSpace->tableSpaceId,e.getText());
+			delete tableSpace;
+			continue;
+			}
@@ -237,7 +248,7 @@ TableSpace* TableSpaceManager::getTableS
 	TableSpace *tableSpace = findTableSpace(id);
 	if (!tableSpace)
-		throw SQLError(COMPILE_ERROR, "can't find table space %d", id);
+		throw SQLError(TABLESPACE_NOT_EXIST_ERROR, "can't find table space %d", id);
 	if (!tableSpace->active)

bzr commit into mysql-6.0-falcon-team branch (vvaintroub:3013)Bug#42743Vladislav Vaintroub11 Feb