Applied innodb-5.0-ss1040 and innodb-5.0-ss1099 snapshots.
Bugs fixed:
- Bug #21468: InnoDB crash during recovery with corrupted data pages: XA bug?
- Bug #24299: Identifiers in foreign keys cannot contain U+0160, U+0360, ..., U+FF60
- Bug #24386: Performance degradation caused by instrumentation in mutex_struct
- Bug #24712: SHOW TABLE STATUS for file-per-table showing incorrect time fields
innobase/dict/dict0dict.c:
Applied innodb-5.0-ss1040 and innodb-5.0-ss1099 snapshots.
Revision r1030:
branches/5.0: Replace isspace() with a wrapper ib_isspace(), because on
Win32 isspace(0xa0) appears to hold. (Bug #24299)
innobase/include/sync0rw.h:
Applied innodb-5.0-ss1040 and innodb-5.0-ss1099 snapshots.
Revision r1040:
branches/5.0: Port r1039 from trunk:
Port r1034 from branches/zip: Remove some instrumentation and reduce
the output of SHOW MUTEX STATUS in non-debug builds. (Bug #24386)
innobase/include/sync0sync.h:
Applied innodb-5.0-ss1040 and innodb-5.0-ss1099 snapshots.
Revision r1040:
branches/5.0: Port r1039 from trunk:
Port r1034 from branches/zip: Remove some instrumentation and reduce
the output of SHOW MUTEX STATUS in non-debug builds. (Bug #24386)
innobase/include/sync0sync.ic:
Applied innodb-5.0-ss1040 and innodb-5.0-ss1099 snapshots.
Revision r1040:
branches/5.0: Port r1039 from trunk:
Port r1034 from branches/zip: Remove some instrumentation and reduce
the output of SHOW MUTEX STATUS in non-debug builds. (Bug #24386)
innobase/log/log0recv.c:
Applied innodb-5.0-ss1040 and innodb-5.0-ss1099 snapshots.
Revision r1076:
branches/5.0: Remove the unintentionally committed change to univ.i in r1075.
Fix assertion failure sync0sync.c line 1239
(the latter ut_error in sync_thread_reset_level())
in crash recovery when UNIV_SYNC_DEBUG is enabled.
Revision r1079:
branches/5.0: recv_recovery_from_checkpoint_finish(): Add 1 sec delay
before switching on the sync order checks in crash recovery, so that
file I/O threads have time to suspend themselves.
innobase/srv/srv0start.c:
Applied innodb-5.0-ss1040 and innodb-5.0-ss1099 snapshots.
Revision r1075:
branches/5.0: Fix assertion failure sync0sync.c line 1239
(the latter ut_error in sync_thread_reset_level())
in crash recovery when UNIV_SYNC_DEBUG is enabled.
Revision r1077:
branches/5.0: innobase_start_or_create_for_mysql(): Remove unnecessary delay
now that we moved the setting sync_order_checks_on=TRUE to log0recv.c,
to the start of the rollback phase in crash recovery.
innobase/sync/sync0rw.c:
Applied innodb-5.0-ss1040 and innodb-5.0-ss1099 snapshots.
Revision r1040:
branches/5.0: Port r1039 from trunk:
Port r1034 from branches/zip: Remove some instrumentation and reduce
the output of SHOW MUTEX STATUS in non-debug builds. (Bug #24386)
innobase/sync/sync0sync.c:
Applied innodb-5.0-ss1040 and innodb-5.0-ss1099 snapshots.
Revision r1040:
branches/5.0: Port r1039 from trunk:
Port r1034 from branches/zip: Remove some instrumentation and reduce
the output of SHOW MUTEX STATUS in non-debug builds. (Bug #24386)
innobase/trx/trx0roll.c:
Applied innodb-5.0-ss1040 and innodb-5.0-ss1099 snapshots.
Revision r1067:
branches/5.0: trx_rollback_for_mysql(), trx_commit_for_mysql():
Protect the creation of trx_dummy_sess with kernel_mutex.
This error was introduced in r1046 and r1050.
Revision r1050:
branches/5.0: trx_rollback_for_mysql(): Fix the comment introduced in r1046.
trx_commit_for_mysql(): Use the dummy trx->sess also for committing a prepared
transaction in XA recovery, just in case our code would need the session
object also in that case (does not seem to need it right now).
Revision r1048:
branches/5.0: trx_rollback_for_mysql(): Do not set trx->sess back to NULL.
This bug was introduced in r1046.
Revision r1046:
branches/5.0: trx_rollback_for_mysql(): Ensure that trx->sess is non-NULL
when calling trx_general_rollback_for_mysql(). This removes a segmentation
fault when rolling back a prepared transaction in XA recovery. (Bug #21468)
innobase/trx/trx0trx.c:
Applied innodb-5.0-ss1040 and innodb-5.0-ss1099 snapshots.
Revision r1067:
branches/5.0: trx_rollback_for_mysql(), trx_commit_for_mysql():
Protect the creation of trx_dummy_sess with kernel_mutex.
This error was introduced in r1046 and r1050.
Revision r1050:
branches/5.0: trx_rollback_for_mysql(): Fix the comment introduced in r1046.
trx_commit_for_mysql(): Use the dummy trx->sess also for committing a prepared
transaction in XA recovery, just in case our code would need the session
object also in that case (does not seem to need it right now).
sql/ha_innodb.cc:
Applied innodb-5.0-ss1040 and innodb-5.0-ss1099 snapshots.
Revision r1040:
branches/5.0: Port r1039 from trunk:
Port r1034 from branches/zip: Remove some instrumentation and reduce
the output of SHOW MUTEX STATUS in non-debug builds. (Bug #24386)
Revision r1099:
branches/5.0: Merge revision 1098 from trunk: Fix bug #24712: SHOW TABLE
STATUS for file-per-table showing incorrect time fields
Adjuster project files to reflect move of "mySTL" directory
extra/yassl/taocrypt/benchmark/benchmark.dsp:
Adjuster project files to reflect move of "mySTL" directory
extra/yassl/taocrypt/taocrypt.dsp:
Adjuster project files to reflect move of "mySTL" directory
extra/yassl/taocrypt/taocrypt.vcproj:
Adjuster project files to reflect move of "mySTL" directory
extra/yassl/taocrypt/test.dsp:
Adjuster project files to reflect move of "mySTL" directory
extra/yassl/testsuite/testsuite.dsp:
Adjuster project files to reflect move of "mySTL" directory
extra/yassl/yassl.dsp:
Adjuster project files to reflect move of "mySTL" directory
extra/yassl/yassl.vcproj:
Adjuster project files to reflect move of "mySTL" directory
support-files/mysql.spec.sh:
Explicitly note that the "MySQL-shared" RPMs (as built by MySQL AB) replace
"mysql-shared" (as distributed by SuSE) to allow easy upgrading (bug#22081).
mysql-test/Makefile.am:
add include/*.test to dist-hook and install-data-local targets to include the three .test files in mysql-test/include with make dist
into trift2.:/MySQL/M50/mysql-5.0
CMakeLists.txt:
Auto merged
client/mysql.cc:
Auto merged
sql/log.cc:
Auto merged
configure.in:
Late merge of 5.0.28, no change here.
into bodhi.local:/opt/local/work/mysql-5.0-runtime
configure.in:
Auto merged
include/my_time.h:
Auto merged
mysql-test/r/func_time.result:
Auto merged
mysql-test/r/rename.result:
Auto merged
mysql-test/t/func_time.test:
Auto merged
mysql-test/t/im_daemon_life_cycle.imtest:
Auto merged
sql-common/my_time.c:
Auto merged
sql/item_timefunc.cc:
Auto merged
sql/time.cc:
Auto merged
mysql-test/t/rename.test:
Use local (resolve a conflict)
into trift2.:/MySQL/M50/push-5.0
BitKeeper/deleted/.del-gcc.cpp~3d2e013cfac48838:
Auto merged
configure.in:
Auto merged
include/my_time.h:
Auto merged
mysql-test/install_test_db.sh:
Auto merged
mysql-test/mysql-test-run.sh:
Auto merged
mysql-test/r/func_time.result:
Auto merged
mysql-test/r/rename.result:
Auto merged
mysql-test/t/func_time.test:
Auto merged
mysql-test/t/rename.test:
Auto merged
sql/item_timefunc.cc:
Auto merged
sql/mysql_priv.h:
Auto merged
sql-common/my_time.c:
Auto merged
sql/time.cc:
Auto merged
myisam/sort.c:
Manual merge: "use local" (= 5.0 version).
mysql-test/mysql-test-run.pl:
Manual merge, part of the fix for bug#17194.
mysql-test/mysql-test-run.pl:
add --report-features
mysql-test/include/report-features.test:
test file showing server features for mysql-test-run.pl --report-features
into outpost.site:/home/cps/mysql/trees/4.1-runtime-bug9191
configure.in:
Auto merged
include/my_time.h:
Auto merged
mysql-test/r/func_time.result:
Auto merged
mysql-test/r/rename.result:
Auto merged
mysql-test/t/func_time.test:
Auto merged
sql-common/my_time.c:
Auto merged
sql/item_timefunc.cc:
Auto merged
sql/time.cc:
Auto merged
mysql-test/t/rename.test:
choose one of the race problem solutions. It was solved
differently in -runtime and mainstream
Added --force-restart pseudo server argument to shell version as well
mysql-test/mysql-test-run.sh:
Added --force-restart pseudo server argument to shell version as well
Adapt to the different path of the server program, if installation was by RPM.
Missing in the first changeset for bug#17194.
mysql-test/install_test_db.sh:
Adapt to the different path of the server program, if installation was by RPM.
Missing in the first changeset for bug#17194.
Fixes:
- Bug #24089: Race condition in fil_flush_file_spaces()
innobase/fil/fil0fil.c:
Applied innodb-4.1-ss33
Revision r33:
innodb-4.1: Merge r1002 from innodb/trunk:
fil_flush_file_spaces(): Copy the system->unflushed_spaces list to an
array while holding the mutex. This removes the crash-triggering
race condition that was introduced when fixing Bug 15653. (Bug #24089)
Fixes:
- Bug #15815: Very poor performance with multiple queries running concurrently
- Bug #22868: 'Thread thrashing' with > 50 concurrent conns under an upd-intensive workloadw
- Bug #23769: Debug assertion failure with innodb_locks_unsafe_for_binlog
- Bug #24089: Race condition in fil_flush_file_spaces()
innobase/buf/buf0buf.c:
Applied innodb-5.0-ss982, -ss998, -ss1003
Revision r1000:
branches/5.0: Merge r999 from trunk:
Reduce buffer pool mutex contention under >= 4 big concurrent
CPU-bound SELECT queries. (Bug #22868)
Fix: replace the mutex by one mutex protecting the 'flush list'
(and the free list) and several mutexes protecting portions of the
buffer pool, where we keep several indivudual LRU lists of pages.
This patch is from Sunny Bains and Heikki Tuuri.
innobase/buf/buf0flu.c:
Applied innodb-5.0-ss982, -ss998, -ss1003
Revision r1000:
branches/5.0: Merge r999 from trunk:
Reduce buffer pool mutex contention under >= 4 big concurrent
CPU-bound SELECT queries. (Bug #22868)
Fix: replace the mutex by one mutex protecting the 'flush list'
(and the free list) and several mutexes protecting portions of the
buffer pool, where we keep several indivudual LRU lists of pages.
This patch is from Sunny Bains and Heikki Tuuri.
innobase/buf/buf0lru.c:
Applied innodb-5.0-ss982, -ss998, -ss1003
Revision r1000:
branches/5.0: Merge r999 from trunk:
Reduce buffer pool mutex contention under >= 4 big concurrent
CPU-bound SELECT queries. (Bug #22868)
Fix: replace the mutex by one mutex protecting the 'flush list'
(and the free list) and several mutexes protecting portions of the
buffer pool, where we keep several indivudual LRU lists of pages.
This patch is from Sunny Bains and Heikki Tuuri.
innobase/dict/dict0crea.c:
Applied innodb-5.0-ss982, -ss998, -ss1003
Revision r974:
branches/5.0: Port r973 from trunk.
Do not break the latching order in TRUNCATE TABLE.
dict_truncate_index_tree(): Replace parameter rec_t* rec with
btr_pcur_t* pcur. Reposition pcur before calling btr_create().
sync_thread_add_level(): Remove the relaxation of the assertion added in r968.
innobase/fil/fil0fil.c:
Applied innodb-5.0-ss982, -ss998, -ss1003
Revision r1003:
branches/5.0: Merge r1002 from trunk:
fil_flush_file_spaces(): Copy the system->unflushed_spaces list to an
array while holding the mutex. This removes the crash-triggering
race condition that was introduced when fixing Bug 15653. (Bug #24089)
innobase/include/buf0buf.h:
Applied innodb-5.0-ss982, -ss998, -ss1003
Revision r1000:
branches/5.0: Merge r999 from trunk:
Reduce buffer pool mutex contention under >= 4 big concurrent
CPU-bound SELECT queries. (Bug #22868)
Fix: replace the mutex by one mutex protecting the 'flush list'
(and the free list) and several mutexes protecting portions of the
buffer pool, where we keep several indivudual LRU lists of pages.
This patch is from Sunny Bains and Heikki Tuuri.
innobase/include/buf0buf.ic:
Applied innodb-5.0-ss982, -ss998, -ss1003
Revision r1000:
branches/5.0: Merge r999 from trunk:
Reduce buffer pool mutex contention under >= 4 big concurrent
CPU-bound SELECT queries. (Bug #22868)
Fix: replace the mutex by one mutex protecting the 'flush list'
(and the free list) and several mutexes protecting portions of the
buffer pool, where we keep several indivudual LRU lists of pages.
This patch is from Sunny Bains and Heikki Tuuri.
innobase/include/dict0crea.h:
Applied innodb-5.0-ss982, -ss998, -ss1003
Revision r974:
branches/5.0: Port r973 from trunk.
Do not break the latching order in TRUNCATE TABLE.
dict_truncate_index_tree(): Replace parameter rec_t* rec with
btr_pcur_t* pcur. Reposition pcur before calling btr_create().
sync_thread_add_level(): Remove the relaxation of the assertion added in r968.
innobase/include/sync0arr.h:
Applied innodb-5.0-ss982, -ss998, -ss1003
Revision r1001:
branches/5.0: Reduce locking contention:
Bug #15815: 'Thread thrashing' with > 50 concurrent connections under
an update-intensive workload.
Fix: Introduce one event per InnoDB semaphore.
This patch is from Sunny Bains and Heikki Tuuri.
This patch will not be merged to trunk (MySQL/InnoDB 5.1) yet,
because it tries to address the problem in a different way.
innobase/include/sync0rw.h:
Applied innodb-5.0-ss982, -ss998, -ss1003
Revision r1001:
branches/5.0: Reduce locking contention:
Bug #15815: 'Thread thrashing' with > 50 concurrent connections under
an update-intensive workload.
Fix: Introduce one event per InnoDB semaphore.
This patch is from Sunny Bains and Heikki Tuuri.
This patch will not be merged to trunk (MySQL/InnoDB 5.1) yet,
because it tries to address the problem in a different way.
innobase/include/sync0rw.ic:
Applied innodb-5.0-ss982, -ss998, -ss1003
Revision r1001:
branches/5.0: Reduce locking contention:
Bug #15815: 'Thread thrashing' with > 50 concurrent connections under
an update-intensive workload.
Fix: Introduce one event per InnoDB semaphore.
This patch is from Sunny Bains and Heikki Tuuri.
This patch will not be merged to trunk (MySQL/InnoDB 5.1) yet,
because it tries to address the problem in a different way.
innobase/include/sync0sync.h:
Applied innodb-5.0-ss982, -ss998, -ss1003
Revision r1001:
branches/5.0: Reduce locking contention:
Bug #15815: 'Thread thrashing' with > 50 concurrent connections under
an update-intensive workload.
Fix: Introduce one event per InnoDB semaphore.
This patch is from Sunny Bains and Heikki Tuuri.
This patch will not be merged to trunk (MySQL/InnoDB 5.1) yet,
because it tries to address the problem in a different way.
innobase/os/os0sync.c:
Applied innodb-5.0-ss982, -ss998, -ss1003
Revision r1001:
branches/5.0: Reduce locking contention:
Bug #15815: 'Thread thrashing' with > 50 concurrent connections under
an update-intensive workload.
Fix: Introduce one event per InnoDB semaphore.
This patch is from Sunny Bains and Heikki Tuuri.
This patch will not be merged to trunk (MySQL/InnoDB 5.1) yet,
because it tries to address the problem in a different way.
innobase/row/row0mysql.c:
Applied innodb-5.0-ss982, -ss998, -ss1003
Revision r974:
branches/5.0: Port r973 from trunk.
Do not break the latching order in TRUNCATE TABLE.
dict_truncate_index_tree(): Replace parameter rec_t* rec with
btr_pcur_t* pcur. Reposition pcur before calling btr_create().
sync_thread_add_level(): Remove the relaxation of the assertion added in r968.
innobase/row/row0sel.c:
Applied innodb-5.0-ss982, -ss998, -ss1003
Revision r982:
branches/5.0: row_sel(): Do not try to acquire a LOCK_REC_NOT_GAP lock
on the supremum record. Instead, skip to the next record. (Bug #23769)
This fix was backported from r623 in the 5.1 tree.
innobase/srv/srv0start.c:
Applied innodb-5.0-ss982, -ss998, -ss1003
Revision r926:
Refer to bug: 22268. Since no one tries to run 5.0 on Windows 95/ME it was
decided to raise the limit of srv_max_n_threads to 10000 on Windows.
innobase/sync/sync0arr.c:
Applied innodb-5.0-ss982, -ss998, -ss1003
Revision r1001:
branches/5.0: Reduce locking contention:
Bug #15815: 'Thread thrashing' with > 50 concurrent connections under
an update-intensive workload.
Fix: Introduce one event per InnoDB semaphore.
This patch is from Sunny Bains and Heikki Tuuri.
This patch will not be merged to trunk (MySQL/InnoDB 5.1) yet,
because it tries to address the problem in a different way.
innobase/sync/sync0rw.c:
Applied innodb-5.0-ss982, -ss998, -ss1003
Revision r1001:
branches/5.0: Reduce locking contention:
Bug #15815: 'Thread thrashing' with > 50 concurrent connections under
an update-intensive workload.
Fix: Introduce one event per InnoDB semaphore.
This patch is from Sunny Bains and Heikki Tuuri.
This patch will not be merged to trunk (MySQL/InnoDB 5.1) yet,
because it tries to address the problem in a different way.
innobase/sync/sync0sync.c:
Applied innodb-5.0-ss982, -ss998, -ss1003
Revision r969:
branches/5.0: Port r968 from trunk:
sync_thread_add_level(): When level == SYNC_TREE_NODE, allow the latching
order to be violated if the thread holds dict_operation_lock, whose level is
SYNC_DICT_OPERATION. This removes the assertion failure of TRUNCATE TABLE
#ifdef UNIV_SYNC_DEBUG.
Revision r974:
branches/5.0: Port r973 from trunk.
Do not break the latching order in TRUNCATE TABLE.
dict_truncate_index_tree(): Replace parameter rec_t* rec with
btr_pcur_t* pcur. Reposition pcur before calling btr_create().
sync_thread_add_level(): Remove the relaxation of the assertion added in r968.
Revision r1001:
branches/5.0: Reduce locking contention:
Bug #15815: 'Thread thrashing' with > 50 concurrent connections under
an update-intensive workload.
Fix: Introduce one event per InnoDB semaphore.
This patch is from Sunny Bains and Heikki Tuuri.
This patch will not be merged to trunk (MySQL/InnoDB 5.1) yet,
because it tries to address the problem in a different way.
mysql-test/mysql-test-run.pl:
Allow --mem to be specified as a flag or --mem=<dir>
Add /tmp to locations to search
Update comments and usage description