Commit graph

561 commits

Author SHA1 Message Date
Nirbhay Choubey
ecc2c96c9d Merge of maria/5.5 into maria-5.5-galera.
bzr merge -r tag:mariadb-5.5.35 maria/5.5
2014-01-29 19:00:43 -05:00
Sergei Golubchik
37d240ecf9 MySQL-5.5.35 merge 2014-01-22 15:29:36 +01:00
Nirbhay Choubey
31eaa90a6e Merging revision 3839..3932 from codership-mysql/5.5. 2014-01-09 14:54:57 -05:00
Jan Lindström
eea69c57b2 Fixed additional problem with kernel_mutex. Kernel mutex is also
held on lock_rec_other_has_conflicting that will also call (eventually)
wsrep_innobase_kill_one_trx. Added a new parameter have_kernel_mutex
to mark do we already own kernel mutex or not.
2013-12-04 13:42:17 +02:00
Jan Lindström
21bb5cdfb5 MDEV-4223: Galera: InnoDB assertion failure !mutex_own(mutex) in file sync0sync.ic line 207
Analysis: Code acquired kernel_mutex when calling wsrep_innobase_kill_one_trx.
However, functions below also might take kernel mutex thus the assertion. 

Fix: Acquire kernel_mutex only for lock_cancel_waiting_and_release where
it is really needed.
2013-11-27 08:43:46 +02:00
Jan Lindström
071edcfea0 Merge with MariaDB 5.5.34. 2013-11-25 17:14:08 +02:00
Jan Lindström
4f85baab95 Merged revisions 3931--3942 from from lp:~codership/codership-mysql/5.5-23.
------------------------------------------------------------
revno: 3942
committer: Seppo Jaakola <seppo.jaakola@codership.com>
branch nick: wsrep-5.5-23
timestamp: Thu 2013-11-07 17:37:10 +0200
message:
  References: lp:1248921 - checking if index is foreign earlier to adhere to lat
ch order protocol
------------------------------------------------------------
revno: 3941
fixes bug: https://launchpad.net/bugs/1248908
committer: Teemu Ollakka <teemu.ollakka@codership.com>
branch nick: 5.5-23
timestamp: Thu 2013-11-07 14:31:04 +0200
message:
  References lp:1248908 - Fixed access to trx sys header
    
  Pass trx sys header as argument for trx_sys_update_wsrep_checkpoint()
  and trx_sys_update_mysql_binlog_offset() to avoid successive calls
  to trx_sysf_get().
------------------------------------------------------------
revno: 3940
fixes bug: https://launchpad.net/bugs/1244100
committer: Teemu Ollakka <teemu.ollakka@codership.com>
branch nick: 5.5-23
timestamp: Tue 2013-11-05 15:31:12 +0200
message:
  References lp:1244100 - assign value for check_purge before return
------------------------------------------------------------
revno: 3939
fixes bug: https://launchpad.net/bugs/1247978
committer: Teemu Ollakka <teemu.ollakka@codership.com>
branch nick: 5.5-23
timestamp: Tue 2013-11-05 01:01:36 +0200
message:
  References lp:1247978 - force release transactional MDL locks if wsrep is on a
nd no active transaction at the end of mysql_execute_command()
------------------------------------------------------------
revno: 3938
committer: Vladislav Klyachin <vladislav.klyachin@codership.com>
branch nick: 5.5-23
timestamp: Sun 2013-11-03 20:48:06 +0400
message:
  References lp:1232789 - fix FLUSH STATUS zeroes up wsrep_cluster_size and wsre
p_local_index
------------------------------------------------------------
revno: 3937  5kB/s - 
committer: Vladislav Klyachin <vladislav.klyachin@codership.com>
branch nick: 5.5-23
timestamp: Sun 2013-11-03 17:06:31 +0400
message:
  References lp:587170 - reset auto_increment_* vars to defaults for TOI operati
ons
------------------------------------------------------------
revno: 3936
committer: Vladislav Klyachin <vladislav.klyachin@codership.com>
branch nick: 5.5-23
timestamp: Sun 2013-11-03 00:10:45 +0400
message:
  References lp:1072839 - fix for memory leaks with wsrep variables
------------------------------------------------------------
revno: 3935
committer: Seppo Jaakola <seppo.jaakola@codership.com>
branch nick: wsrep-5.5-23
timestamp: Wed 2013-10-30 14:34:32 +0200
message:
  References: lp:1246257 - skipping replication for CREATE TEMPORARY TABLE LIKE.
..  constructs
------------------------------------------------------------
revno: 3934  6kB/s \ 
fixes bug: https://launchpad.net/bugs/1241760
committer: Teemu Ollakka <teemu.ollakka@codership.com>
branch nick: 5.5-23
timestamp: Mon 2013-10-28 11:01:53 +0200
message:
  References lp:1241760 - save thd->db to wsrep_thd_shadow before replay
------------------------------------------------------------
revno: 3933
fixes bug: https://launchpad.net/bugs/1206129
committer: Teemu Ollakka <teemu.ollakka@codership.com>
branch nick: 5.5-23
timestamp: Sun 2013-10-27 18:15:12 +0200
message:
  References lp:1206129 - check binlog_hton->commit() return value, call wsrep_p
ost_commit() instead of wsrep_cleanup_transaction()
------------------------------------------------------------
revno: 3932
fixes bug: https://launchpad.net/bugs/1244661
committer: Teemu Ollakka <teemu.ollakka@codership.com>
branch nick: 5.5-23
timestamp: Sun 2013-10-27 13:14:02 +0200
message:
  References lp:1244661 - added wsrep_register_hton() to trans_rollback_implicit
()
------------------------------------------------------------
revno: 3931
fixes bug: https://launchpad.net/bugs/1244667
committer: Teemu Ollakka <teemu.ollakka@codership.com>
branch nick: 5.5-23
timestamp: Sun 2013-10-27 11:08:49 +0200
message:
  References lp:1244667 - restore thd->server_status after replay
2013-11-25 14:04:49 +02:00
Sergei Golubchik
fa3f8a18b2 mysql-5.5.34 merge
(some patches reverted, test case added)
2013-11-19 13:16:25 +01:00
Anil Toshniwal
7c3d3f192e Bug#17513737 INTRODUCE CHECK TABLE...QUICK
--Implemented CHECK TABLE...QUICK.
  Introduce CHECK TABLE...QUICK that would skip the btr_validate_index()
  and btr_search_validate() call, and count the no. of records in each index.

Approved by Marko and Kevin. (rb#3567).
2013-10-17 18:09:04 +05:30
Praveenkumar Hulakund
c66a037dca Bug#17474166 - EXECUTING STATEMENT LIKE 'SHOW ENGINE INNODB'
AND 'KILL SESSION' LEAD TO CRASH               

Analysis:
--------
This situation occurs when the connection executes query 
"show engine innodb status" and this connection is killed by
executing statement "kill <con>" by another connection.

In function "innodb_show_status", function "stat_print"
is called to print the status but return value of function
is not checked.  After killing connection, if write to 
connection fails then error is returned and same is set
in Diagnostic area. Since FALSE is returned from
"innodb_show_status" now, assert to check no error
is set in function "set_eof_status" (called from
my_eof) is failing. 

Fix:
----
Changed code to check return value of function "stat_print"
in "innodb_show_status".
2013-10-09 13:32:31 +05:30
Yasufumi Kinoshita
f071aca09f Merge mysql-5.1 to mysql-5.5. 2013-10-07 15:17:56 +09:00
Yasufumi Kinoshita
4db0c831a5 Bug#17431533 : FAILING ASSERTION: INDEX->PAGE != 0XFFFFFFFF AFTER DISCARDING TABLESPACE
ha_innobase::records_in_range() should return HA_POS_ERROR for the table during discarded without requesting pages.
The later other handler method should treat the error correctly.

Approved by Sunny in rb#3433
2013-10-07 15:16:31 +09:00
Jan Lindström
c72126e043 Merge revisions 3907--3914 from lp:~codership/codership-mysql/5.5-23
------------------------------------------------------------
revno: 3914  3kB/s | 
committer: Vladislav Klyachin <vladislav.klyachin@codership.com>
branch nick: 5.5-23
timestamp: Thu 2013-09-12 15:00:46 +0400
message:
  References lp:1217653 - fix index-id evaluation of FOREIGN KEY, when referenced table without PRIMARY KEY
------------------------------------------------------------
revno: 3913
committer: Vladislav Klyachin <vladislav.klyachin@codership.com>
branch nick: 5.5-23
timestamp: Wed 2013-09-11 13:58:02 +0400
message:
  References lp:1217653 - fix index-id evaluation of FOREIGN KEY, when referenced table without PRIMARY KEY
------------------------------------------------------------
revno: 3912
committer: Seppo Jaakola <seppo.jaakola@codership.com>
branch nick: wsrep-5.5-23
timestamp: Fri 2013-09-06 13:13:48 +0300
message:
  References: lp:1212955 - releasing MDL after failed BEGIN and "SET AUTOCOMMIT"
------------------------------------------------------------
revno: 3911
committer: Seppo Jaakola <seppo.jaakola@codership.com>
branch nick: wsrep-5.5-23
timestamp: Wed 2013-09-04 10:52:31 +0300
message:
  References: lp:1123233 - avoiding to set wsrep_seqno_changed for replaying transactions
    Note, also missing transactions don't declare seqno_changed anymore. Earlier they would have caused crash at wsrep_cleanup_transaction phase.
------------------------------------------------------------
revno: 3910 [merge]
committer: Vladislav Klyachin <vladislav.klyachin@codership.com>
branch nick: 5.5-23
timestamp: Tue 2013-09-03 15:27:02 +0400
message:
  References lp:1049599 - expose desync functionality to the client
------------------------------------------------------------
revno: 3909
committer: Seppo Jaakola <seppo.jaakola@codership.com>
branch nick: wsrep-5.5-23
timestamp: Tue 2013-09-03 09:41:08 +0300
message:
   References: lp:1123233 - rollback for transaction which has not appended key information
------------------------------------------------------------
revno: 3908
committer: Vladislav Klyachin <vladislav.klyachin@codership.com>
branch nick: 5.5-23
timestamp: Sun 2013-09-01 13:29:12 +0400
message:
  lp:1201893 - fix command for default IP address
------------------------------------------------------------
revno: 3907
committer: Seppo Jaakola <seppo.jaakola@codership.com>
branch nick: wsrep-5.5-23
timestamp: Thu 2013-08-29 12:16:42 +0300
message:
  References: lp:1212955 - releasing transactional MDL locks after commit failures (e.g. certification failure).
2013-09-26 16:43:49 +03:00
Sergei Golubchik
909775a762 mariadb-5.5.33 merge 2013-09-18 12:00:23 +02:00
Sergei Golubchik
b838d081ad mysql-5.5.33 merge 2013-09-06 22:31:30 +02:00
Sergei Golubchik
a73972bfea don't decide on extended keys by DB_TYPE_INNODB, use hton->flags 2013-08-26 21:13:17 +04:00
Seppo Jaakola
c942889d41 References: lp:1206129 - Merged revision 3904 from lp:~codership/codership-mysql/5.5-23
enable LOAD DATA transaction splitting
Added new global variable: wsrep_load_data_splitting to control if splitting is wanted or not
2013-08-23 12:21:00 +03:00
Seppo Jaakola
4222b2520b Merge with mariadb 5.5: bzr merge lp:maria/5.5 --rtag:mariadb-5.5.32 2013-08-21 16:34:31 +03:00
Annamalai Gurusami
b89e6ccfc4 Merge from mysql-5.1 to mysql-5.5 2013-07-25 15:31:06 +05:30
Annamalai Gurusami
a1ccfcf84d Bug #17076737 DUPLICATE CONSTRAINTS DISPLAYED WHEN NAME INCLUDES "_IBFK_"
Problem:

When the user specified foreign key name contains "_ibfk_", InnoDB wrongly
tries to rename it. 

Solution:

When a table is renamed, all its associated foreign keys will also be renamed,
only if the foreign key names are automatically generated.  If the foreign key
names are given by the user, even if it has _ibfk_ in it, it must not be
renamed.

rb#2935 approved by Jimmy, Krunal and Satya
2013-07-25 14:53:23 +05:30
Sergei Golubchik
005c7e5421 mysql-5.5.32 merge 2013-07-16 19:09:54 +02:00
Jimmy Yang
5d95304c05 Fix Bug #16710923 - FALSE REPORTS OF DB_FOREIGN_EXCEED_MAX_CASCADE
rb://2582 approved by Inaam
2013-07-10 14:00:30 +08:00
Annamalai Gurusami
0d71a36d46 Bug #14017206 WITH CONSISTENT SNAPSHOT DOES NOT WORK WITH ISOLATION LEVEL
SERIALIZABLE

Problem:

The documentation claims that WITH CONSISTENT SNAPSHOT will work for both
REPEATABLE READ and SERIALIZABLE isolation levels.  But it will work only
for REPEATABLE READ isolation level.  Also, the clause WITH CONSISTENT
SNAPSHOT is silently ignored when it is not applicable to the given isolation
level.  

Solution:

Generate a warning when the clause WITH CONSISTENT SNAPSHOT is ignored.

rb#2797 approved by Kevin.

Note: Support team wanted to push this to 5.5+.
2013-07-10 10:49:17 +05:30
unknown
3684c2b182 Bug 16876388 - PLEASE BACKPORT BUG#16208542 TO 5.5
Straight forward backport.

Approved by Jimmy, rb#2656
2013-06-25 09:42:54 +08:00
Aditya A
09d03ff35f Bug#11829813 UNUSED MUTEX COMMIT_THREADS_M
[Merge from 5.1]
2013-06-19 14:55:46 +05:30
Aditya A
b3e74a0798 Bug#11829813 UNUSED MUTEX COMMIT_THREADS_M
Analysis
--------
The pthread_mutex commit_threads_m was initiliazed but never
used. 

Fix
---
Removing the commit_threads_m mutex from the code base.

[ Approved by Marko rb#2475]
2013-06-19 14:43:15 +05:30
Vasil Dimov
9696ca9d87 Fix Bug#16907783 5.5 STILL CRASHES IN DICT_UPDATE_STATISTICS WITH CONCURRENT
DDL AND I_S QUERIES

Skip partially created indexes (ones whose name starts with TEMP_INDEX_PREFIX)
from stats gathering.

Because InnoDB reports HA_INPLACE_ADD_INDEX_NO_WRITE to MySQL, the latter
allows parallel execution of ha_innobase::add_index() and ha_innobase::info().

Reviewed by:	Inaam (rb:2613)
2013-06-18 17:12:28 +03:00
Seppo Jaakola
6793d7f114 References lp:1134892 - WSREP_DEBUG_PRINT was left on by mistake 2013-06-16 20:38:02 +03:00
unknown
e0c68b1504 Bug#16914007-INNODB: CHECK TABLE SHOULD MARK AN INDEX AS CORRUPTED
IF IT HAS A WRONG COUNT

If CHECK TABLE finds that a secondary index contains the wrong
number of entries, it used to report an error but not mark the
index as corrupt. The error means that the index should be rebuilt,
which can be done with ALTER TABLE DROP INDEX and ALTER TABLE ADD
INDEX.  But just in case the DBA does not pay any attention to the
output of CHECK TABLE, the secondary index should be marked as
corrupted so that it is not used again.

Approved by Inaam in RB:2607
2013-06-14 13:33:37 -05:00
Seppo Jaakola
bf9d5b7f64 References: lp:1134892 MDEV-4624 - merged fix from LP wsrep-5.5-23 2013-06-13 09:49:48 +03:00
Seppo Jaakola
71509626d2 References: lp:1187526 - merged fix from wsrep-5.5-23 2013-06-13 09:44:34 +03:00
Seppo Jaakola
bd0eae595f References: MDEV-4572 - merge with mariaDB 5.5.31
bzr merge lp:maria/5.5 -rtag:mariadb-5.5.31

Text conflict in cmake/cpack_rpm.cmake
Text conflict in debian/dist/Debian/control
Text conflict in debian/dist/Ubuntu/control
Text conflict in sql/CMakeLists.txt
Conflict adding file sql/db.opt.  Moved existing file to sql/db.opt.moved.
Conflict adding file sql/db.opt.moved.  Moved existing file to sql/db.opt.moved.moved.
Text conflict in sql/mysqld.cc
Text conflict in support-files/mysql.spec.sh
8 conflicts encountered.
2013-05-26 11:26:58 +03:00
Seppo Jaakola
9d1546fe2c References: MDEV-4572 - merge with lp:codership-mysql/5.5-23 revisions 3858..3867 2013-05-25 12:22:57 +03:00
Seppo Jaakola
48af4be62a References: MDEV-4572 - merge with mariaDB 5.5.30 2013-05-24 15:29:01 +03:00
Seppo Jaakola
e95fdb74ab merged in revisions 3853..3857 from lp:codership-mysql/5.5-23 2013-05-21 00:10:35 +03:00
Inaam Rana
218cd6652d Bug#16622478 INNODB'S THREAD CONCURRENCY TICKETS MIGHT BE RELEASED
AFTER A ROW IS READ


Approved by: Sunny Bains rb://2425

Don't release concurrency tickets when asked to release
btr_search_latch. This is a 5.5 only bug. It is already
fixed in 5.6 upwards.
2013-05-15 10:47:19 -04:00
Annamalai Gurusami
0b40def788 Merge from mysql-5.1 to mysql-5.5 2013-05-12 19:45:42 +05:30
Annamalai Gurusami
03740f9d40 Merge from mysql-5.1 to mysql-5.5 2013-05-10 15:38:25 +05:30
Sergei Golubchik
b381cf843c mysql-5.5.31 merge 2013-05-07 13:05:09 +02:00
Sujatha Sivakumar
e246b4a5f5 Bug#16513588:"PREPARE_COMMIT_MUTEX" IS NOT FREED DURING
TRANSACTION ROLLBACK

Problem:
=======
"prepare_commit_mutex" is acquired during "innobase_xa_prepare"
and it is freed only in "innobase_commit". After prepare,
if the commit operation fails the transaction is rolled back
but the mutex is not released.

Analysis:
========
During transaction commit process transaction is prepared and
the "prepare_commit_mutex" is acquired to preserve the order
of commit. After prepare write to binlog is initiated.

File: sql/handler.cc
      if (error || (is_real_trans && xid &&
----->             (error= !(cookie= tc_log->log_xid(thd, xid)))))
      {
        ha_rollback_trans(thd, all);

In the above code "tc_log->log_xid" operation fails.

When the write to binlog fails the transaction is rolled back
with out freeing the mutex. A subsequent "INSERT" operation
tries to acquire the same mutex during its commit process
and the server aborts.

Fix:
===
"prepare_commit_mutex" is freed during "innobase_rollback".

storage/innobase/handler/ha_innodb.cc:
  Added code to free "prepare_commit_mutex"
2013-05-07 13:30:25 +05:30
Annamalai Gurusami
2c551d0e9c Bug #16722314 FOREIGN KEY ID MODIFIED DURING EXPORT
Bug #16754901 PARS_INFO_FREE NOT CALLED IN DICT_CREATE_ADD_FOREIGN_TO_DICTIONARY

Merging the fix from mysql-5.5 to mysql-5.5.32-release.
2013-05-06 20:31:26 +05:30
Annamalai Gurusami
1b26d59192 Merge from mysql-5.1 to mysql-5.5 2013-05-06 19:57:49 +05:30
Annamalai Gurusami
bf7325bb6b Bug #16722314 FOREIGN KEY ID MODIFIED DURING EXPORT
Bug #16754901 PARS_INFO_FREE NOT CALLED IN DICT_CREATE_ADD_FOREIGN_TO_DICTIONARY

Problem:

There are two situations here.  The constraint name is explicitly
given by the user and the constraint name is automatically generated
by InnoDB.  In the case of generated constraint name, it is formed by
adding table name as prefix.  The table names are stored internally in
my_charset_filename.  In the case of constraint name explicitly given
by the user, it is stored in UTF8 format itself.  So, in some
situations the constraint name is in utf8 and in some situations it is
in my_charset_filename format.  Hence this problem.

Solution:

Always store the foreign key constraint name in UTF-8 even when
automatically generated.

Bug #16754901 PARS_INFO_FREE NOT CALLED IN DICT_CREATE_ADD_FOREIGN_TO_DICTIONARY

Problem:

There was a memory leak in the function dict_create_add_foreign_to_dictionary().
The allocated pars_info_t object is not freed in the error code path.

Solution:

Allocate the pars_info_t object after the error checking.

rb#2368 in review
2013-05-06 16:28:56 +05:30
Annamalai Gurusami
19f93f6bd8 Bug #15973904 INNODB PARTITION CODE HOLDS LOCK_OPEN AND SLEEPS WHILE
OPENING MISSING PARTITION

In the ha_innobase::open() call, for normal tables, there is no retry logic.
But for partitioned tables, there is a retry logic introduced as fix for:

http://bugs.mysql.com/bug.php?id=33349  
https://support.mysql.com/view.php?id=21080

The Bug#33349, does not provide sufficient information to analyze the original
problem.  The original problem reported by bug#33349 is also minor (just an
annoyance and no loss of functionality).  Most importantly, the retry logic
has been introduced without any associated test case.

So we are removing the retry logic for partitioned tables.  When the original
problem occurs, a different solution will be explored.
2013-04-24 08:47:30 +02:00
Annamalai Gurusami
1b892c7759 Merge from mysql-5.1 to mysql-5.5 2013-04-24 08:42:59 +02:00
Vladislav Vaintroub
4d78392be5 MDEV-4398 -
Change default for innodb_use_fallocate to FALSE, due to bugs in older Linux kernels (posix_fallocate() does not always guarantee that file size is like one specified)
2013-04-19 12:08:55 +02:00
Vladislav Vaintroub
ed949df15a MDEV-4338 - Support FusionIO/directFS atomic writes 2013-04-06 00:36:10 +02:00
Murthy Narkedimilli
fe85f54640 Bug 16395495 - OLD FSF ADDRESS IN GPL HEADER 2013-03-19 13:29:12 +01:00
Vasil Dimov
57059380b5 Fix Bug#16400412 UNNECESSARY DICT_UPDATE_STATISTICS DURING CONCURRENT
UPDATES

After checking that the table has changed too much in
row_update_statistics_if_needed() and calling dict_update_statistics(),
also check if the same condition holds after acquiring the table stats
latch. This is to avoid multiple threads concurrently entering and
executing the stats update code.

Approved by:	Marko (rb:2186)
2013-03-18 17:20:30 +02:00
Sergei Golubchik
8161c6772d merge with mysql-5.5.30 minus few incorrect or not applicable changesets 2013-02-28 18:42:49 +01:00