List:Commits« Previous MessageNext Message »
From:Christopher Powers Date:January 15 2009 5:58am
Subject:bzr commit into mysql-6.0-falcon-team branch (cpowers:2960) Bug#35755
View as plain text  
#At file:///home/cpowers/work/dev/dev-02/mysql/

 2960 Christopher Powers	2009-01-14
      Bug #35755, "Cannot create index on Falcon table(record memory exhausted)"
      
      Revisions per code review
modified:
  storage/falcon/Database.cpp
  storage/falcon/Database.h
  storage/falcon/ha_falcon.cpp

per-file messages:
  storage/falcon/Database.cpp
    Scavenge no longer commits system transactions.
    No longer a need for 'signaled'.
  storage/falcon/Database.h
    Removed 'signaled'
  storage/falcon/ha_falcon.cpp
    Restored LOAD_AUTOCOMMIT_RECORDS to non-debug value
=== modified file 'storage/falcon/Database.cpp'
--- a/storage/falcon/Database.cpp	2009-01-15 04:12:42 +0000
+++ b/storage/falcon/Database.cpp	2009-01-15 05:58:30 +0000
@@ -1723,7 +1723,7 @@ void Database::validate(int optionMask)
 	Log::debug ("Database::validate: validation complete\n");
 }
 
-void Database::scavenge(bool signaled)
+void Database::scavenge(void)
 {
 	signalCardinality();
 
@@ -1756,7 +1756,7 @@ void Database::scavenge(bool signaled)
 	transactionManager->purgeTransactions();
 
 	// Scavenge the record cache
-	scavengeRecords(signaled);
+	scavengeRecords();
 
 	// Scavenge expired licenses
 	
@@ -1784,13 +1784,8 @@ void Database::scavenge(bool signaled)
 		backLog->reportStatistics();
 }
 
-void Database::scavengeRecords(bool signaled)
+void Database::scavengeRecords(void)
 {
-	// Commit pending system transactions before proceeding
-
-	if (!signaled && systemConnection->transaction && !syncSysDDL.isLocked())
-		commitSystemTransaction();
-
 	Sync syncScavenger(&syncScavenge, "Database::scavengeRecords(Scavenge)");
 	syncScavenger.lock(Exclusive);
 
@@ -1919,22 +1914,18 @@ void Database::scavengerThreadMain(void 
 
 void Database::scavengerThreadMain(void)
 {
-	bool signaled = false;
-	
 	Thread *thread = Thread::getThread("Database::scavengerThreadMain");
 
 	thread->sleep(1000);
 
 	while (!thread->shutdownInProgress)
 		{
-		scavenge(signaled);
-		signaled = false;
+		scavenge();
 		
 		if (recordDataPool->activeMemory < recordScavengeThreshold)
 			{
 			INTERLOCKED_INCREMENT(scavengerThreadSleeping);
 			thread->sleep();
-			signaled = scavengerThreadSignaled != 0;
 			scavengerThreadSignaled = 0;
 			INTERLOCKED_DECREMENT(scavengerThreadSleeping);
 			}

=== modified file 'storage/falcon/Database.h'
--- a/storage/falcon/Database.h	2009-01-15 04:12:42 +0000
+++ b/storage/falcon/Database.h	2009-01-15 05:58:30 +0000
@@ -132,7 +132,7 @@ public:
 	const char*		fetchTemplate (JString applicationName, JString templateName, TemplateContext *context);
 	void			licenseCheck();
 	void			serverOperation (int op, Parameters *parameters);
-	void			scavengeRecords(bool signaled = false);
+	void			scavengeRecords(void);
 	void			pruneRecords(RecordScavenge* recordScavenge);
 	void			retireRecords(RecordScavenge* recordScavenge);
 	int				getMemorySize (const char *string);
@@ -159,7 +159,7 @@ public:
 	static void		scavengerThreadMain(void * database);
 	void			scavengerThreadMain(void);
 	void			scavengerThreadWakeup(void);
-	void			scavenge(bool signaled = false);
+	void			scavenge(void);
 	void			validate (int optionMask);
 	Role*			findRole(const char *schemaName, const char * roleName);
 	User*			findUser (const char *account);

=== modified file 'storage/falcon/ha_falcon.cpp'
--- a/storage/falcon/ha_falcon.cpp	2009-01-15 04:12:42 +0000
+++ b/storage/falcon/ha_falcon.cpp	2009-01-15 05:58:30 +0000
@@ -67,7 +67,7 @@
 #ifdef DEBUG_BACKLOG
 static const uint LOAD_AUTOCOMMIT_RECORDS = 10000000;
 #else
-static const uint LOAD_AUTOCOMMIT_RECORDS = 100000;
+static const uint LOAD_AUTOCOMMIT_RECORDS = 10000;
 #endif
 
 static const char falcon_hton_name[] = "Falcon";

Thread
bzr commit into mysql-6.0-falcon-team branch (cpowers:2960) Bug#35755Christopher Powers15 Jan