List:Commits« Previous MessageNext Message »
From:U-ROWVWADEjas Date:October 25 2007 7:11pm
Subject:bk commit into 6.0 tree (jas:1.2679)
View as plain text  
Below is the list of changes that have just been committed into a local
6.0 repository of . When  does a push these changes will
be propagated to the main repository and, within 24 hours after the
push, to the public repository.
For information on how to access the public repository
see http://dev.mysql.com/doc/mysql/en/installing-source-tree.html

ChangeSet@stripped, 2007-10-25 15:11:13-04:00, jas@rowvwade. +2 -0
  Fine tune recovery (i.e. make it work).

  storage/falcon/SRLDataPage.cpp@stripped, 2007-10-25 15:11:06-04:00, jas@rowvwade. +6 -2
    During recovery, remove subsequently re-used data pages
    from active locator pages in SRLDataPage to avoid subsequent
    trouble.

  storage/falcon/SRLSectionLine.cpp@stripped, 2007-10-25 15:11:06-04:00, jas@rowvwade. +9 -4
    Change debug logging for more convenient breakpoints.

diff -Nrup a/storage/falcon/SRLDataPage.cpp b/storage/falcon/SRLDataPage.cpp
--- a/storage/falcon/SRLDataPage.cpp	2007-10-25 12:32:18 -04:00
+++ b/storage/falcon/SRLDataPage.cpp	2007-10-25 15:11:06 -04:00
@@ -85,6 +85,7 @@ void SRLDataPage::pass1()
 		print();
 
 	log->bumpPageIncarnation(pageNumber, tableSpaceId, objInUse);
+	log->bumpPageIncarnation(locatorPageNumber, tableSpaceId, objInUse);
 	log->bumpSectionIncarnation(sectionId, tableSpaceId, objInUse);
 }
 
@@ -94,7 +95,8 @@ void SRLDataPage::pass2()
 		print();
 	
 	bool sectionActive = log->bumpSectionIncarnation(sectionId, tableSpaceId, objInUse);
-	
+	bool locatorPageActive = log->bumpPageIncarnation(locatorPageNumber, tableSpaceId, objInUse);
+
 	if (log->bumpPageIncarnation(pageNumber, tableSpaceId, objInUse))
 		{
 		if (sectionActive)
@@ -105,12 +107,14 @@ void SRLDataPage::pass2()
 		else
 			log->redoFreePage(pageNumber, tableSpaceId);
 		}
+	else if (sectionActive && locatorPageActive)
+		Section::redoSectionLine(log->getDbb(tableSpaceId), locatorPageNumber, pageNumber);
 }
 
 void SRLDataPage::redo()
 {
-	//bool sectionActive = 
 	log->bumpSectionIncarnation(sectionId, tableSpaceId, objInUse);
+	log->bumpPageIncarnation(locatorPageNumber, tableSpaceId, objInUse);
 	log->bumpPageIncarnation(pageNumber, tableSpaceId, objInUse);
 }
 
diff -Nrup a/storage/falcon/SRLSectionLine.cpp b/storage/falcon/SRLSectionLine.cpp
--- a/storage/falcon/SRLSectionLine.cpp	2007-09-20 11:42:24 -04:00
+++ b/storage/falcon/SRLSectionLine.cpp	2007-10-25 15:11:06 -04:00
@@ -47,20 +47,22 @@ void SRLSectionLine::read(void)
 	
 	pageNumber = getInt();
 	dataPageNumber = getInt();
-	
-	if (pageNumber == log->tracePage || dataPageNumber == log->tracePage)
-		print();
 }
 
 void SRLSectionLine::pass1(void)
 {
+	if (pageNumber == log->tracePage || dataPageNumber == log->tracePage)
+		print();
+		
 	log->bumpPageIncarnation(pageNumber, tableSpaceId, objInUse);
 	log->bumpPageIncarnation(dataPageNumber, tableSpaceId, objInUse);
 }
 
 void SRLSectionLine::pass2(void)
 {
-	// bool dataPageActive =
+	if (pageNumber == log->tracePage || dataPageNumber == log->tracePage)
+		print();
+		
 	log->bumpPageIncarnation(dataPageNumber, tableSpaceId, objInUse);
 
 	if (log->bumpPageIncarnation(pageNumber, tableSpaceId, objInUse))
@@ -70,6 +72,9 @@ void SRLSectionLine::pass2(void)
 
 void SRLSectionLine::redo(void)
 {
+	if (pageNumber == log->tracePage || dataPageNumber == log->tracePage)
+		print();
+		
 	log->bumpPageIncarnation(pageNumber, tableSpaceId, objInUse);
 	log->bumpPageIncarnation(dataPageNumber, tableSpaceId, objInUse);
 }
Thread
bk commit into 6.0 tree (jas:1.2679)U-ROWVWADEjas25 Oct