Commit graph

164974 commits

Author SHA1 Message Date
Sergei Golubchik
beea778695 copy-paste bug in service_sha1.h 2015-04-08 10:58:49 +02:00
Sergei Golubchik
32e5304bff mtr: fix testname,combination syntax to work in many-combination case
in particular, "innodb.innodb-page_encryption,xtradb" should
select these three tests:

innodb.innodb-page_encryption 'cbc,xtradb' [ pass ]  35563
innodb.innodb-page_encryption 'ctr,xtradb' [ pass ]  36858
innodb.innodb-page_encryption 'ecb,xtradb' [ pass ]  36741

and deselect all innodb_plugin tests. This was not the case, because
the %test_combs hash was destructively modified in the loop
2015-04-08 10:58:49 +02:00
Sergei Golubchik
5fcba6eb26 small cleanup
* my_aes.h doesn't compile without my_global.h
* typo in a comment
* redundant condition
* if encryption plugin fails, there's no encryption_key_manager
  at plugin deinit time
* encryption plugin tests must run when plugin.so is present,
  not when a plugin is active (otherwise the test will be skipped
  when plugin fails to initialize).
2015-04-08 10:58:49 +02:00
Sergei Golubchik
88632726e8 rename plugins to remove "_plugin" from the plugin name 2015-04-08 10:58:48 +02:00
Sergei Golubchik
817a63f273 pass the correct key length to encryption routines 2015-04-08 10:58:48 +02:00
Sergei Golubchik
2643cc545f Don't crash the server if en-/decryption fails in Aria 2015-04-08 10:58:48 +02:00
Sergei Golubchik
f379c9a820 remove Aria-only handler flag 2015-04-08 10:58:48 +02:00
Sergei Golubchik
39865322c6 remove a google specific script 2015-04-08 10:58:47 +02:00
Sergei Golubchik
7a387c0158 table->keep_row_order no longer need to force DYNAMIC_RECORD
for temporary Aria tables. It can use a faster BLOCK_RECORD
2015-04-08 10:58:47 +02:00
Sergei Golubchik
5d8dbee97b remove get_iv() from the key management plugin API
now IVs are always handled internally
2015-04-08 10:58:47 +02:00
Sergei Golubchik
c238e68d96 move debug_use_static_encryption_keys and debug_encryption_key_version to a plugin 2015-04-08 10:58:46 +02:00
Sergei Golubchik
b937574293 remove old my_aes_encrypt/decrypt
and simplify Item_func_aes_encrypt/decrypt
2015-04-08 10:58:46 +02:00
Sergei Golubchik
91f7363e4b yassl padding 2015-04-08 10:58:46 +02:00
Sergei Golubchik
f444d13a3b my_aes* functions: support for different key lengths
to: different key lengths
2015-04-08 10:58:29 +02:00
Sergei Golubchik
3bbe2057da yassl support 2015-04-05 13:14:38 +02:00
Sergei Golubchik
2f8d101f9e unify my_{en|de}crypt_{cbc|ecb|ctr}. no yassl support yet. 2015-04-05 13:14:37 +02:00
Sergei Golubchik
27cc252bb7 simplify my_crypt.cc, remove duplicate code 2015-04-05 13:14:37 +02:00
Sergei Golubchik
6a7ee5a5a5 encryption cleanup: small changes
* comments
* move my_bytes_to_key() and my_aes_hex2uint() into file_key_management_plugin
* rename HA_INSERT_ORDER -> HA_PRESERVE_INSERT_ORDER
* remove unused variables and declarations
* fix casts
* don't link innodb with pcre
* remove redundant entries from aria's TARGET_LINK_LIBRARIES
2015-04-05 13:14:37 +02:00
Sergei Golubchik
87604c4cad encryption cleanup: delete obsolete files
they should've been deleted long ago, but weren't
2015-04-05 13:14:37 +02:00
Sergei Golubchik
16a7738bc9 MDEV-6819 st_mysql_show_var::value should be void* not char*
followup
2015-04-05 13:14:37 +02:00
Sergei Golubchik
0cbe0c9c6d remove one cmake MESSAGE
(one generally should not do that, these messages are
printed on every cmake run)
2015-04-05 13:14:37 +02:00
Sergei Petrunia
47c344b00f MDEV-7904: ANALYZE FORMAT=JSON doesn't print r_rows for union output
Print r_rows. There is no table tracking for reading from tmp table, yet.
2015-04-04 00:47:10 +03:00
Oleksandr Byelkin
a220905083 MDEV-7833:ANALYZE FORMAT=JSON and Range checked for each record 2015-04-03 15:37:27 +02:00
Alexander Barkov
7f613ebdb6 MDEV-7284 INDEX: CREATE OR REPLACE 2015-04-03 15:43:55 +04:00
Jan Lindström
118fc5c688 Adjust test timeout to let long semaphore wait signaling to happen. 2015-04-03 08:50:59 +03:00
Nirbhay Choubey
575dd77504 MDEV-7867: Add binlog header to GRA_.log file 2015-04-01 18:25:40 -04:00
Jan Lindström
ca2f2b7151 Adjust test wait timeout. 2015-03-31 09:54:40 +03:00
Jan Lindström
cbc5157feb MDEV-7878: innodb_scrub_background fails sporadically in buildbot (Failing assertion: offset > 0 && offset < UNIV_PAGE_SIZE)
Problem was that when encrypted space was flushed page 0 is
also updated but crypt data offset was sometimes not
calculated.
2015-03-31 09:00:01 +03:00
Kristian Nielsen
f573b65e41 Merge MDEV-7847 and MDEV-7882 into 10.0.
Conflicts:
	mysql-test/suite/rpl/r/rpl_parallel.result
	sql/rpl_parallel.cc
2015-03-30 15:10:29 +02:00
Kristian Nielsen
880f2273fd MDEV-7847: "Slave worker thread retried transaction 10 time(s) in vain, giving up", followed by replication hanging
This patch fixes a bug in the error handling in parallel replication, when one
worker thread gets a failure and other worker threads processing later
transactions have to rollback and abort.

The problem was with the lifetime of group_commit_orderer objects (GCOs).
A GCO is freed when we register that its last event group has committed. This
relies on register_wait_for_prior_commit() and wait_for_prior_commit() to
ensure that the fact that T2 has committed implies that any earlier T1 has
also committed, and can thus no longer execute mark_start_commit().

However, in the error case, the code was skipping the
register_wait_for_prior_commit() and wait_for_prior_commit() calls. Thus
commit ordering was not guaranteed, and a GCO could be freed too early. Then a
later mark_start_commit() would reference deallocated GCO, which could lead to
lost wakeup (causing slave threads to hang) or other corruption.

This patch makes also the error case respect commit order. This way, also the
error case gets the GCO lifetime correct, and the hang no longer occurs.
2015-03-30 14:33:44 +02:00
Kristian Nielsen
a4082918c8 MDEV-7882: Excessive transaction retry in parallel replication
When a transaction in parallel replication needs to retry (eg. because of
deadlock kill), first wait for all prior transactions to commit before doing
the retry. This way, we avoid the retry once again conflicting with a prior
transaction, requiring yet another retry.

Without this patch, we saw "in the wild" that transactions had to be retried
more than 10 times to succeed, which exceeds the default
--slave_transaction_retries value and is in any case undesirable.

(We already do this in 10.1 in "optimistic" parallel replication mode; this
patch just makes the code use the same logic for "conservative" mode (only
mode in 10.0)).
2015-03-30 14:16:57 +02:00
Alexander Barkov
59df100922 Removing Item_string::m_cs_specified and
making Item_string::is_cs_specified() virtual instead.
2015-03-30 10:57:44 +04:00
Elena Stepanova
49220f76aa Increased the version number 2015-03-30 01:11:14 +03:00
Elena Stepanova
bf963d3b52 MDEV-7874 deb package installation fails with "dpkg: dependency problems prevent configuration of mariadb-server"
Added usr/share/mysql/maria_add_gis_sp_bootstrap.sql to the file lists
2015-03-30 01:09:59 +03:00
Oleksandr Byelkin
b2a1187307 MDEV-7812: ANALYZE FORMAT=JSON UPDATE/DELETE doesnt print the r_total_time_ms
Tracking total time added in UPDATE/DELETE
Fixed selectivity calculation in UPDATE/DELETE
Macro definitions of time tracting fixed.
2015-03-29 15:33:15 +02:00
Sergei Petrunia
9b8f86f895 Better comments 2015-03-27 23:44:06 +03:00
Jan Lindström
47c26d5aee Skip necessary encryption tests if required plugin is not found. 2015-03-27 11:36:43 +02:00
Alexander Barkov
50eee60504 Preparatory refactoring for:
MDEV-6218 Wrong result of CHAR_LENGTH(non-BMP-character) with 3-byte utf8
- Moving get_text() as a method to Lex_input_stream.
- Moving the unescaping part into a separate function,
  this piece of code will later go to /strings most likely.
- Removing Lex_input_string::yytoklen, as it's not needed any more.
2015-03-26 20:44:12 +04:00
Oleksandr Byelkin
01d7da6785 MDEV-7834: ANALYZE FORMAT=JSON output column should be named ANALYZE 2015-03-25 19:55:11 +01:00
Sergei Petrunia
e15d792697 Trivial test results updates 2015-03-25 21:21:01 +03:00
Sergei Petrunia
3841e921ba Merge branch 'bb-10.1-explain-analyze' into 10.1 2015-03-25 21:07:23 +03:00
Sergei Petrunia
34fcc28e7b Merge pull request #33 from k0da/mdev-7839
Fix BigEndian build for Cassandra SE
2015-03-25 19:34:08 +03:00
Dinar Valeev
71bbff8de3 Fix BigEndian build
On BigEndian build fails with:
[ 109s]
/home/abuild/rpmbuild/BUILD/mariadb-10.0.17/storage/cassandra/ha_cassandra.cc:890:22:
error: invalid conversion from 'longlong*
{aka long long int*}

' to 'long long int' [-fpermissive]
[ 109s] value->x.long_value= (longlong *)*cass_data;
[ 109s] ^

This commit fixes it

Signed-off-by: Dinar Valeev <dvaleev@suse.com>
2015-03-25 17:21:52 +01:00
Sergei Petrunia
f42064a172 Fix valgrind failure: correclty clean up handler::tracker 2015-03-25 12:20:16 +03:00
Alexander Barkov
651a142ad0 MDEV-7831 Bad warning for DATE_ADD(timestamp_column, INTERVAL 10 SECOND) 2015-03-25 13:06:04 +04:00
Kristian Nielsen
bd2ae787ea MDEV-7825: Parallel replication race condition on gco->flags, possibly resulting in slave hang
The patch for optimistic parallel replication as a memory optimisation moved
the gco->installed field into a bit in gco->flags. However, that is just plain
wrong. The gco->flags field is owned by the SQL driver thread, but
gco->installed is used by the worker threads, so this will cause a race
condition.

The user-visible problem might be conflicts between transactions and/or slave
threads hanging.

So revert this part of the optimistic parallel replication patch, going back
to using a separate field gco->installed like in 10.0.
2015-03-24 16:33:51 +01:00
Sergei Petrunia
664ce4c507 Fix linking: move the inline functions 2015-03-24 17:35:29 +03:00
Sergei Petrunia
4106dfe89b Merge branch 'bb-10.1-explain-analyze' into 10.1 2015-03-24 16:26:42 +03:00
Sergei Petrunia
77e16ce7d6 MDEV-7648: Extra data in ANALYZE FORMAT=JSON $stmt
Switch from relying on PERFORMANCE_SCHEMA to using our
own hooks for counting the time spent reading rows from
tables.
2015-03-24 16:17:41 +03:00
Sergei Petrunia
b273e4a5c0 Better comments 2015-03-24 13:22:03 +03:00