From: Date: July 11 2008 2:41pm Subject: bzr commit into mysql-6.0-falcon branch (lars-erik.bjork:2733) Bug#36990 List-Archive: http://lists.mysql.com/commits/49557 X-Bug: 36990 Message-Id: <200807111241.m6BCfqQb001980@dm-norway-02.uk.sun.com> MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit #At file:///home/lb200670/devel/mysql/falcon-bugs/ 2733 lars-erik.bjork@stripped 2008-07-11 Fix for bug#36990 - falcon_initial_allocation does not retain desired value Completely removed all usage of falcon_initial_allocation modified: mysql-test/suite/falcon/r/falcon_options.result mysql-test/suite/falcon/r/falcon_options2.result mysql-test/suite/falcon/t/falcon_options2.test storage/falcon/BackLog.cpp storage/falcon/Configuration.cpp storage/falcon/Configuration.h storage/falcon/Database.cpp storage/falcon/DatabaseClone.cpp storage/falcon/Dbb.cpp storage/falcon/Dbb.h storage/falcon/IO.cpp storage/falcon/IOx.h storage/falcon/RepositoryVolume.cpp storage/falcon/SRLCreateTableSpace.cpp storage/falcon/SRLCreateTableSpace.h storage/falcon/StorageHandler.cpp storage/falcon/TableSpace.cpp storage/falcon/TableSpace.h storage/falcon/TableSpaceManager.cpp storage/falcon/ha_falcon.cpp per-file messages: mysql-test/suite/falcon/r/falcon_options.result Updated the test not to test on falcon_initial_allocation mysql-test/suite/falcon/r/falcon_options2.result Updated the test not to test on falcon_initial_allocation mysql-test/suite/falcon/t/falcon_options2.test Updated the test not to test on falcon_initial_allocation storage/falcon/BackLog.cpp No longer pass the initial allocation when creating a file storage/falcon/Configuration.cpp Removed all usage of falcon_initial_allocation and initialAllocation storage/falcon/Configuration.h Removed the variable initialAllocation storage/falcon/Database.cpp No longer pass the initial allocation when creating a file storage/falcon/DatabaseClone.cpp No longer pass the initial allocation when creating a file storage/falcon/Dbb.cpp No longer pass the initial allocation when creating a file storage/falcon/Dbb.h No longer pass the initial allocation when creating a file storage/falcon/IO.cpp No longer pass the initial allocation when creating a file. Removed the code that handles the initial allocation when creating a file storage/falcon/IOx.h No longer pass the initial allocation when creating a file storage/falcon/RepositoryVolume.cpp No longer pass the initial allocation when creating a file storage/falcon/SRLCreateTableSpace.cpp Removed commented-out code regarding the initial size of a tablespace storage/falcon/SRLCreateTableSpace.h Removed the (commented-out) variable initialSize storage/falcon/StorageHandler.cpp No longer pass the initial allocation when creating a file. I kept it in the signatures of the methods as it was the first of several default parameters. When removing the rest, extentSize and such, we can safely remove initialSize as well storage/falcon/TableSpace.cpp No longer pass the initial allocation when creating a file. Removed code regarding the removed variable initialSize storage/falcon/TableSpace.h Removed the variable initialSize and updated the constructors (also the commented-out one) storage/falcon/TableSpaceManager.cpp Removed usage of initialSize from some commented-out code storage/falcon/ha_falcon.cpp No longer pass the initial allocation when creating a file. Removed the falcon_initial_allocation variable and the creation of the sysvar === modified file 'mysql-test/suite/falcon/r/falcon_options.result' --- a/mysql-test/suite/falcon/r/falcon_options.result 2008-07-10 19:00:14 +0000 +++ b/mysql-test/suite/falcon/r/falcon_options.result 2008-07-11 12:41:45 +0000 @@ -9,7 +9,6 @@ falcon_debug_trace 0 falcon_direct_io 1 falcon_gopher_threads 5 falcon_index_chill_threshold 4194304 -falcon_initial_allocation 0 falcon_io_threads 2 falcon_large_blob_threshold 160000 falcon_lock_wait_timeout 50 @@ -92,7 +91,6 @@ FALCON_DEBUG_TRACE 0 FALCON_DIRECT_IO 1 FALCON_GOPHER_THREADS 5 FALCON_INDEX_CHILL_THRESHOLD 1073741824 -FALCON_INITIAL_ALLOCATION 0 FALCON_IO_THREADS 2 FALCON_LARGE_BLOB_THRESHOLD 160000 FALCON_LOCK_WAIT_TIMEOUT 50 === modified file 'mysql-test/suite/falcon/r/falcon_options2.result' --- a/mysql-test/suite/falcon/r/falcon_options2.result 2008-07-10 19:00:14 +0000 +++ b/mysql-test/suite/falcon/r/falcon_options2.result 2008-07-11 12:41:45 +0000 @@ -10,7 +10,6 @@ FALCON_DEBUG_TRACE 0 FALCON_DIRECT_IO 1 FALCON_GOPHER_THREADS 5 FALCON_INDEX_CHILL_THRESHOLD 4194304 -FALCON_INITIAL_ALLOCATION 0 FALCON_IO_THREADS 2 FALCON_LARGE_BLOB_THRESHOLD 160000 FALCON_LOCK_WAIT_TIMEOUT 50 @@ -54,9 +53,6 @@ SELECT @@falcon_gopher_threads; SELECT @@falcon_index_chill_threshold; @@falcon_index_chill_threshold 4194304 -SELECT @@falcon_initial_allocation; -@@falcon_initial_allocation -0 SELECT @@falcon_io_threads; @@falcon_io_threads 2 === modified file 'mysql-test/suite/falcon/t/falcon_options2.test' --- a/mysql-test/suite/falcon/t/falcon_options2.test 2008-07-10 19:00:14 +0000 +++ b/mysql-test/suite/falcon/t/falcon_options2.test 2008-07-11 12:41:45 +0000 @@ -14,7 +14,6 @@ SELECT @@falcon_debug_trace; SELECT @@falcon_direct_io; SELECT @@falcon_gopher_threads; SELECT @@falcon_index_chill_threshold; -SELECT @@falcon_initial_allocation; SELECT @@falcon_io_threads; SELECT @@falcon_large_blob_threshold; SELECT @@falcon_lock_wait_timeout; === modified file 'storage/falcon/BackLog.cpp' --- a/storage/falcon/BackLog.cpp 2008-04-12 02:22:50 +0000 +++ b/storage/falcon/BackLog.cpp 2008-07-11 12:41:45 +0000 @@ -38,7 +38,7 @@ BackLog::BackLog(Database *db, const cha database = db; dbb = new Dbb(database->dbb, 0); dbb->createPath(fileName); - dbb->create(fileName, dbb->pageSize, 0, HdrTableSpace, 0, NULL, 0); + dbb->create(fileName, dbb->pageSize, 0, HdrTableSpace, 0, NULL); dbb->noLog = true; dbb->tableSpaceId = -1; int32 sectionId = Section::createSection (dbb, NO_TRANSACTION); === modified file 'storage/falcon/Configuration.cpp' --- a/storage/falcon/Configuration.cpp 2008-07-10 09:01:32 +0000 +++ b/storage/falcon/Configuration.cpp 2008-07-11 12:41:45 +0000 @@ -62,7 +62,6 @@ extern uint64 max_memory_address; extern uint64 falcon_record_memory_max; -extern uint64 falcon_initial_allocation; extern uint falcon_allocation_extent; extern uint64 falcon_page_cache_size; //extern uint falcon_debug_mask; @@ -116,7 +115,6 @@ Configuration::Configuration(const char recordMemoryMax = falcon_record_memory_max; recordScavengeThresholdPct = falcon_record_scavenge_threshold; recordScavengeFloorPct = falcon_record_scavenge_floor; - initialAllocation = falcon_initial_allocation; allocationExtent = falcon_allocation_extent; serialLogWindows = falcon_serial_log_buffers; pageCacheSize = falcon_page_cache_size; @@ -164,7 +162,6 @@ Configuration::Configuration(const char recordScavengeThreshold = (recordMemoryMax * 100) / recordScavengeThresholdPct; recordScavengeFloor = (recordMemoryMax * 100) / recordScavengeFloorPct; serialLogWindows = 10; - initialAllocation = 0; allocationExtent = 10; pageCacheSize = getMemorySize(PAGE_CACHE_MEMORY); indexChillThreshold = 4 * ONE_MB; === modified file 'storage/falcon/Configuration.h' --- a/storage/falcon/Configuration.h 2008-03-11 16:15:47 +0000 +++ b/storage/falcon/Configuration.h 2008-07-11 12:41:45 +0000 @@ -49,7 +49,6 @@ public: uint64 recordScavengeFloor; int recordScavengeThresholdPct; int recordScavengeFloorPct; - uint64 initialAllocation; uint64 allocationExtent; uint64 pageCacheSize; int64 javaInitialAllocation; === modified file 'storage/falcon/Database.cpp' --- a/storage/falcon/Database.cpp 2008-06-17 17:41:54 +0000 +++ b/storage/falcon/Database.cpp 2008-07-11 12:41:45 +0000 @@ -634,7 +634,7 @@ void Database::createDatabase(const char int page_size = PAGE_SIZE; #endif - cache = dbb->create(filename, page_size, configuration->pageCacheSize, HdrDatabaseFile, 0, "", 0); + cache = dbb->create(filename, page_size, configuration->pageCacheSize, HdrDatabaseFile, 0, ""); try { === modified file 'storage/falcon/DatabaseClone.cpp' --- a/storage/falcon/DatabaseClone.cpp 2007-10-08 17:20:26 +0000 +++ b/storage/falcon/DatabaseClone.cpp 2008-07-11 12:41:45 +0000 @@ -50,7 +50,7 @@ void DatabaseClone::createFile(const cha shadow = new IO; shadow->pageSize = dbb->pageSize; shadow->dbb = dbb; - shadow->createFile(fileName, 0); + shadow->createFile(fileName); } const char* DatabaseClone::getFileName(void) === modified file 'storage/falcon/Dbb.cpp' --- a/storage/falcon/Dbb.cpp 2008-04-12 02:22:50 +0000 +++ b/storage/falcon/Dbb.cpp 2008-07-11 12:41:45 +0000 @@ -147,7 +147,7 @@ Dbb::~Dbb() dbb->close(); } -Cache* Dbb::create(const char * fileName, int pageSz, int64 cacheSize, FileType fileType, TransId transId, const char *logRoot, uint64 initialAllocation) +Cache* Dbb::create(const char * fileName, int pageSz, int64 cacheSize, FileType fileType, TransId transId, const char *logRoot) { serialLog = database->serialLog; odsVersion = ODS_VERSION; @@ -155,7 +155,7 @@ Cache* Dbb::create(const char * fileName sequence = 1; init(pageSz, (int) ((cacheSize + pageSz - 1) / pageSz)); - createFile(fileName, initialAllocation); + createFile(fileName); try { Hdr::create(this, fileType, transId, logRoot); === modified file 'storage/falcon/Dbb.h' --- a/storage/falcon/Dbb.h 2008-03-27 06:09:29 +0000 +++ b/storage/falcon/Dbb.h 2008-07-11 12:41:45 +0000 @@ -168,7 +168,7 @@ public: Bdb* fakePage (int32 pageNumber, PageType pageType, TransId transId); Bdb* trialFetch(int32 pageNumber, PageType pageType, LockType lockType); void init(int pageSz, int cacheSize); - Cache* create (const char *fileName, int pageSize, int64 cacheSize, FileType fileType, TransId transId, const char *logRoot, uint64 initialAllocation); + Cache* create (const char *fileName, int pageSize, int64 cacheSize, FileType fileType, TransId transId, const char *logRoot); void validateCache(void); void logUpdatedRecords(Transaction* transaction, RecordVersion* records, bool chill = false); void logIndexUpdates(DeferredIndex* deferredIndex); === modified file 'storage/falcon/IO.cpp' --- a/storage/falcon/IO.cpp 2008-07-08 21:36:34 +0000 +++ b/storage/falcon/IO.cpp 2008-07-11 12:41:45 +0000 @@ -184,7 +184,7 @@ bool IO::openFile(const char * name, boo return fileId != -1; } -bool IO::createFile(const char *name, uint64 initialAllocation) +bool IO::createFile(const char *name) { Log::debug("IO::createFile: creating file \"%s\"\n", name); @@ -218,26 +218,6 @@ bool IO::createFile(const char *name, ui #endif #endif - if (initialAllocation) - { - UCHAR *raw = new UCHAR[8192 * 257]; - UCHAR *aligned = (UCHAR*) (((UIPTR) raw + 8191) / 8192 * 8192); - uint size = 8192 * 256; - memset(aligned, 0, size); - uint64 offset = 0; - - for (uint64 remaining = initialAllocation; remaining;) - { - uint n = (int) MIN(remaining, size); - write(offset, n, aligned); - offset += n; - remaining -= n; - } - - delete [] raw; - sync(); - } - return fileId != -1; } === modified file 'storage/falcon/IOx.h' --- a/storage/falcon/IOx.h 2008-07-07 14:00:45 +0000 +++ b/storage/falcon/IOx.h 2008-07-11 12:41:45 +0000 @@ -63,7 +63,7 @@ public: void writePage (Bdb *buffer, int type); void writePages(int32 pageNumber, int length, const UCHAR* data, int type); void readPage (Bdb *page); - bool createFile (const char *name, uint64 initialAllocation); + bool createFile (const char *name); bool openFile (const char *name, bool readOnly); void longSeek(int64 offset); void read(int64 offset, int length, UCHAR* buffer); === modified file 'storage/falcon/RepositoryVolume.cpp' --- a/storage/falcon/RepositoryVolume.cpp 2008-03-28 22:44:36 +0000 +++ b/storage/falcon/RepositoryVolume.cpp 2008-07-11 12:41:45 +0000 @@ -232,7 +232,7 @@ void RepositoryVolume::makeWritable() void RepositoryVolume::create() { IO::createPath (fileName); - dbb->create(fileName, dbb->pageSize, 0, HdrRepositoryFile, 0, NULL, 0); + dbb->create(fileName, dbb->pageSize, 0, HdrRepositoryFile, 0, NULL); Sync syncDDL(&database->syncSysDDL, "RepositoryVolume::create"); Transaction *transaction = database->getSystemTransaction(); syncDDL.lock(Exclusive); === modified file 'storage/falcon/SRLCreateTableSpace.cpp' --- a/storage/falcon/SRLCreateTableSpace.cpp 2008-04-05 22:09:17 +0000 +++ b/storage/falcon/SRLCreateTableSpace.cpp 2008-07-11 12:41:45 +0000 @@ -53,7 +53,6 @@ void SRLCreateTableSpace::append(TableSp putData(len, (const UCHAR*) p); putInt(tableSpace->type); /*** - putInt64(tableSpace->initialSize); putInt64(tableSpace->extentSize); putInt64(tableSpace->autoextendSize); putInt64(tableSpace->maxSize); @@ -82,7 +81,6 @@ void SRLCreateTableSpace::read() if (control->version >= srlVersion15) { /*** - initialSize = getInt64(); extentSize = getInt64(); autoextendSize= getInt64(); maxSize = getInt64(); @@ -95,7 +93,6 @@ void SRLCreateTableSpace::read() else { /*** - initialSize = 0; extentSize = 0; autoextendSize= 0; maxSize = 0; @@ -112,7 +109,6 @@ void SRLCreateTableSpace::pass1() TableSpaceInit tsInit; /*** - tsInit.initialSize = initialSize; tsInit.extentSize = extentSize; tsInit.autoextendSize = autoextendSize; tsInit.maxSize = maxSize; === modified file 'storage/falcon/SRLCreateTableSpace.h' --- a/storage/falcon/SRLCreateTableSpace.h 2008-04-05 22:09:17 +0000 +++ b/storage/falcon/SRLCreateTableSpace.h 2008-07-11 12:41:45 +0000 @@ -49,7 +49,6 @@ public: int filenameLength; int type; /*** - int64 initialSize; int64 extentSize; int64 autoExtendSize; int64 maxSize; === modified file 'storage/falcon/StorageHandler.cpp' --- a/storage/falcon/StorageHandler.cpp 2008-07-10 19:00:14 +0000 +++ b/storage/falcon/StorageHandler.cpp 2008-07-11 12:41:45 +0000 @@ -51,7 +51,6 @@ struct StorageSavepoint { int savepoint; }; -extern uint64 falcon_initial_allocation; static const char *createTempSpace = "upgrade tablespace " TEMPORARY_TABLESPACE " filename '" FALCON_TEMPORARY "'"; //static const char *dropTempSpace = "drop tablespace " TEMPORARY_TABLESPACE; @@ -465,24 +464,24 @@ Connection* StorageHandler::getDictionar } JString StorageHandler::genCreateTableSpace(const char* tableSpaceName, const char* filename, - unsigned long long initialSize, - unsigned long long extentSize, + unsigned long long initialSize, + unsigned long long extentSize, unsigned long long autoextendSize, unsigned long long maxSize, int nodegroup, bool wait, const char* comment) { CmdGen gen; /*** - gen.gen("create tablespace \"%s\" filename '%s' initial_size " I64FORMAT " extent_size " I64FORMAT + gen.gen("create tablespace \"%s\" filename '%s' extent_size " I64FORMAT " autoextend_size " I64FORMAT " max_size " I64FORMAT " nodegroup %d wait %d comment '%s'", - tableSpaceName, filename, initialSize, extentSize, autoextendSize, maxSize, nodegroup, (int)wait, comment ? comment : ""); + tableSpaceName, filename, extentSize, autoextendSize, maxSize, nodegroup, (int)wait, comment ? comment : ""); ***/ gen.gen("create tablespace \"%s\" filename '%s' comment '%s'", tableSpaceName, filename, comment ? comment : ""); return (gen.getString()); } int StorageHandler::createTablespace(const char* tableSpaceName, const char* filename, - unsigned long long initialSize, + unsigned long long initialSize, unsigned long long extentSize, unsigned long long autoextendSize, unsigned long long maxSize, @@ -998,7 +997,7 @@ void StorageHandler::initialize(void) IO::deleteFile(FALCON_TEMPORARY); dictionaryConnection = defaultDatabase->getOpenConnection(); Statement *statement = dictionaryConnection->createStatement(); - JString createTableSpace = genCreateTableSpace(DEFAULT_TABLESPACE, FALCON_USER, falcon_initial_allocation); + JString createTableSpace = genCreateTableSpace(DEFAULT_TABLESPACE, FALCON_USER); statement->executeUpdate(createTableSpace); for (const char **ddl = falconSchema; *ddl; ++ddl) === modified file 'storage/falcon/TableSpace.cpp' --- a/storage/falcon/TableSpace.cpp 2008-04-05 22:09:17 +0000 +++ b/storage/falcon/TableSpace.cpp 2008-07-11 12:41:45 +0000 @@ -50,7 +50,6 @@ TableSpace::TableSpace(Database *db, con TableSpaceInit spaceInit; TableSpaceInit *init = (tsInit ? tsInit : &spaceInit); - initialSize = init->initialSize; comment = init->comment; /*** extentSize = init->extentSize; @@ -132,7 +131,7 @@ void TableSpace::open() void TableSpace::create() { dbb->createPath(filename); - dbb->create(filename, dbb->pageSize, 0, HdrTableSpace, 0, NULL, initialSize); + dbb->create(filename, dbb->pageSize, 0, HdrTableSpace, 0, NULL); active = true; dbb->flush(); } @@ -170,7 +169,6 @@ void TableSpace::save(void) statement->setString(n++, filename); statement->setInt(n++, type); /*** - statement->setLong(n++, initialSize); statement->setLong(n++, extentSize); statement->setLong(n++, autoExtendSize); statement->setLong(n++, maxSize); === modified file 'storage/falcon/TableSpace.h' --- a/storage/falcon/TableSpace.h 2008-04-05 22:09:17 +0000 +++ b/storage/falcon/TableSpace.h 2008-07-11 12:41:45 +0000 @@ -29,16 +29,15 @@ static const int TABLESPACE_TYPE_REPOSIT struct TableSpaceInit { - int64 initialSize; JString comment; - TableSpaceInit(): initialSize(0), comment("") {} + TableSpaceInit(): comment("") {} /*** int64 extentSize; int64 autoExtendSize; int64 maxSize; int nodegroup; int wait; - TableSpaceInit(): initialSize(0), extentSize(0), autoExtendSize(0), maxSize(0), nodegroup(0), wait(0), comment("") {} + TableSpaceInit(): extentSize(0), autoExtendSize(0), maxSize(0), nodegroup(0), wait(0), comment("") {} ***/ }; @@ -75,7 +74,6 @@ public: bool active; bool needSave; - int64 initialSize; /*** int64 extentSize; int64 autoExtendSize; === modified file 'storage/falcon/TableSpaceManager.cpp' --- a/storage/falcon/TableSpaceManager.cpp 2008-07-09 19:23:23 +0000 +++ b/storage/falcon/TableSpaceManager.cpp 2008-07-11 12:41:45 +0000 @@ -118,7 +118,6 @@ TableSpace* TableSpaceManager::findTable TableSpaceInit tsInit; /*** - tsInit.initialSize = resultSet->getLong(n++); tsInit.extentSize = resultSet->getLong(n++); tsInit.autoExtendSize = resultSet->getLong(n++); tsInit.maxSize = resultSet->getLong(n++); @@ -239,7 +238,6 @@ void TableSpaceManager::bootstrap(int se p = EncodedDataStream::decode(p, &fileName, true); p = EncodedDataStream::decode(p, &type, true); /*** - p = EncodedDataStream::decode(p, &initialSize, true); p = EncodedDataStream::decode(p, &extentSsize, true); p = EncodedDataStream::decode(p, &autoExtendSize, true); p = EncodedDataStream::decode(p, &maxSize, true); @@ -248,7 +246,6 @@ void TableSpaceManager::bootstrap(int se p = EncodedDataStream::decode(p, &comment, true); TableSpaceInit tsInit; - tsInit.initialSize = initialSize.getQuad(); tsInit.extentSize = extentSize.getQuad(); tsInit.autoExtendSize = autoExtendSize.getQuad(); tsInit.maxSize = maxSize.getQuad(); === modified file 'storage/falcon/ha_falcon.cpp' --- a/storage/falcon/ha_falcon.cpp 2008-07-09 10:23:27 +0000 +++ b/storage/falcon/ha_falcon.cpp 2008-07-11 12:41:45 +0000 @@ -83,7 +83,6 @@ static StorageHandler *storageHandler; #undef PARAMETER_BOOL ulonglong falcon_record_memory_max; -ulonglong falcon_initial_allocation; ulonglong falcon_serial_log_file_size; uint falcon_allocation_extent; ulonglong falcon_page_cache_size; @@ -2073,7 +2072,6 @@ int StorageInterface::alter_tablespace(h case CREATE_TABLESPACE: ret = storageHandler->createTablespace( ts_info->tablespace_name, ts_info->data_file_name, - ts_info->initial_size, ts_info->extent_size, ts_info->autoextend_size, ts_info->max_size, @@ -3630,11 +3628,6 @@ static MYSQL_SYSVAR_ULONGLONG(record_mem "The maximum size of the record memory cache.", NULL, StorageInterface::updateRecordMemoryMax, LL(250)<<20, 0, (ulonglong) max_memory_address, LL(1)<<20); -static MYSQL_SYSVAR_ULONGLONG(initial_allocation, falcon_initial_allocation, - PLUGIN_VAR_RQCMDARG, // | PLUGIN_VAR_READONLY, - "Initial allocation (in bytes) of falcon user tablespace.", - NULL, NULL, 0, 0, LL(4000000000), LL(1)<<20); - static MYSQL_SYSVAR_ULONGLONG(serial_log_file_size, falcon_serial_log_file_size, PLUGIN_VAR_RQCMDARG, "If serial log file grows larger than this value, it will be truncated when it is reused", @@ -3683,7 +3676,6 @@ static struct st_mysql_sys_var* falconVa MYSQL_SYSVAR(scavenge_schedule), //MYSQL_SYSVAR(debug_mask), MYSQL_SYSVAR(record_memory_max), - MYSQL_SYSVAR(initial_allocation), //MYSQL_SYSVAR(allocation_extent), MYSQL_SYSVAR(page_cache_size), MYSQL_SYSVAR(consistent_read),