Commit graph

453 commits

Author SHA1 Message Date
Sergei Petrunia
9c75b3d283 Post-merge fixes 2019-06-16 12:44:04 +03:00
Sergei Petrunia
e9e5e7fc92 Post-merge fix: MariaDB doesn't have I_S.PROCESSLIST.SRV_ID 2019-06-16 00:36:04 +03:00
Sergei Petrunia
9ab0d7b4e9 Merge from MyRocks upstream:
Copy of
    commit dcd9379eb5707bc7514a2ff4d9127790356505cb
    Author: Manuel Ung <mung@fb.com>
    Date:   Fri Jun 14 10:38:17 2019 -0700

        Skip valgrind for rocksdb.force_shutdown

        Summary:
        This test does unclean shutdown, and leaks memory.

        Squash with: D15749084

        Reviewed By: hermanlee

        Differential Revision: D15828957

        fbshipit-source-id: 30541455d74
2019-06-16 00:28:33 +03:00
Sergei Petrunia
5173e396ff Copy of
commit dcd9379eb5707bc7514a2ff4d9127790356505cb
Author: Manuel Ung <mung@fb.com>
Date:   Fri Jun 14 10:38:17 2019 -0700

    Skip valgrind for rocksdb.force_shutdown

    Summary:
    This test does unclean shutdown, and leaks memory.

    Squash with: D15749084

    Reviewed By: hermanlee

    Differential Revision: D15828957

    fbshipit-source-id: 30541455d74
2019-06-15 21:29:46 +03:00
Sergei Petrunia
91be2212c6 MDEV-17045: MyRocks tables cannot be updated when binlog_format=MIXED. 2019-06-15 19:55:57 +03:00
Sergey Vojtovich
80a142f146 Lintian complains about script-not-executable
Removed #! sequence from non-executable script.
2019-05-30 17:19:13 +04:00
Faustin Lammler
4adf52a048 Add missing script header 2019-05-30 17:18:24 +04:00
Daniel Black
35522455e0 RocksDB: use crc32c optimised version for POWER 2019-05-27 16:47:51 +03:00
Sergey Vojtovich
b546e92a6b Fixed rocksdb.mariadb_plugin on Windows 2019-05-16 20:28:49 +04:00
Sergei Petrunia
5f66c58f6d Issue #904: Crash in rocksdb::IOStatsContext::Reset, this=NULL
Fix both code paths:
- Change the test source code so it doesn't cause the "Unused variable"
  warning (which -Werror converted into error and caused CMake not to set
  HAVE_THREAD_LOCAL)

- If the system doesn't seem to support HAVE_THREAD_LOCAL, refuse to
  compile (rather than producing a binary that crashes for some tests)

Originally submitted at https://github.com/facebook/mysql-5.6/pull/905
2019-05-16 18:27:28 +04:00
Sergey Vojtovich
76a94a03db MDEV-19090 - Split rocksdb.locking_issues
This test takes ~6 minutes, split it for better parallelism.
2019-05-16 17:49:34 +04:00
Sergey Vojtovich
a24dffdba3 Fixed RocksDB to follow THD ha_data protocol
Use thd_get_ha_data()/thd_set_ha_data() which protect against plugin
removal until it has THD ha_data.

Do not reset THD ha_data in rocksdb_close_connection(), cleaner approach
is to let ha_close_connection() do it.

Removed transaction objects cleanup from rocksdb_done_func(). As we lock
plugin properly, there must be no transaction objects during RocksDB
shutdown.
2019-05-16 16:28:16 +04:00
Oleksandr Byelkin
5496df8e5d changes in innodb has influence on this test in rocksdb test suite 2019-05-06 19:34:06 +02:00
Sergei Golubchik
7d720ca8de cmake: don't use generated files to detect a submodule
Even if Makefile for some reason was checked in in a submodule,
it is still a generated file, will be cleaned, won't be in a source
package. One cannot jump to conclusions if it doesn't exist.
2019-04-07 13:49:04 +02:00
Sergei Petrunia
833071b857 Disable tests in rocksdb_stress suite (which was enabled a few commits ago) 2019-04-01 12:58:51 +03:00
Sergei Petrunia
fe1dfe3928 MDEV-19089, part #2: mark rocksdb.deadlock as "big test"
It turns out, moving it to rocksdb_stress test suite is not that easy.
2019-03-30 20:00:13 +03:00
Sergei Petrunia
c2d9a346ff MDEV-19089 part #1: adapt rocksdb_stress suite for MariaDB 2019-03-30 19:53:29 +03:00
Sergei Petrunia
8fcd9478cc MDEV-18080, part#1: MyRocks is slow with log-bin=off
The cause for this was fix MDEV-15372, which was trying to speed up
the parallel slave.

Part#1: Do not attempt the "optimization" for transactions that are not
replication slave workers.
2019-03-28 19:51:40 +03:00
Sergei Golubchik
f1134d5676 post-merge: gcc 8 warnings
note: Inherit String from Sql_alloc,
to get operators new and new[] in sync

in rocksdb gcc was complaining that non-lvalue was cast to const.
2019-03-15 21:00:50 +01:00
Sergey Vojtovich
20928e2e96 MDEV-14984 - regression in connect performance
Removed redundant plugin_thdvar_cleanup() from end_connection(): called by
THD::free_connection(), which always follows end_connection().

Saves at least one lock(LOCK_plugin) and one
rdlock(LOCK_system_variables_hash).

Benchmarked on a 2socket/20core/40threads Broadwell system using sysbench
connect brencmark @40 threads (with select 1 disabled).

10.2 shows moderate improvement: 136219.93 -> 137766.31 CPS.
10.3 is improvement is somewhat better: 93018.29 -> 101379.77 CPS.

Also backported MyRocks memory leak fix from 10.4, which turned out to
be unrelated.
2019-03-13 10:13:14 +04:00
Sergei Golubchik
2f368bb967 fix RHEL8 "ambiguous python shebang" build failures 2019-01-03 00:23:06 +01:00
Sergei Petrunia
734029fa79 Fix a trivial (and harmless) merge error 2018-12-26 00:00:49 +03:00
Alexey Botchkov
c4ab352b67 MDEV-14576 Include full name of object in message about incorrect value for column.
The error message modified.
Then the TABLE_SHARE::error_table_name() implementation taken from 10.3,
          to be used as a name of the table in this message.
2018-12-16 02:21:41 +04:00
Sergei Petrunia
0485e51935 MDEV-13155: XA recovery not supported for RocksDB
Added a testcase
2018-11-28 12:39:36 +03:00
Sergei Petrunia
7dfcb87107 Disable rocksdb.com_rpc_tx test
It tests SQL-level feature that is available in FB/MySQL and not in MariaDB
2018-11-06 17:23:39 +03:00
Daniel Black
3859273d04 MDEV-14267: correct FSF address 2018-10-30 19:45:09 +08:00
Sergei Petrunia
f8604ed9ff MDEV-17414: MyROCKS order desc limit 1 fails : Backport to 10.2
- Use the correct range bounds when doing a reverse-ordered range scan
  (this was already done for HA_READ_PREFIX_LAST_OR_PREV but not for
   HA_READ_BEFORE_KEY).
2018-10-29 13:49:44 +03:00
Elena Stepanova
b715a0fe45 Disabled storage_engine test for RocksDB due to unstable execution plan
The failure caused by MDEV-16387
2018-10-13 19:14:31 +03:00
Sergei Petrunia
8d116d1686 MDEV-17181: rocksdb.allow_to_start_after_corruption fails on current 10.2
The test needs to be run with rocksdb_flush_log_at_trx_commit=1, otherwise
the changes do not survive a crash.
2018-10-10 14:39:57 +03:00
Sergei Petrunia
8b371e4b13 MDEV-16577: rocksdb.issue255 fails in buildbot
Make the testcase stable
2018-10-09 17:01:49 +03:00
Sergei Golubchik
76098f45b8 RocksDB: workaround a compiler error on ppc64le
storage/rocksdb/rdb_datadic.cc: In member function 'int myrocks::Rdb_key_def::unpack_integer(myrocks::Rdb_field_packing*, Field*, uchar*, myrocks::Rdb_string_reader*, myrocks::Rdb_string_reader*) const'
storage/rocksdb/rdb_datadic.cc:1781:1: internal compiler error: Segmentation fault
 }

on ppc64le, ubuntu bionic gcc 7.3.0 and debian stretch gcc 6.3.0

The error happens with -ftree-loop-vectorize when trying to vectorize
a particular loop (see Rdb_key_def::unpack_integer())

Compiler gets confused by __attribute__((optimize("O0")) that comes from
ha_rocksdb_proto.h. The intention of this __attribute__ was to prevent
function from being inlined (see ha_rocksdb.cc). Let's use a more
specific attribute that prevents inlining but does not confuse
loop vectorizer.
2018-09-23 19:17:56 +02:00
Sergei Petrunia
2b45eb77f7 MDEV-17261: sysbench oltp read only too slow for MyRocks
An error in "group commit with MariaDB's binlog" code: we would flush
the WAL even when the transaction did not do any writes (and so the logic
in myrocks::Rdb_transaction::commit caused it to rollback).
2018-09-23 13:41:08 +03:00
Sergei Petrunia
d85a7220dc MDEV-17188: rocksdb.2pc_group_commit fails intermittently in BB
When counter increment is not within the expected range, print the number
instead of just FAIL.

This doesnt solve the bug but will help with the diagnostics.
2018-09-13 15:00:13 +03:00
Vladislav Vaintroub
67b87e1d76 Rocksdb, Windows - better fix for broken WIN32_LEAN_AND_MEAN
(https://github.com/facebook/rocksdb/issues/4344)
Also, disable /permissive- flag if set, it breaks rocksdb compilation
in 10.3 on older versions of Windows 8.1 SDK.
2018-09-05 19:32:31 +01:00
Sergei Petrunia
2676f3371c Post-merge fixes: Disable rpl_mts_dependency_unique_key_conflicts test
It uses --slave-use-idempotent-for-recovery which is not available in MariaDB.
2018-09-03 12:19:16 +03:00
Sergei Petrunia
52e0dee037 MyRocks: post-merge fixes: disable rocksdb.use_direct_reads
Direct IO doesnt work on all filesystems, e.g. it doesnt work on the
disk of kvm-bintar-trusty-amd64.
2018-08-31 16:30:21 +03:00
Sergei Petrunia
a55309d926 MyRocks: post-merge fixes: Make it compile on Windows. 2018-08-31 13:21:46 +03:00
Sergei Petrunia
2770eb1b56 MyRocks: post-merge fixes part #10: disable rocksdb.percona_nonflushing_analyze_debug
It uses a feature that's not available in MariaDB
2018-08-30 22:30:26 +03:00
Sergei Petrunia
9793398142 MyRocks: post-merge fixes part #9: disable rocksdb_rpl.rpl_missing_columns_sk_update
It uses a feature that's not available in MariaDB
2018-08-30 22:16:16 +03:00
Sergei Petrunia
206aba5910 MyRocks: post-merge fixes part #8: make rocksdb.validate_datadic test pass 2018-08-30 21:30:40 +03:00
Sergei Petrunia
d4f3c5c42f MyRocks: post-merge fixes part #7: make rocksdb.check_ignore_unknown_options test pass 2018-08-30 21:18:53 +03:00
Sergei Petrunia
290368e740 MyRocks: post-merge fixes part #6: make rocksdb.allow_no_primary_key test pass 2018-08-30 12:55:03 +03:00
Sergei Petrunia
5e4f3af9b7 MyRocks: post-merge fixes part #5: make rocksdb.rocksdb_checksums test pass 2018-08-29 17:25:58 +03:00
Sergei Petrunia
3d2c0f61e7 MyRocks: Post-merge testcase fixes part #4 2018-08-28 17:35:52 +03:00
Sergei Petrunia
138605c3b7 MyRocks: Post-merge testcase fixes part #3 2018-08-28 16:30:22 +03:00
Sergei Petrunia
f561e63fdd MyRocks: Post-merge testcase fixes part #2 2018-08-28 16:18:02 +03:00
Sergei Petrunia
a01823a33f MyRocks: Post-merge testcase fixes part #1 2018-08-28 12:43:00 +00:00
Sergei Petrunia
c930afd47e Merge branch 'merge-myrocks' of github.com:MariaDB/mergetrees into bb-10.2-mariarocks-merge
Move up-to this revision in the upstream:

  commit de1e8c7bfe7c875ea284b55040e8f3cd3a56fcc2
  Author: Abhinav Sharma <abhinavsharma@fb.com>
  Date:   Thu Aug 23 14:34:39 2018 -0700

      Log updates to semi-sync whitelist in the error log

      Summary:
      Plugin variable changes are not logged in the error log even when
      log_global_var_changes is enabled. Logging updates to whitelist will help in
      debugging.

      Reviewed By: guokeno0

      Differential Revision: D9483807

      fbshipit-source-id: e111cda773d
2018-08-28 14:09:04 +03:00
Sergei Petrunia
faa4d8f8c6 Copy of
commit de1e8c7bfe7c875ea284b55040e8f3cd3a56fcc2
Author: Abhinav Sharma <abhinavsharma@fb.com>
Date:   Thu Aug 23 14:34:39 2018 -0700

    Log updates to semi-sync whitelist in the error log

    Summary:
    Plugin variable changes are not logged in the error log even when
    log_global_var_changes is enabled. Logging updates to whitelist will help in
    debugging.

    Reviewed By: guokeno0

    Differential Revision: D9483807

    fbshipit-source-id: e111cda773d
2018-08-28 08:23:44 +00:00
Ming Lin
2b76f6f61d MDEV-16703: Update AUTO_INCREMENT in the UPDATE statement
Currently RocksDB engine doesn't update AUTO_INCREMENT in the UPDATE statement.
For example,

CREATE TABLE t1 (pk INT AUTO_INCREMENT, a INT, PRIMARY KEY(pk)) ENGINE=RocksDB;
INSERT INTO t1 (a) VALUES (1);
UPDATE t1 SET pk = 3; ==> AUTO_INCREMENT should be updated to 4.

Without this fix, it hits the Assertion `dd_val >= last_val' failed in
myrocks::ha_rocksdb::load_auto_incr_value_from_index.

(cherry picked from commit f7154242b8)
2018-08-26 15:10:32 +03:00