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
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.
| Thread |
|---|
| • Weekly Falcon bazaar merge | John H. Embretsen | 25 Jun |