Below is the list of changes that have just been committed into a local
6.0 repository of vvaintroub. When vvaintroub 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, 2008-02-23 09:14:00+01:00, vvaintroub@wva. +7 -0
Isolation level should be set before
starting a transaction.
---
Bug#34486 : falcon_index_chill_threshold, falcon_record_chill_threshold
cannot be set.
Solved by passing new values down to Configuration.
mysql-test/suite/falcon/r/falcon_options.result@stripped, 2008-02-23 09:13:55+01:00,
vvaintroub@wva. +14 -2
Add index_chill_threshold and record_chill_threshold test
mysql-test/suite/falcon/t/falcon_options.test@stripped, 2008-02-23 09:13:56+01:00,
vvaintroub@wva. +10 -0
Add index_chill_threshold and record_chill_threshold test
storage/falcon/Connection.cpp@stripped, 2008-02-23 09:13:56+01:00, vvaintroub@wva. +14 -0
Add setIndexChillThreshold, setRecordChillThreshold
storage/falcon/Connection.h@stripped, 2008-02-23 09:13:57+01:00, vvaintroub@wva. +2 -0
Add setIndexChillThreshold, setRecordChillThreshold
storage/falcon/StorageHandler.cpp@stripped, 2008-02-23 09:13:57+01:00, vvaintroub@wva. +14
-0
Add setIndexChillThreshold, setRecordChillThreshold
storage/falcon/StorageHandler.h@stripped, 2008-02-23 09:13:58+01:00, vvaintroub@wva. +2 -0
Add setIndexChillThreshold, setRecordChillThreshold
storage/falcon/ha_falcon.cpp@stripped, 2008-02-23 09:13:58+01:00, vvaintroub@wva. +6 -4
Add updateIndexChillThreshold, updateRecordChillThreshold
diff -Nrup a/mysql-test/suite/falcon/r/falcon_options.result
b/mysql-test/suite/falcon/r/falcon_options.result
--- a/mysql-test/suite/falcon/r/falcon_options.result 2008-02-04 05:48:02 +01:00
+++ b/mysql-test/suite/falcon/r/falcon_options.result 2008-02-23 09:13:55 +01:00
@@ -75,6 +75,16 @@ SET GLOBAL falcon_record_memory_max = 53
SELECT @@GLOBAL.falcon_record_memory_max;
@@GLOBAL.falcon_record_memory_max
536870912
+SELECT @@GLOBAL.falcon_index_chill_threshold INTO
@previous_falcon_index_chill_threshold;
+SET GLOBAL falcon_index_chill_threshold = 1024;
+SELECT @@GLOBAL.falcon_index_chill_threshold;
+@@GLOBAL.falcon_index_chill_threshold
+1024
+SELECT @@GLOBAL.falcon_record_chill_threshold INTO
@previous_falcon_record_chill_threshold;
+SET GLOBAL falcon_record_chill_threshold = 1024;
+SELECT @@GLOBAL.falcon_record_chill_threshold;
+@@GLOBAL.falcon_record_chill_threshold
+1024
SELECT * FROM INFORMATION_SCHEMA.global_variables
WHERE variable_name LIKE 'falcon%';
VARIABLE_NAME VARIABLE_VALUE
@@ -85,7 +95,7 @@ FALCON_DEBUG_SERVER OFF
FALCON_DEBUG_TRACE 0
FALCON_DIRECT_IO 1
FALCON_GOPHER_THREADS 5
-FALCON_INDEX_CHILL_THRESHOLD 4
+FALCON_INDEX_CHILL_THRESHOLD 1024
FALCON_INITIAL_ALLOCATION 0
FALCON_IO_THREADS 2
FALCON_LARGE_BLOB_THRESHOLD 160000
@@ -93,7 +103,7 @@ FALCON_LOCK_WAIT_TIMEOUT 50
FALCON_MAX_TRANSACTION_BACKLOG 10001
FALCON_PAGE_CACHE_SIZE 4194304
FALCON_PAGE_SIZE 4096
-FALCON_RECORD_CHILL_THRESHOLD 5
+FALCON_RECORD_CHILL_THRESHOLD 1024
FALCON_RECORD_MEMORY_MAX 536870912
FALCON_RECORD_SCAVENGE_FLOOR 50
FALCON_RECORD_SCAVENGE_THRESHOLD 67
@@ -107,3 +117,5 @@ FALCON_USE_DEFERRED_INDEX_HASH OFF
SET GLOBAL falcon_debug_mask = @previous_falcon_debug_mask;
SET GLOBAL falcon_max_transaction_backlog = @previous_falcon_max_transaction_backlog;
SET GLOBAL falcon_record_memory_max = @previous_falcon_record_memory_max;
+SET GLOBAL falcon_index_chill_threshold = @previous_falcon_index_chill_threshold;
+SET GLOBAL falcon_record_chill_threshold = @previous_falcon_record_chill_threshold;
diff -Nrup a/mysql-test/suite/falcon/t/falcon_options.test
b/mysql-test/suite/falcon/t/falcon_options.test
--- a/mysql-test/suite/falcon/t/falcon_options.test 2008-02-04 05:48:03 +01:00
+++ b/mysql-test/suite/falcon/t/falcon_options.test 2008-02-23 09:13:56 +01:00
@@ -42,6 +42,14 @@ SELECT @@GLOBAL.falcon_record_memory_max
SET GLOBAL falcon_record_memory_max = 536870912;
SELECT @@GLOBAL.falcon_record_memory_max;
+SELECT @@GLOBAL.falcon_index_chill_threshold INTO
@previous_falcon_index_chill_threshold;
+SET GLOBAL falcon_index_chill_threshold = 1024;
+SELECT @@GLOBAL.falcon_index_chill_threshold;
+
+SELECT @@GLOBAL.falcon_record_chill_threshold INTO
@previous_falcon_record_chill_threshold;
+SET GLOBAL falcon_record_chill_threshold = 1024;
+SELECT @@GLOBAL.falcon_record_chill_threshold;
+
# Test INFORMATION_SCHEMA access to variables.
--sorted_result
@@ -52,3 +60,5 @@ SELECT * FROM INFORMATION_SCHEMA.global_
SET GLOBAL falcon_debug_mask = @previous_falcon_debug_mask;
SET GLOBAL falcon_max_transaction_backlog = @previous_falcon_max_transaction_backlog;
SET GLOBAL falcon_record_memory_max = @previous_falcon_record_memory_max;
+SET GLOBAL falcon_index_chill_threshold = @previous_falcon_index_chill_threshold;
+SET GLOBAL falcon_record_chill_threshold = @previous_falcon_record_chill_threshold;
diff -Nrup a/storage/falcon/Connection.cpp b/storage/falcon/Connection.cpp
--- a/storage/falcon/Connection.cpp 2007-11-29 23:30:25 +01:00
+++ b/storage/falcon/Connection.cpp 2008-02-23 09:13:56 +01:00
@@ -1858,6 +1858,20 @@ void Connection::setRecordScavengeFloor(
database->setRecordScavengeFloor(value);
}
+
+void Connection::setIndexChillThreshold(uint value)
+{
+ if(database && database->configuration)
+ database->configuration->indexChillThreshold = value;
+}
+
+void Connection::setRecordChillThreshold(uint value)
+{
+ if(database && database->configuration)
+ database->configuration->recordChillThreshold = value;
+}
+
+
int Connection::recoverGetNextLimbo(int xidSize, unsigned char *xid)
{
if (database)
diff -Nrup a/storage/falcon/Connection.h b/storage/falcon/Connection.h
--- a/storage/falcon/Connection.h 2007-12-02 23:06:18 +01:00
+++ b/storage/falcon/Connection.h 2008-02-23 09:13:57 +01:00
@@ -171,6 +171,8 @@ public:
virtual void setRecordMemoryMax(uint64 maxMemory);
virtual void setRecordScavengeThreshold(int value);
virtual void setRecordScavengeFloor(int value);
+ virtual void setIndexChillThreshold(uint value);
+ virtual void setRecordChillThreshold(uint value);
int32 getNextHandle();
void deleteRepositoryBlob (const char *schema, const char *repositoryName, int
volume, int64 blobId);
diff -Nrup a/storage/falcon/StorageHandler.cpp b/storage/falcon/StorageHandler.cpp
--- a/storage/falcon/StorageHandler.cpp 2008-01-31 20:25:44 +01:00
+++ b/storage/falcon/StorageHandler.cpp 2008-02-23 09:13:57 +01:00
@@ -1079,6 +1079,20 @@ void StorageHandler::setRecordScavengeFl
dictionaryConnection->setRecordScavengeFloor(value);
}
+void StorageHandler::setIndexChillThreshold(uint value)
+{
+ if (dictionaryConnection)
+ dictionaryConnection->setIndexChillThreshold(value);
+}
+
+
+void StorageHandler::setRecordChillThreshold(uint value)
+{
+ if (dictionaryConnection)
+ dictionaryConnection->setRecordChillThreshold(value);
+}
+
+
void StorageHandler::cleanFileName(const char* pathname, char* filename, int
filenameLength)
{
char c, prior = 0;
diff -Nrup a/storage/falcon/StorageHandler.h b/storage/falcon/StorageHandler.h
--- a/storage/falcon/StorageHandler.h 2008-01-31 20:25:44 +01:00
+++ b/storage/falcon/StorageHandler.h 2008-02-23 09:13:58 +01:00
@@ -103,6 +103,8 @@ public:
virtual void getTransactionSummaryInfo(InfoTable* infoTable);
virtual void getTablesInfo(InfoTable* infoTable);
+ virtual void setIndexChillThreshold(uint value);
+ virtual void setRecordChillThreshold(uint value);
virtual void setRecordMemoryMax(uint64 size);
virtual void setRecordScavengeThreshold(int value);
virtual void setRecordScavengeFloor(int value);
diff -Nrup a/storage/falcon/ha_falcon.cpp b/storage/falcon/ha_falcon.cpp
--- a/storage/falcon/ha_falcon.cpp 2008-02-06 18:38:23 +01:00
+++ b/storage/falcon/ha_falcon.cpp 2008-02-23 09:13:58 +01:00
@@ -3049,16 +3049,18 @@ static void updateIndexChillThreshold(MY
struct st_mysql_sys_var *var,
void *var_ptr, void *save)
{
- // TBD; Apply this setting to all configurations associated with 'thd'.
- //uint newFalconIndexChillThreshold = *((uint *) save);
+ falcon_index_chill_threshold = *(uint *)save;
+ if(storageHandler)
+ storageHandler->setIndexChillThreshold(falcon_index_chill_threshold * 1024 * 1024);
}
static void updateRecordChillThreshold(MYSQL_THD thd,
struct st_mysql_sys_var *var,
void *var_ptr, void *save)
{
- // TBD; Apply this setting to all configurations associated with 'thd'.
- //uint newFalconRecordChillThreshold = *((uint *) save);
+ falcon_record_chill_threshold = *(uint *)save;
+ if(storageHandler)
+ storageHandler->setRecordChillThreshold(falcon_record_chill_threshold * 1024 *
1024);
}
void StorageInterface::updateConsistentRead(MYSQL_THD thd, struct st_mysql_sys_var*
variable, void *var_ptr, void *save)
| Thread |
|---|
| • bk commit into 6.0 tree (vvaintroub:1.2822) BUG#34486 | vvaintroub | 23 Feb 2008 |