From: John H. Embretsen Date: June 25 2009 9:16pm Subject: Weekly Falcon bazaar merge List-Archive: http://lists.mysql.com/falcon/773 Message-Id: <4A43E917.1010109@sun.com> MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="Boundary_(ID_iyzQ9pHbCI6ayhXeqNJ7+w)" --Boundary_(ID_iyzQ9pHbCI6ayhXeqNJ7+w) Content-type: text/plain; CHARSET=US-ASCII Content-transfer-encoding: 7BIT Hi falconers, I just finished a merge of our bazaar branches mysql-6.0-falcon-team (private) --> mysql-6.0-falcon (public) Commit comments from the merged revisions are attached to this E-mail. As always, please test your code tree for unusual problems such as compile errors or the like. The latest merge will appear in the public falcon branch on Launchpad within a couple of hours. You can create your own local branch from launchpad: bzr branch lp:~mysql/mysql-server/mysql-6.0-falcon (see https://code.launchpad.net/~mysql/mysql-server/mysql-6.0-falcon) Regards, -- John --Boundary_(ID_iyzQ9pHbCI6ayhXeqNJ7+w) Content-type: text/plain; name=merged-from-falcon-team-to-falcon_2009-06-25.txt Content-transfer-encoding: 7BIT Content-disposition: inline; filename=merged-from-falcon-team-to-falcon_2009-06-25.txt You have 23 extra revision(s): ------------------------------------------------------------ revno: 2731 [merge] committer: John H. Embretsen branch nick: mysql-6.0-falcon-to-merge timestamp: Thu 2009-06-25 22:18:15 +0200 message: Merged mysql-6.0-falcon-team --> mysql-6.0-falcon ------------------------------------------------------------ revno: 2729.1.18 committer: John H. Embretsen branch nick: mysql-6.0-falcon-team-jsandbox timestamp: Thu 2009-06-25 11:06:52 -0600 message: Adjust falcon_team.experimental file to reflect recent changes (tests stabilized and moved to falcon suite). ------------------------------------------------------------ revno: 2729.1.17 committer: John H. Embretsen branch nick: mysql-6.0-falcon-team-jsandbox timestamp: Thu 2009-06-25 10:59:40 -0600 message: Bug#45331 - Tests are not run on the weekly-6.0-falcon-team tree. Adjustments to run all Falcon big-tests in wekly runs instead of only non-failing or relatively "fast" tests. Also including falcon_team suite (although there are no big-tests there currently) to simplify maintenance. ------------------------------------------------------------ revno: 2729.1.16 committer: Kevin Lewis branch nick: mysql-6.0-falcon-team timestamp: Wed 2009-06-24 16:17:25 -0600 message: Bug#43650 - The server calls StorageInterface::rnd_pos() when it has a list of records previously read and sorted and it wants to read them a final time. If the isolation mode is read-committed, the call to fetchVersion will return NULL if the currently committed version is deleted. This means it was deleted during the transaction. Since the transaction was able to find a visible version of the record before, that visible version MUST still be around. So the only reason that fetchVersion would return NULL is if the current visible version is deleted. In repeatable-read, fetchVersion would return that previous visible record. So if fetchVersion or fetchForUpdate returns NULL to StorageDatabase::fetch(), instead of returning StorageErrorRecordNotFound - HA_KEY_NOT_FOUND - "can't find record", it should return StorageErrorRecordDeleted - HA_ERR_RECORD_DELETED so that the server will ignore this record and go on to the nexxt record. ------------------------------------------------------------ revno: 2729.1.15 committer: Kevin Lewis branch nick: mysql-6.0-falcon-team timestamp: Wed 2009-06-24 15:28:30 -0600 message: Code Cleanup ------------------------------------------------------------ revno: 2729.1.14 [merge] committer: Olav.Sandstaa branch nick: falcon-elog timestamp: Wed 2009-06-24 20:25:44 +0200 message: Merging ------------------------------------------------------------ revno: 2729.3.2 [merge] committer: Kevin Lewis branch nick: mysql-6.0-falcon-team timestamp: Wed 2009-06-24 11:07:35 -0600 message: merge ------------------------------------------------------------ revno: 2729.4.1 committer: Christopher Powers branch nick: mysql timestamp: Tue 2009-06-23 19:34:01 -0500 message: Bug #37565 "Crash in Field_blob::pack" Online ALTER ADD COLUMN creates a new record format that has more fields than the existing rows. Previously, the disparity between the old record formats and the newer, larger record format was handled strictly by StorageInterface::decodeRecord(), which set the undefined fields to NULL prior to returning the decoded record to the server. This was generally sufficient except when the older records were updated. Although Table::update() assigned the new format to the record and Record::setEncodedRecord() resized the field vector, the new fields in the record were never initialized to NULL. StorageInterface::encodeRecord() now initializes undefined fields to NULL prior to storing the encoded record. ------------------------------------------------------------ revno: 2729.3.1 committer: Kevin Lewis branch nick: mysql-6.0-falcon-team timestamp: Tue 2009-06-23 15:16:25 -0600 message: Bug#45665 - Change the tests so that the Record::data.record is read once and tested multiple times instead of calling Record functions to test it multiple times in Table::checkUniqueRecordVersion(). ------------------------------------------------------------ revno: 2729.1.13 committer: Olav.Sandstaa branch nick: falcon-elog timestamp: Wed 2009-06-24 15:31:32 +0200 message: Bug #43490 Falcon internal thread terminate after throwing an instance of 'SQLError' When this error occurs MySQL terminates and all that is written to the log file is that there was on uncaught SQLError exception. The Thread class has code for writing out the exception string but unless the correct debug flag is specified nothing is written to the log file. This patch changes the Thread class to use Log::fatal() for writing the excpetion's string so that it is more likely that it get written to the log before the process is terminated. The patch does not fix the problem but will hopefully make it easier to understand what caused this exception to occure. ------------------------------------------------------------ revno: 2729.1.12 committer: Olav.Sandstaa branch nick: falcon-elog timestamp: Wed 2009-06-24 14:59:31 +0200 message: Make Falcon's default log listener (StorageInterface::logger) take into account the newly introduced default debug mask for the Log. With this change anything written to the StorageInterface::logger will be written by the logger as long as the mask given as parameter contains the Log's default debug mask. ------------------------------------------------------------ revno: 2729.1.11 committer: Olav.Sandstaa branch nick: falcon-elog timestamp: Tue 2009-06-23 15:20:36 +0200 message: Extend Falcon's Log class with the following: 1. A new debug mask called LogAlwaysWrite: This debug mask will be on by default for the Falcon log. It will not be disabled if the user provides a debug at startup or changes it for a running server. 2. A new log method Log::fatal(): Log messages written using this method will always be written to Falcon/MySQL's log file. ------------------------------------------------------------ revno: 2729.1.10 committer: Olav Sandstaa branch nick: falcon-bug45297 timestamp: Mon 2009-06-22 14:23:12 +0200 message: Fix for Bug#44744 "Recovery stage 3: segfault in RecoveryObjects::findRecoveryObject" and Bug#45297 "Crash during recovery due to pread reading beyond EOF" These crashes was both caused by an inconsistency between the Record Locator Page and the Data page. The record locator page claimed that the record was stored in a data page while the record was not present in the data page. This situation can happen during recovery if the Record Locator page has been written to disk while the data page has not been written to disk when a server crash occurs. The recovery crash happened when the code had locate the record by a lookup in the Record Locator page and then called DataPage::updateRecord() where the record was not present. In the crash situation the record expected to be located on the same line number as the maxLine of the data page. This lead to reading "garbage" from the data page and resulted in an invalid overflow page number. This patch fixes this problem by handling that DataPage::updateRecord and DataPage::deleteLine handles to be called also when the record is not present in the data page. In this situation both the functions will just ignore the call. DataPage::updateRecord() will return that there was not room for the record. This will result in the inconsistency between the data page and the Record Locator page being resolved since the "failing" call to DataPage::updateRecord() will trigger removal of the record's entry in the Record Locator page - and the record will be inserted somewhere else. ------------------------------------------------------------ revno: 2729.1.9 committer: Kevin Lewis branch nick: mysql-6.0-falcon-team timestamp: Thu 2009-06-18 23:40:32 -0500 message: Bug#41521 - Change the timing a bit more so that the first insert ALWAYS gets done before the second. ------------------------------------------------------------ revno: 2729.1.8 committer: Kevin Lewis branch nick: mysql-6.0-falcon-team timestamp: Thu 2009-06-18 17:21:08 -0500 message: This no longer fails. Fixed by Bug#41357. Moving the test from suite/falcon_team to suite/falcon ------------------------------------------------------------ revno: 2729.1.7 [merge] committer: Kevin Lewis branch nick: mysql-6.0-falcon-team timestamp: Thu 2009-06-18 14:49:29 -0500 message: Merge ------------------------------------------------------------ revno: 2729.2.1 committer: lars-erik.bjork branch nick: clean timestamp: Thu 2009-06-18 19:56:06 +0200 message: Removing all references to CHECK_DEFERRED_INDEXES. This is old, dead code Modified file 'storage/falcon/DeferredIndex.cpp' Modified file 'storage/falcon/Index.cpp' Modified file 'storage/falcon/Index.h' ------------------------------------------------------------ revno: 2729.1.6 committer: Kevin Lewis branch nick: mysql-6.0-falcon-team timestamp: Thu 2009-06-18 14:48:02 -0500 message: Bug#42140 - Move tests from falcon_team to falcon suite ------------------------------------------------------------ revno: 2729.1.5 committer: Kevin Lewis branch nick: mysql-6.0-falcon-team timestamp: Thu 2009-06-18 14:35:15 -0500 message: Bug#42140 - Add some sleeps and an extra select to better assure the timing between connections. ------------------------------------------------------------ revno: 2729.1.4 committer: Kevin Lewis branch nick: mysql-6.0-falcon-team timestamp: Thu 2009-06-18 11:32:33 -0500 message: Bug#43554 - Move falcon_deadlock test to suite/falcon ------------------------------------------------------------ revno: 2729.1.3 committer: John H. Embretsen branch nick: mysql-6.0-falcon-team-pbfix timestamp: Thu 2009-06-18 11:07:49 +0200 message: Merge (cherrypick) non-fix (temporary move to "experimental" status) for test backup_external_non_win which fails on Solaris, see bug 45117. Merged from mysql-6.0-backup-merge. ------------------------------------------------------------ revno: 2729.1.2 committer: John H. Embretsen branch nick: mysql-6.0-falcon-team-pbfix timestamp: Thu 2009-06-18 10:19:53 +0200 message: Bug#45331 (partial): Run Falcon tests found in certain non-falcon test suites in daily and weekly PB2 runs in Falcon branches. Also run the regular falcon suite and the falcon_team suite (instead of the irrelevant rpl_ndb suite) in daily PB2 for mysql-6.0-falcon branch (and possibly children of that branch). ------------------------------------------------------------ revno: 2729.1.1 committer: John H. Embretsen branch nick: mysql-6.0-falcon-team-pbfix timestamp: Wed 2009-06-17 17:27:41 +0200 message: Bug#45331 (partial): Add Falcon's -big tests as weekly tests in PB2. For now only adding tests that are not known to fail often or drag out in time. Tests are specified in falcon-team's weekly file in mysql-test/collections. Timeout values may need to be adjusted depending on PB2 firepower and behavior (currently set to 5 hrs for a single test and 24 hrs for the entire test run (suite)). The following big tests are excluded for the time being: falcon.falcon_bug_22150-big - Too time-consuming (more than 3 hrs on an 8-core Solaris 10 box) falcon_bug_22154-big - Fails often (bug 36631) falcon_bug_36294-big - Fails often (possibly bug 36631) falcon_record_cache_memory_leak2-big - Too time-consuming Tests and settings can/should be adjusted after some initial trial period. --Boundary_(ID_iyzQ9pHbCI6ayhXeqNJ7+w)--