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-ROWVWADEjas | 7 Jul |