List:Commits« Previous MessageNext Message »
From:U-ROWVWADEjas Date:July 7 2007 12:03am
Subject:bk commit into 6.0-falcon tree (jas:1.2601)
View as plain text  
Below is the list of changes that have just been committed into a local
6.0-falcon 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-07-06 18:02:35-04:00, jas@rowvwade. +5 -0
  Fixed Falcon bug 29478.

  storage/falcon/Cache.cpp@stripped, 2007-07-06 18:02:22-04:00, jas@rowvwade. +6 -1
    Add latent (transcient only) page stop code for Cache::fakePage.

  storage/falcon/SRLIndexPage.cpp@stripped, 2007-07-06 18:02:22-04:00, jas@rowvwade. +2 -1
    Have index pages respect the postFlush point to avoid overrighting
    good pages.  This more more precautionary than anything else.

  storage/falcon/SRLSectionPage.cpp@stripped, 2007-07-06 18:02:23-04:00, jas@rowvwade. +13 -1
    Put child section pages into the page accounting scheme to
    avoid accidental re-use.

  storage/falcon/StorageHandler.cpp@stripped, 2007-07-06 18:02:23-04:00, jas@rowvwade. +2 -0
    Comment out legacy table space drop database code.

  storage/falcon/SyncObject.cpp@stripped, 2007-07-06 18:02:23-04:00, jas@rowvwade. +2 -2
    Revert SyncObject::release.  I expected a noticeable performance
    kick, didn't see it, so we don't need the risk of even slightly
    different code.

# This is a BitKeeper patch.  What follows are the unified diffs for the
# set of deltas contained in the patch.  The rest of the patch, the part
# that BitKeeper cares about, is below these diffs.
# User:	jas
# Host:	rowvwade.
# Root:	D:/MySQL/mysql-5.1-falcon

--- 1.16/storage/falcon/SRLIndexPage.cpp	2007-07-06 18:02:59 -04:00
+++ 1.17/storage/falcon/SRLIndexPage.cpp	2007-07-06 18:02:59 -04:00
@@ -94,7 +94,8 @@
 		if (log->tracePage == pageNumber)
 			print();
 
-		IndexRootPage::redoIndexPage(log->getDbb(tableSpaceId), pageNumber, parent, level,
prior, next, length, data);
+		if (control->isPostFlush())
+			IndexRootPage::redoIndexPage(log->getDbb(tableSpaceId), pageNumber, parent, level,
prior, next, length, data);
 		}
 	else 
 		if (log->tracePage == pageNumber)

--- 1.17/storage/falcon/SRLSectionPage.cpp	2007-07-06 18:02:59 -04:00
+++ 1.18/storage/falcon/SRLSectionPage.cpp	2007-07-06 18:02:59 -04:00
@@ -83,20 +83,32 @@
 void SRLSectionPage::pass1()
 {
 	log->bumpPageIncarnation(parentPage, tableSpaceId, objInUse);
+	
+	if (pageNumber)
+		log->bumpPageIncarnation(pageNumber, tableSpaceId, objInUse);
 }
 
 void SRLSectionPage::pass2()
 {
-	print();
+	if (log->tracePage == pageNumber)
+		print();
 	
 	if (log->bumpPageIncarnation(parentPage, tableSpaceId, objInUse))
+		{
 		if (control->isPostFlush())
 			Section::redoSectionPage(log->getDbb(tableSpaceId), parentPage, pageNumber,
sectionSlot, sectionId, sequence, level);
+		}
+
+	if (pageNumber)
+		log->bumpPageIncarnation(pageNumber, tableSpaceId, objInUse);
 }
 
 void SRLSectionPage::redo()
 {
 	log->bumpPageIncarnation(parentPage, tableSpaceId, objInUse);
+	
+	if (pageNumber)
+		log->bumpPageIncarnation(pageNumber, tableSpaceId, objInUse);
 }
 
 void SRLSectionPage::print()

--- 1.39/storage/falcon/StorageHandler.cpp	2007-07-06 18:02:59 -04:00
+++ 1.40/storage/falcon/StorageHandler.cpp	2007-07-06 18:02:59 -04:00
@@ -679,6 +679,7 @@
 
 int StorageHandler::dropDatabase(const char* path)
 {
+	/***
 	char pathname[FILENAME_MAX];
 	const char *slash = pathname;
 	char *q = pathname;
@@ -713,6 +714,7 @@
 		}
 
 	storageDatabase->release();
+	***/
 	
 	return 0;
 }

--- 1.34/storage/falcon/Cache.cpp	2007-07-06 18:02:59 -04:00
+++ 1.35/storage/falcon/Cache.cpp	2007-07-06 18:02:59 -04:00
@@ -36,7 +36,7 @@
 #include "Thread.h"
 #include "DatabaseCopy.h"
 
-//#define STOP_PAGE		130049
+//#define STOP_PAGE		14
 
 static const uint64 cacheHunkSize	= 1024 * 1024 * 128;
 
@@ -254,6 +254,11 @@
 	Sync sync(&syncObject, "Cache::fakePage");
 	sync.lock(Exclusive);
 	int	slot = pageNumber % hashSize;
+
+#ifdef STOP_PAGE			
+	if (pageNumber == STOP_PAGE)
+		Log::debug("faking page %d/%d\n",pageNumber, dbb->tableSpaceId);
+#endif
 
 	/* If we already have a buffer for this go, we're done */
 

--- 1.34/storage/falcon/SyncObject.cpp	2007-07-06 18:02:59 -04:00
+++ 1.35/storage/falcon/SyncObject.cpp	2007-07-06 18:02:59 -04:00
@@ -262,7 +262,6 @@
 		return;
 		}
 	
-	/***	
 	Thread *thread = NULL;
 	
 	for (;;)
@@ -285,8 +284,8 @@
 		else
 			thread = Thread::getThread("SyncObject::lock");
 		}
-	***/
 
+	/*** this should be faster, but doesn't seem to be
 	exclusiveThread = NULL;
 	
 	if (type == Shared)
@@ -302,6 +301,7 @@
 	
 	if (waiters)
 		grantLocks();
+	***/
 }
 
 void SyncObject::downGrade(LockType type)
Thread
bk commit into 6.0-falcon tree (jas:1.2601)U-ROWVWADEjas7 Jul