Commit graph

90880 commits

Author SHA1 Message Date
Jan Lindström
39556a7814 MDEV-7262: innodb.innodb-mdev7046 fail on BuildBot
Test causes OS error printout and we need to supress this
error message on tests. Additionally, test could cause
different error codes on different OSs.
2015-01-13 16:48:11 +02:00
Kristian Nielsen
2de9427ccf MDEV-7391: rpl.rpl_semi_sync, rpl.rpl_semi_sync_after_sync_row fail in buildbot
The problem was caused by a merge error (incorrect conflict resolution) when
the MDEV-7257 patch was merged into 10.1.

The incorrect merge put two code blocks in the wrong order. This caused a race
that was seen as sporadic test failures.

(The problem was that binlog end position was updated before running
after_flush hook; this way it was possible for the binlog dump thread to send
a transaction to a slave without requesting semi-sync acknowledgement. Then
when no acknowledgement was received, semisync replication would be disabled
on the master.)
2015-01-13 14:19:07 +01:00
Sergei Golubchik
e695db0f2d MDEV-7437 remove suport for "atomics" with rwlocks 2015-01-13 10:15:21 +01:00
Alexander Barkov
1f0ad6c6b3 MDEV-7288 USER/ROLE: CREATE OR REPLACE, CREATE IF NOT EXISTS, DROP IF EXISTS 2015-01-13 11:50:33 +04:00
Sergei Golubchik
a68ad5d50f MDEV-7325 make lf_hash_delete(), lf_hash_search(), and lf_hash_iterator() never to return OOM
if lf_hash_delete() and lf_hash_search() cannot create a new bucket
because of OOM, they'll start the search from the parent bucket.

As for lf_hash_iterate() - it only ever uses bucket number 0, so if it
cannot create *that* bucket, the hash must surely be empty.
2015-01-12 17:05:30 +01:00
Sergey Vojtovich
2a4a5d890e MDEV-7426 - federated.federated_server fails
Fixed error path of close_cached_connection_tables() to unlock mutex.
2015-01-12 13:30:30 +04:00
Jan Lindström
517c5c9e89 MDEV-7262: innodb.innodb-mdev7046 fail on BuildBot
Test causes OS error printout and we need to supress this
error message on tests.
2015-01-12 09:30:49 +02:00
Sergei Golubchik
2501a0ea59 MDEV-7364 - mysqld --help --verbose prints random values for "debug"
better fix that doesn't make debug-dbug variable to disappear
from mysqld --help output (this fact is used by have_debug.inc)
and shows correctly what dbug value was set on the command line.
2015-01-11 16:37:25 +01:00
Sergei Golubchik
3fcbd7cb47 cleanup: remove unused THD::COND_wsrep_thd 2015-01-11 15:49:23 +01:00
Sergei Golubchik
2ab49689c6 MDEV-7410 Temporary table name conflict between sessions
workaround for missing SP auto-reparse.
allow the user to disable stored_program_cache_size, if he wants
2015-01-10 14:07:46 +01:00
Nirbhay Choubey
1182aeb096 MDEV-7271 : rpl.rpl_domain_id_filter fails sporadically in buildbot
Use save_master_gtid.inc/sync_with_master_gtid.inc to sync slave
with master instead of log position.
2015-01-09 21:52:16 -05:00
Olivier Bertrand
85c65f4e1c - Fix MDEV-7427 by not reallocating the date format in ScanRecord on each inserted row.
modified:
  storage/connect/ha_connect.cc
  storage/connect/ha_connect.h
2015-01-09 23:36:50 +01:00
Sergei Golubchik
6627895176 MDEV-6731 No ALGORITHM information in I_S.VIEWS 2015-01-09 10:23:28 +01:00
Sergei Golubchik
b111d98847 MDEV-5533 increase the default max thread pool size
500 -> 1000
2015-01-09 10:23:28 +01:00
Nirbhay Choubey
dd80c22c2d MDEV-7123 : MariaDB 10.0.14 Galera node shutdown with signal 11
wsrep-patch uses same connection name for constructing Master_info
objects. As a result all existing wsrep Master_info objects refer
to same rpl_filter object. This could lead to race when multiple
threads try to delete/destruct Master_info object, as they would
all try to delete the same relay_log object.

Fixed by adding a check in Master_info's destructor to not free
the "wsrep" rpl_filter, so that its reused by current & subsequent
wsrep threads and later reclaimed by free_all_rpl_filters() during
server shutdown.
2015-01-09 00:32:28 -05:00
Sergei Golubchik
8655136222 remove wsrep_hton dependency from innodb/xtradb 2015-01-08 21:27:30 +01:00
Sergei Golubchik
4ce39dca99 enable feedback plugin by default
As requested by Monty
2015-01-08 16:51:30 +01:00
Nirbhay Choubey
54b26b494b MDEV-7129 : Galera duplicate error on autoincrement field primary key
Merged fix for https://github.com/codership/mysql-wsrep/issues/18.
2015-01-07 13:12:31 -05:00
Kristian Nielsen
f27817c1d0 MDEV-7326: Server deadlock in connection with parallel replication
The bug occurs when a transaction does a retry after all transactions have
done mark_start_commit() in a batch of group commit from the master. In this
case, the retrying transaction can unmark_start_commit() after the following
batch has already started running and de-allocated the GCO. Then after retry,
the transaction will re-do mark_start_commit() on a de-allocated GCO, and also
wakeup of later GCOs can be lost.

This was seen "in the wild" by a user, even though it is not known exactly
what circumstances can lead to retry of one transaction after all transactions
in a group have reached the commit phase.

The lifetime around GCO was somewhat clunky anyway. With this patch, a GCO
lives until rpl_parallel_entry::last_committed_sub_id has reached the last
transaction in the GCO. This guarantees that the GCO will still be alive when
a transaction does mark_start_commit(). Also, we now loop over the list of
active GCOs for wakeup, to ensure we do not lose a wakeup even in the
problematic case.
2015-01-07 14:45:39 +01:00
Kristian Nielsen
00649525ee MDEV-7189: main.processlist fails sporadically in buildbot
The test case tried to trigger a DEBUG_SYNC point at the end of a SELECT
SLEEP(5) statement. It did this by using EXECUTE 2, intending to trigger first
at the end of SET DEBUG_SYNC, and second at the end of the SELECT SLEEP(5).

However, in --ps-protocol mode, this does not work, because the SELECT is
executed in two steps (Prepare followed by Execute). Thus, the DEBUG_SYNC got
triggered too early, during the Prepare stage rather than Execute, and the
test case could race and information_schema.processlist see the thread in the
wrong state.

This patch fixes by changing the way the DEBUG_SYNC point is triggered. Now we
add a DBUG injection inside the code for SLEEP(5). This ensures that the
DEBUG_SYNC point is not activated until the SLEEP(5) is running, ensuring
that the following wait for completion will be effective.
2015-01-06 16:32:41 +01:00
Jan Lindström
4a3251595c MDEV-7403: should not pass recv_writer_thread_handle to CloseHandle()
Analysis: For some reason actual thread handle is not
returned on Windows instead lpThreadId was returned and
thread handle was closed after thread create. Later
CloseHandle was called for recv_writer_thread_handle
and psort_info->thread_hdl.

Fix: Return thread handle from os_thread_create()
also on Windows and store these thread handles also
in srv0start.cc so that they can be later closed.
2015-01-06 16:08:42 +02:00
Olivier Bertrand
d4bf64556e - Typo to eliminate some GCC warnings
modified:
  storage/connect/odbconn.cpp
  storage/connect/plgdbsem.h
2015-01-06 11:32:40 +01:00
Olivier Bertrand
afd373c119 - Set connection charset before calling mysql_real_connect for MYSQL
tables. This should fix bug MDEV-7343.
modified:
  storage/connect/ha_connect.cc
  storage/connect/myconn.cpp
  storage/connect/myconn.h
  storage/connect/reldef.cpp
  storage/connect/reldef.h
  storage/connect/table.cpp
  storage/connect/tabmysql.cpp
  storage/connect/xtable.h

- Prevent double column evaluation when CONNECT does filtering
modified:
  storage/connect/connect.cc

- Export CreateFileMap and CloseMemMap (for OEM tables)
modified:
  storage/connect/maputil.h

- Add the compute function to be used on VALUE types.
  Preserve precision for DOUBLE values.
modified:
  storage/connect/value.cpp
  storage/connect/value.h

- Typo (in preparation to the future JSON table type)
modified:
  storage/connect/ha_connect.cc
  storage/connect/mycat.cc
  storage/connect/plgdbsem.h
2015-01-06 10:18:04 +01:00
Kristian Nielsen
6e0a00ed75 MDEV-7353: rpl_mdev6386 fails sporadically in buildbot
Use include/sync_with_master_gtid.inc instead of --sync_with_master to avoid a
race in the test case.

In parallel replication, the old-style slave position (which is used by
--sync_with_master) is updated out-of-order between parallel threads. This
makes it possible for the position to be updated past DROP TEMPORARY TABLE t2
just before the commit of INSERT INTO t1 SELECT * FROM t2 becomes visible.

In this case, there is a small window where a SELECT just after
--sync_with_master may not see the changes from the INSERT.
2015-01-06 09:52:09 +01:00
Nirbhay Choubey
ed0ea644a0 MDEV-7412: Segfault during start with mysqldump SST
Added a validity check for my_bind_addr_str before its value
is accessed.
2015-01-05 17:06:50 -05:00
Rich Prohaska
7c240a1b99 Merge branch 'master' into releases/tokudb-7.5 2015-01-04 12:14:28 -05:00
Rich Prohaska
9cd31bc559 DB-787 the tokudb_report_fractal_tree_info_for_db function can leak a db on an error path where db->open fails 2015-01-04 12:13:54 -05:00
Nirbhay Choubey
aee3ac4877 MDEV-7222: Cluster Node Crash at CREATE DEFINER statement
Check whether the definer host string is not null before
appending it to the specified buffer.
2015-01-02 10:02:04 -05:00
Nirbhay Choubey
455f77bdbb MDEV-7222: Cluster Node Crash at CREATE DEFINER statement
Check whether the definer host string is not null before
appending it to the specified buffer.
2015-01-02 10:01:09 -05:00
Rich Prohaska
5ed812ec30 Merge branch 'master' into releases/tokudb-7.5 2015-01-02 09:53:55 -05:00
Rich Prohaska
7229b9f5f8 DB-785 turn off fsync on mariadb for 2PC transactions 2015-01-02 09:53:30 -05:00
Rich Prohaska
068416d302 DB-785 add a txn api to check if a txn is prepared 2015-01-02 09:50:51 -05:00
Nirbhay Choubey
6f4f8c5f8a MDEV-7374 : Losing connection to MySQL while running ALTER TABLE
In the special case of ALTER TABLE with >10K rows, wsrep commit
should skip if wsrep is not enabled. Added a test case.
2014-12-31 20:58:54 -05:00
Nirbhay Choubey
61f73d40ca MDEV-7397: SIGSEGV on inserting into a key-less table
When wsrep is enabled, an md5 hash of the entire row is calculated
for tables with no PK. It, however segfaulted as the md5 context
object was not properly constructed.

Fixed by ensuring that the YaSSL's context object gets constructed
explicitly at the specified pre-allocated location (placement)
before its used.

Added a test case.
2014-12-31 19:52:35 -05:00
Nirbhay Choubey
25aaa652c4 MDEV-6832: ER_LOCK_WAIT_TIMEOUT on SHOW STATUS
Synchronous read view should not be needed for
SHOW commands.
2014-12-31 19:46:48 -05:00
Michael Widenius
f0be022cf0 MDEV-5539 Empty results in UNION with Sphinx engine
The bug was fixed by Serg earlier by including Sphinx 2.2.6, but he forgot to update the test case.
2014-12-30 17:10:54 +02:00
Sergey Vojtovich
dc92032fa3 Fixed sysvars_server_embedded test result to reflect new values for
query_prealloc_size, query_alloc_block_size and log_tc_size.

Fixed incorrect registration of LOCK_binlog_end_pos in PFS.
2014-12-29 15:41:08 +04:00
Rich Prohaska
4197cc130b Merge branch 'master' into releases/tokudb-7.5 2014-12-28 11:38:14 -05:00
Sergey Vojtovich
6dbc48ca79 MDEV-7324 - Lock-free hash for table definition cache 2014-12-28 19:46:18 +04:00
Sergei Golubchik
8883c54ac0 lf_hash_iterate() function 2014-12-28 19:46:18 +04:00
Sergei Golubchik
48430e4676 lf_hash changes, in lfind()
casts, etc

real changes are:
* remove one retry, it is enough to check for DELETED
  after the key is read
* advance 'head' pointer when we see a dummy node to have
  shorter retries
2014-12-28 19:46:18 +04:00
Jan Lindström
c0d4e8a395 MDEV-7262: innodb.innodb-mdev7046 fail on BuildBot 2014-12-28 13:54:41 +02:00
Jan Lindström
de09076486 MDEV-7369: MariaDB build fails when XTRADB_STORAGE_ENGINE enabled
Patch by James Taylor.
2014-12-28 13:44:30 +02:00
Jan Lindström
5fafc3ce42 MDEV-7369: MariaDB build fails when XTRADB_STORAGE_ENGINE enabled
Patch by James Taylor.
2014-12-28 13:24:53 +02:00
Jan Lindström
46f3f93a2c Merge pull request #14 from James-TR/MDEV-7369
Add fix for MDEV-7369
2014-12-28 12:55:01 +02:00
James Taylor
7860333669 Add fix for MDEV-7369
See also https://mariadb.atlassian.net/browse/MDEV-7369
2014-12-27 03:23:49 +00:00
Sergey Vojtovich
f65901eef2 MDEV-7273 - 10.1 fails to start up during tc_log initializations on PPC64
log-tc-size is 24K by default. Page size is 64K on PPC64. But log-tc-size
must be at least 3 x page size. This is enforced by TC_LOG_MMAP::open()
with a comment: to guarantee non-empty pool.

This all makes server not startable in default configuration on PPC64.

Autosize log-tc-size, so that it's min value= page size * 3, default
value= page size * 6, block size= page size.
2014-12-26 23:38:45 +04:00
Sergey Vojtovich
8c616cd347 MDEV-7053 - WSREP_STATUS & WSREP_MEMBERSHIP I_S tables
wsrep_status was renamed to wsrep_info. Adjusted deb build scripts accordingly.
2014-12-26 19:44:38 +04:00
Sergey Vojtovich
db89dd3a8f MDEV-7364 - mysqld --help --verbose prints random values for "debug"
getopt value pointer of "debug" variable was pointing to incorrect address:
&global_system_variables. Runtime statements like SHOW VARIABLES materialize
value from DBUG structures on demand, so they never access getopt value pointer.
But mysqld --help --verbose loaded this value from &global_system_variables.

Remove "debug" variable from mysqld --help --verbose output by setting value
pointer to NULL.
2014-12-26 13:07:43 +04:00
Alexey Botchkov
ae09895c91 MDEV-7277 Server crashes on creating/opening tables on Windows debug build.
The srid variable was used uninitialised when the field wasn't GIS.
        Only problem is that it makes the debugger unhappy. Still added
        the initialization.
2014-12-24 10:06:12 +04:00