1
0
mirror of https://github.com/MariaDB/server.git synced 2025-11-30 05:23:50 +03:00
Commit Graph

411 Commits

Author SHA1 Message Date
Sergei Petrunia
a0aacb3443 Continuation of e13e1eea96
Missed doing a few updates to rocksdb.use_direct_reads_writes test.
2017-05-07 23:40:51 +00:00
Sergei Petrunia
b48f2a097d MDEV-12663 : rocksdb.compact_deletes times out and causes other tests to fail
Temporarily disable rocksdb.compact_deletes.
2017-05-02 13:55:08 +00:00
Sergei Petrunia
07d329a758 Continuation of the previous cset: rename sysvar's test, too.
use_direct_writes was renamed to use_direct_io_for_flush_and_compaction
2017-05-02 09:36:16 -04:00
Alexander Barkov
949faa2ec2 Merge remote-tracking branch 'origin/10.2' into bb-10.2-ext 2017-04-13 05:52:44 +04:00
Vladislav Vaintroub
8c9cd26c06 Rocksdb - disable tests that fail regularly on buildbot (MDEV-12474) 2017-04-07 17:00:51 +00:00
Marko Mäkelä
7c767a30a7 MDEV-10139 Support for InnoDB SEQUENCE objects
We introduce a NO_ROLLBACK flag for InnoDB tables. This flag only works
for tables that have a single index. Apart from undo logging, this flag
will also prevent locking and the assignment of DB_ROW_ID or DB_TRX_ID,
and imply READ UNCOMMITTED isolation. It is assumed that the SQL layer
is guaranteeing mutual exclusion.

After the initial insert of the single record during CREATE SEQUENCE,
InnoDB will be updating the single record in-place. This is crash-safe
thanks to the redo log. (That is, after a crash after CREATE SEQUENCE
was committed, the effect of sequence operations will be observable
fully or not at all.)

When it comes to the durability of the updates of SEQUENCE in
InnoDB, there is a clear analogy to MDEV-6076 Persistent AUTO_INCREMENT.
The updates would be made persistent by the InnoDB redo log flush
at transaction commit or rollback (or XA PREPARE), provided that
innodb_log_flush_at_trx_commit=1.

Similar to AUTO_INCREMENT, it is possible that the update of a SEQUENCE
in a middle of transaction becomes durable before the COMMIT/ROLLBACK of
the transaction, in case the InnoDB redo log is being flushed as a result
of the a commit or rollback of some other transaction, or as a result of
a redo log checkpoint that can be initiated at any time by operations that
are writing redo log.

dict_table_t::no_rollback(): Check if the table does not support rollback.

BTR_NO_ROLLBACK: Logging and locking flags for no_rollback() tables.

DICT_TF_BITS: Add the NO_ROLLBACK flag.

row_ins_step(): Assign 0 to DB_ROW_ID and DB_TRX_ID, and skip
any locking for no-rollback tables. There will be only a single row
in no-rollback tables (or there must be a proper PRIMARY KEY).

row_search_mvcc(): Execute the READ UNCOMMITTED code path for
no-rollback tables.

ha_innobase::external_lock(), ha_innobase::store_lock():
Block CREATE/DROP SEQUENCE in innodb_read_only mode.
This probably has no effect for CREATE SEQUENCE, because already
ha_innobase::create() should have been called (and refused)
before external_lock() or store_lock() is called.

ha_innobase::store_lock(): For CREATE SEQUENCE, do not acquire any
InnoDB locks, even though TL_WRITE is being requested. (This is just
a performance optimization.)

innobase_copy_frm_flags_from_create_info(), row_drop_table_for_mysql():
Disable persistent statistics for no_rollback tables.
2017-04-07 19:12:40 +04:00
Sergei Petrunia
c85ea1ab6d MDEV-12439: (Temporary) Don't run MariaRocks tests under valgrind 2017-04-04 12:39:27 +03:00
Sergei Petrunia
d1fc3cc469 MariaRocks: temporarily disable a few failing tests 2017-04-04 12:36:14 +03:00
Sergei Petrunia
e7e6e30cb7 rocksdb_sys_vars should not be run if MyRocks is not compiled.
Copy the detection logic from 'rocksdb' test suite, add a note.
2017-04-02 23:14:12 +03:00
Vladislav Vaintroub
85a1d9edbe rocksdb - fix failing tests on Windows 2017-04-02 17:29:04 +00:00
Vladislav Vaintroub
3599b4989d MariaRocks : Fix looking up sst_dump 2017-04-02 17:29:04 +00:00
Sergei Petrunia
c35a5884b0 Mark rocksdb.bulk_load and rocksdb.add_index_inplace_sstfilewriter as big
They use much more disk space than all other tests in rocksdb test suite
2017-04-02 14:51:59 +03:00
Sergei Petrunia
0aa056f642 Disable persistent_cache.test due to upstream MyRocks issue #579. 2017-04-02 13:12:19 +03:00
Sergei Petrunia
20d9fbcf9a MDEV-12424: binlog_encryption.encrypted_* tests fail with Can't locate autodie.pm error
Don't use Perl autodie module as there are platforms where it is not present
2017-04-02 12:18:23 +03:00
Sergei Petrunia
74889de426 Apply a workaround for MyRocks upstream issue #569
We are hitting this
https://github.com/facebook/mysql-5.6/issues/569
and we are not ready to merge the fix currently
2017-04-01 16:11:19 +03:00
Sergei Golubchik
16a99c5ad9 MariaRocks tests: various cleanups
remove hard-coded paths (that assumed we're in a source tree)
remove various shell/perl/awk/whatsnot scripts, use mysqltest and perl
remove numerous --exec /some/unix/tool commands, use mysqltest and perl
2017-03-31 19:28:58 +02:00
Sergei Golubchik
d6d994bf42 remove two redundant *.inc files to restart a server
namely, restart_mysqld_with_option.inc and kill_and_restart_mysqld.inc -
use restart_mysqld.inc instead.

Also remove innodb_wl6501_crash_stripped.inc that wasn't used anywhere.
2017-03-31 19:28:58 +02:00
Sergei Golubchik
9ce639af52 don't export all charsets to plugins
don't use internal server collation symbol names, use collation
properties and collation IDs, they are much more stable.
2017-03-31 19:22:20 +02:00
Sergei Petrunia
4653b6e2a3 MDEV-12279: rocksdb.tbl_opt_data_index_dir fails, wrong error code
Change the returned error code to be ER_CANT_CREATE_TABLE.
Emit the warning text ourselves.

(When a query produces both an error and a warning, command-line client
with default settings will not provide any indication that the warning
is present, unfortunately. Need \W)
2017-03-23 11:06:26 +03:00
Sergei Petrunia
131d858206 Temporarily disable rocksdb.blind_delete_without_tx_api test 2017-03-17 04:46:01 +03:00
Sergei Petrunia
dd743dae32 Update test results for rocksdb.misc
This .result file is not a statement of which storage engine
should be used for any particular table in mysql database.

This is just a check that a query against I_S doesn't crash.
2017-03-17 04:05:03 +03:00
Sergei Petrunia
c707997e15 MariaRocks: run rocksdb testsuite with --default-storage-engine=rocksdb
Most tests use CREATE TABLE ... ENGINE=ROCKSB, but there are some
exceptions: rpl_savepoint, rpl_row_stats.
In order to avoid any "oh we are using the wrong storage engine"
surprises, set the default for the whole testsuite.
2017-03-17 01:21:11 +03:00
Sergei Petrunia
46a78868fe MariaRocks: make rocksdb.rocksdb_datadir test pass
The test runs $MYSQLD_BOOTSTRAP_CMD but that command does not include
arguments for loading ha_rocksdb.so plugin. Add them.
2017-03-17 00:05:48 +03:00
Sergei Petrunia
23f9bb966b MDEV-12285: MariaRocks: "[ERROR] mysqld: Deadlock ..." messages in server stderr
The mssages are caused by log_warnings=2.
Set log_warnings=1 for the rocksdb test suite.
2017-03-16 21:28:42 +03:00
Sergei Petrunia
17d7cc731e MDEV-12277: rocksdb.rocksdb fails with Sort Aborted error in server stderr
Add a suppression
2017-03-16 09:46:01 +03:00
Sergei Petrunia
c5a20553c0 More testsuite fixes
- Disable rocksdb.show_enge
- Disable rocksdb.rpl_row_not_found

- Run rocksdb.blind_delete_without_tx_api only with binlog_format=row
  (like its .cnf file specifies)
2017-03-16 01:12:01 +03:00
Sergei Petrunia
adb7470742 Disable rocksdb.rpl_row_triggers, rocksdb.trx_info_rpl
These are not expected to work yet.
2017-03-15 23:44:16 +03:00
Sergei Petrunia
6dc2d581d4 Make rocksdb.rocksdb_range pass: MariaDB doesnt support ICP over reverse index scans atm 2017-03-15 23:36:20 +03:00
Sergei Petrunia
c010f06380 MariaRocks: Run rocksdb testsuite with @@rocksdb_flush_log_at_trx_commit=0
The default value of 1 causes many tests to time out (primary reason is
that many tests populate tables with one-row INSERT statements that
run with autocommit=1).
2017-03-15 23:20:28 +03:00
Sergei Petrunia
bf578ff920 Add missing source include/have_rocksdb.inc 2017-03-15 16:02:37 +00:00
Sergei Petrunia
20c085a4b7 MariaRocks: disable rocksdb.mysqldump2 also (needs --print-ordering-key) 2017-03-14 12:23:36 +03:00
Sergei Petrunia
1a3065b51a MariaRocks: make rocksdb.issue495 declare it uses partitioning 2017-03-14 12:23:08 +03:00
Sergei Petrunia
57672a85e3 MariaRocks: make partition.test work on any platform 2017-03-13 22:04:07 +00:00
Sergei Petrunia
69387c68b5 MariaRocks: update results for innodb_i_s_tables_disabled 2017-03-13 10:34:38 +03:00
Sergei Petrunia
b4ea125252 MariaRocks: disable tests that are known to fail 2017-03-13 10:34:19 +03:00
Sergei Petrunia
d49bbf12a2 MariaRocks: post-merge fixes: trivial updates to a few test results 2017-03-12 12:17:48 +03:00
Sergei Petrunia
5c1c2f67ec Merge branch 'merge-myrocks' of github.com:MariaDB/mergetrees into bb-10.2-mariarocks
Manually resolved a few conflicts
2017-03-11 20:00:08 +00:00
Sergei Petrunia
65d01da29c Copy of
commit ba00e640f658ad8d0a4dff09a497a51b8a4de935
Author: Herman Lee <herman@fb.com>
Date:   Wed Feb 22 06:30:06 2017 -0800

    Improve add_index_alter_cardinality test

    Summary:
    Split add_index_inplace_cardinality test out and add a debug_sync point
    to it so that the flush of the memtable occurs while the alter is
    running.
    Closes https://github.com/facebook/mysql-5.6/pull/539

    Reviewed By: alxyang

    Differential Revision: D4597887

    Pulled By: hermanlee

    fbshipit-source-id: faedda2
2017-03-11 07:17:42 +03:00
Sergei Petrunia
e7948e34ee Fix the previous cset: use a proper disabled.def syntax 2017-03-06 23:59:29 +03:00
Sergei Petrunia
f080c93dcd MariaRocks: (Temporarily?) disable MTR tests that run RQG 2017-03-06 14:50:14 +03:00
Sergei Petrunia
ea5cc017e9 Test fixes in rocksdb_sys_vars test suite
- Get the suite to work with dynamically-linked plugin (ha_rocksdb.so)
- Due to the push to keep everything MyRocks-related in storage/rocksdb,
  there is no mysql-test/include/have_rocksdb.* anymore.
  Make a copy of storage/rocksdb/mysql-test/rocksdb/include/have_rocksdb*,
  hopefully these files wont be changed [often].
- Maria-fication of rocksdb_persistent_cache_path test.
2017-02-21 16:49:18 +03:00
Sergei Petrunia
7d00f0981e Merge between local changes bb-10.2-mariarocks and the merge from upstream 2017-02-20 13:01:32 +00:00
Sergei Petrunia
5e47d08eb6 Merge 'merge-myrocks' into 'bb-10.2-mariarocks'
Merged cset:
    Copy of

    commit d1bb19b8f751875472211312c8e810143a7ba4b6
    Author: Manuel Ung <mung@fb.com>
    Date:   Fri Feb 3 11:50:34 2017 -0800
    ...

        Add cardinality stats to information schema
2017-02-19 16:29:01 +00:00
Sergei Petrunia
7facbc548d MariaRocks: fix a few tests
Test suite parameters for 'rocksdb' test suite were disabled in order
to get mysqld to start at all when ha_rocksdb is a dynamic plugin.

A lot of tests depend on these parameters being enabled, though. Put
them back by using the loose- form.
2017-02-19 18:51:26 +03:00
Sergei Petrunia
7468ccfadf Copy of
commit d1bb19b8f751875472211312c8e810143a7ba4b6
Author: Manuel Ung <mung@fb.com>
Date:   Fri Feb 3 11:50:34 2017 -0800

    Add cardinality stats to information schema

    Summary: This adds cardinality stats to the INFORMATION_SCHEMA.ROCKSDB_INDEX_FILE_MAP table. This is the only missing user collected properties from SST files that we don't expose, which is useful for debugging cardinality bugs.

    Reviewed By: hermanlee

    Differential Revision: D4509156

    fbshipit-source-id: 2d3918a
2017-02-06 17:39:08 +00:00
Vladislav Vaintroub
5875633c2a MDEV-11901 : MariaRocks on Windows
fixed compilation, disabled unix-only tests (the ones that use bash
etc).

Changed plugin library name to ha_rocksdb.dll/so
2017-02-01 21:27:13 +00:00
Vicențiu Ciorbaru
555b1b9f15 Make rocksdb dynamic plugin 2017-01-24 09:27:15 +02:00
Sergei Petrunia
2d789dd9dd MariaRocks: fix a few tests in rocksdb_sys_vars test suite 2017-01-11 22:29:34 +03:00
Sergei Petrunia
1a8731952d MariaRocks port: get rocksdb_sys_vars.rocksdb_deadlock_detect_basic to work 2017-01-11 19:40:25 +03:00
Sergei Petrunia
80be676fc0 MariaRocks port
- Use rocksdb_sys_vars/my.cnf so that one can run tests from that suite
  by just  "./mtr rocksdb_sys_vars.$TESTNAME"
- Add rocksdb and rocksdb_sys_vars to the set of default test suites.
  Don't run with embedded server, yet.
2017-01-11 17:32:47 +03:00