#At file:///FC/MYSQL/wa-2008-BZR/lcl/mysql-6.0-falcon-cmdline-on-off/
2727 Kelly Long 2008-07-09
Second patch for comamnd line options to enable/disable super noodes and sector cache. The default is Enabled for both.
modified:
mysql-test/suite/falcon/r/falcon_options.result
mysql-test/suite/falcon/r/falcon_options2.result
storage/falcon/Cache.cpp
storage/falcon/IndexPage.cpp
storage/falcon/StorageParameters.h
=== modified file 'mysql-test/suite/falcon/r/falcon_options.result'
--- a/mysql-test/suite/falcon/r/falcon_options.result 2008-07-03 11:24:12 +0000
+++ b/mysql-test/suite/falcon/r/falcon_options.result 2008-07-09 12:35:48 +0000
@@ -26,6 +26,8 @@ falcon_serial_log_file_size 10485760
falcon_serial_log_priority 1
falcon_support_xa OFF
falcon_use_deferred_index_hash OFF
+falcon_use_sectorcache ON
+falcon_use_supernodes ON
SELECT @@GLOBAL.falcon_debug_server;
@@GLOBAL.falcon_debug_server
0
@@ -106,6 +108,8 @@ FALCON_SERIAL_LOG_FILE_SIZE 10485760
FALCON_SERIAL_LOG_PRIORITY 1
FALCON_SUPPORT_XA OFF
FALCON_USE_DEFERRED_INDEX_HASH OFF
+FALCON_USE_SECTORCACHE ON
+FALCON_USE_SUPERNODES ON
SET GLOBAL falcon_debug_mask = @previous_falcon_debug_mask;
SET GLOBAL falcon_record_memory_max = @previous_falcon_record_memory_max;
SET GLOBAL falcon_index_chill_threshold = @previous_falcon_index_chill_threshold;
=== modified file 'mysql-test/suite/falcon/r/falcon_options2.result'
--- a/mysql-test/suite/falcon/r/falcon_options2.result 2008-07-03 11:24:12 +0000
+++ b/mysql-test/suite/falcon/r/falcon_options2.result 2008-07-09 12:35:48 +0000
@@ -27,6 +27,8 @@ FALCON_SERIAL_LOG_FILE_SIZE 10485760
FALCON_SERIAL_LOG_PRIORITY 1
FALCON_SUPPORT_XA OFF
FALCON_USE_DEFERRED_INDEX_HASH OFF
+FALCON_USE_SECTORCACHE ON
+FALCON_USE_SUPERNODES ON
SELECT @@falcon_checkpoint_schedule;
@@falcon_checkpoint_schedule
7 * * * * *
@@ -99,3 +101,9 @@ SELECT @@falcon_serial_log_priority;
SELECT @@falcon_use_deferred_index_hash;
@@falcon_use_deferred_index_hash
0
+SELECT @@falcon_use_sectorcache;
+@@falcon_use_sectorcache
+1
+SELECT @@falcon_use_supernodes;
+@@falcon_use_supernodes
+1
=== modified file 'storage/falcon/Cache.cpp'
--- a/storage/falcon/Cache.cpp 2008-07-07 14:40:27 +0000
+++ b/storage/falcon/Cache.cpp 2008-07-09 12:35:48 +0000
@@ -40,6 +40,13 @@
#include "Priority.h"
#include "SectorCache.h"
+#define PARAMETER_UINT(_name, _text, _min, _default, _max, _flags, _update_function) \
+ extern uint falcon_##_name;
+#define PARAMETER_BOOL(_name, _text, _default, _flags, _update_function) \
+ extern char falcon_##_name;
+#include "StorageParameters.h"
+#undef PARAMETER_UINT
+#undef PARAMETER_BOOL
extern uint falcon_io_threads;
//#define STOP_PAGE 55
@@ -75,10 +82,7 @@ Cache::Cache(Database *db, int pageSz, i
pageWriter = NULL;
hashTable = new Bdb* [hashSz];
memset (hashTable, 0, sizeof (Bdb*) * hashSize);
- if(falcon_use_sectorcache)
- sectorCache = new SectorCache(sectorCacheSize / SECTOR_BUFFER_SIZE, pageSize);
- else
- sectorCache = NULL;
+ sectorCache = new SectorCache(sectorCacheSize / SECTOR_BUFFER_SIZE, pageSize);
uint64 n = ((uint64) pageSize * numberBuffers + cacheHunkSize - 1) / cacheHunkSize;
numberHunks = (int) n;
@@ -146,8 +150,7 @@ Cache::~Cache()
delete [] bdbs;
delete [] ioThreads;
delete flushBitmap;
- if(falcon_use_sectorcache)
- delete sectorCache;
+ delete sectorCache;
if (bufferHunks)
{
@@ -264,7 +267,7 @@ Bdb* Cache::fetchPage(Dbb *dbb, int32 pa
Priority priority(database->ioScheduler);
priority.schedule(PRIORITY_MEDIUM);
- if(falcon_use_sectorcache)
+ if (falcon_use_sectorcache)
sectorCache->readPage(bdb);
else
dbb->readPage(bdb);
@@ -531,7 +534,7 @@ void Cache::writePage(Bdb *bdb, int type
try
{
- if(falcon_use_sectorcache)
+ if (falcon_use_sectorcache)
sectorCache->writePage(bdb);
dbb->writePage(bdb, type);
}
@@ -803,7 +806,7 @@ void Cache::ioThread(void)
bdb->incrementUseCount(ADD_HISTORY);
sync.unlock();
bdb->addRef(Shared COMMA_ADD_HISTORY);
- if(falcon_use_sectorcache)
+ if (falcon_use_sectorcache)
sectorCache->writePage(bdb);
bdb->syncWrite.lock(NULL, Exclusive);
=== modified file 'storage/falcon/IndexPage.cpp'
--- a/storage/falcon/IndexPage.cpp 2008-07-07 14:40:27 +0000
+++ b/storage/falcon/IndexPage.cpp 2008-07-09 12:35:48 +0000
@@ -1436,7 +1436,7 @@ bool IndexPage::checkAddSuperNode(int pa
if (makeNextSuper)
*makeNextSuper = false;
- if(!falcon_use_supernodes)
+ if (!falcon_use_supernodes)
return false;
if (insertionPoint == nodes)
=== modified file 'storage/falcon/StorageParameters.h'
--- a/storage/falcon/StorageParameters.h 2008-07-07 14:40:27 +0000
+++ b/storage/falcon/StorageParameters.h 2008-07-09 12:35:48 +0000
@@ -30,7 +30,5 @@ PARAMETER_UINT(serial_log_buffers, "The
PARAMETER_UINT(serial_log_priority, "Whether or not serial log has write priority over other writes.", 0, 1, 1, 0, NULL)
PARAMETER_BOOL(use_deferred_index_hash, "Use Deferred Index hash lookup", 0, 0, NULL)
PARAMETER_BOOL(support_xa, "Enable XA two phase commit", 0, 0x0200, NULL)
-PARAMETER_BOOL(use_supernodes, "Use supernodes in Falcon index", 1, 0x0200, NULL)
-PARAMETER_BOOL(use_sectorcache, "Use sector cache", 1, 0x0200, NULL)
-
-// #define PARAMETER_BOOL(name, text, default, flags, update_function)
+PARAMETER_BOOL(use_supernodes, "Use supernodes in Falcon index", 1, 0x0000, NULL)
+PARAMETER_BOOL(use_sectorcache, "Use sector cache (on=disk reads are 64KB, off=disk reads are page size)", 1, 0x0000, NULL)