Commit graph

18406 commits

Author SHA1 Message Date
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
45a9470ff3 Rename plugin rocksdb_se to rocksdb 2017-04-02 18:22:22 +00: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
Vladislav Vaintroub
2be18d9b7f Fix the build on Windows.
Restore MYSQL_SYSVAR_UINT64_T and MYSQL_SYSVAR_SIZE_T in
plugin.h
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 Petrunia
788382f77a Fix coompilation on windows
Some Windows enviroments don't have uint64_t, and we dont really need
that type. Assume 64-bit integers take 8 bytes.
2017-04-01 06:32:20 +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
6e899642fe move rocksdb specific changes into rocksdb 2017-03-31 19:28:57 +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 Golubchik
76a262cdf8 remove my_hash_const_element(), use Hash_set in C++ code 2017-03-31 19:22:19 +02:00
Sergei Golubchik
63798a6ea8 remove DB_TYPE_ROCKSDB 2017-03-31 19:22:19 +02:00
Sergei Petrunia
54a892e133 Post-merge fixes 2017-03-31 01:32:59 +03:00
Sergei Petrunia
5210c69e71 Merge 10.2 into bb-10.2-mariarocks 2017-03-31 01:14:00 +03:00
Marko Mäkelä
a0c79bcf00 Rename InnoDB transaction undo logging predicates.
trx::has_logged_persistent(): Renamed from trx_is_redo_rseg_updated().
Determines if a transaction has generated any persistent undo log.

trx::has_logged(): Renamed from trx_is_rseg_updated().
Determines if a transaction has generated any undo log.
2017-03-30 14:35:19 +03:00
Marko Mäkelä
d1374c5b77 MDEV-12345 post-merge fix. 2017-03-30 14:34:45 +03:00
Sergei Golubchik
da4d71d10d Merge branch '10.1' into 10.2 2017-03-30 12:48:42 +02:00
Sergei Golubchik
3a3b3d8ba8 cleanup: innodb files in cmake/
moved to storage/innobase/

also removed duplicate checks from storage/innobase/CMakeLists.txt
(they're all in storage/innobase/innodb.cmake)
2017-03-29 00:40:22 +02:00
Sergei Golubchik
92aafebd2a MDEV-11605 Assertion `(longlong) thd->status_var.local_memory_used >= 0 || !debug_assert_on_not_freed_memory' failed in my_malloc_size_cb_func
MyISAM in compute_vcols() - which is used only in mi_check code -
was computing indexed vcols into an internally allocated buffer
(not record[0]) and the buffer was calculated to be long enough to fit
every keyseg (a keyseg knows where its value in a record buffer is
and the length of the value).

This logic didn' work for prefix keys, because the keyseg length is the
length of a prefix, but the record buffer needs to fit the complete
value of a vcol. In this bug MyISAM was writing a 2K varchar
into a buffer too short.

Also it didn't work for repair-with-keycache, because that code
recalculats all vcols, not only indexed ones.

So, the buffer size (MYISAM_SHARE::vreclength) should include all
vcols' full lengths. But it was calculated in mi_open and low-level
MyISAM code has no knowledge of vcols.

As a fix we now recalculate MYISAM_SHARE::vreclength in
ha_myisam::setup_vcols_for_repair() which is always called
before compute_vcols().
2017-03-29 00:40:22 +02:00
Sergei Golubchik
1216244eb9 MDEV-11703 InnoDB background threads show up in the processlist
give threads more descriptive names
2017-03-29 00:40:21 +02:00
Sergei Golubchik
bf40e8069c MDEV-11059 don't build the server with jemalloc
don't build the server with jemalloc.
only build tokudb with it.
move tokudb into a separate package, because it brings a new dependency
2017-03-29 00:40:21 +02:00
Sergei Golubchik
31a5d7212f MDEV-12203 build fails, multiple errors, in xtradb/handler
disable XtraDB in a way that makes it impossible to be built
2017-03-29 00:40:21 +02:00
Vladislav Vaintroub
d3f82e3a67 Fix connect engine crashes in buildbot tests on Win64.
Do not truncate pointers returned by _findfirst to int.
2017-03-27 16:46:38 +00:00
Vicențiu Ciorbaru
7ebb81be1d Make mysql_ldb and sst_dump part of the rocksdb-engine component 2017-03-26 17:30:26 +03:00
Vicențiu Ciorbaru
3ade211a72 Do not build ldb binary as mysql_ldb does the same thing 2017-03-25 23:28:05 +02:00
Vicențiu Ciorbaru
86680e8b4f Skip rocksdb plugin if sources can not be fetched
Either we are building from a source package, in which case all sources
should be present, or we are building from a repository. The repository
needs to fetch the rocksdb submodule before building rocksdb.
2017-03-25 22:18:34 +02:00
Vladislav Vaintroub
d7c35a9992 Fix compiler error 2017-03-23 19:28:36 +00:00
Vladislav Vaintroub
e5b67a46bc MDEV-12345 Performance : replace calls to clock() inside trx_start_low() by THD::start_utime 2017-03-23 11:50:22 +00: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 Golubchik
09a2107b1b Merge branch '10.0' into 10.1 2017-03-21 19:20:44 +01:00
Vladislav Vaintroub
1ca8637ae3 Windows : Fix several thousand of warnings with Visual C++ compiler
On some weird reason, Visual C++ does not like newly introduced
#define ut_ad(EXPR)	DBUG_ASSERT(EXPR)

and writes bogus "not enough parameters for DBUG_ASSERT" warning.

Workaround it with
#define ut_ad DBUG_ASSERT
2017-03-20 14:14:52 +00:00
Marko Mäkelä
a06da5c848 MDEV-12258 InnoDB: Fix the bogus debug assertion introduced in MDEV-12219
After a partial rollback, an undo log segment that is empty
may carry a duplicate-looking top_undo_no.

Adjust the debug assertions and add a test.
2017-03-18 21:37:36 +02:00
Vicențiu Ciorbaru
21bbe10bb3 Revert "Revert "Make rocksdb build as a deb package too""
This reverts commit 49de95679d.
2017-03-17 17:08:34 +02:00
Sergei Petrunia
619623b862 MariaRocks: SET GLOBAL rocksdb_strict_collation_exceptions=null crashes
A trivial fix
2017-03-17 14:44:05 +03:00
Jon Olav Hauglid
a77ac6513e Bug#21153166: REMOVE UNUSED VARIABLES AND CONVERT GLOBAL SYMBOLS TO STATIC
Follow-up to
Bug#21141390: REMOVE UNUSED FUNCTIONS AND CONVERT GLOBAL SYMBOLS TO STATIC
but for variables instead of functions.

Was identified with the -Wmissing-variable-declarations
compiler warning option supported by Clang 3.6.

Reviewed-by: Marko Mäkelä <marko.makela@oracle.com>

RB: 9070
2017-03-17 12:49:20 +02:00
Marko Mäkelä
97acc4a1c3 MDEV-12270 Port MySQL 8.0 Bug#21141390 REMOVE UNUSED FUNCTIONS AND CONVERT GLOBAL SYMBOLS TO STATIC
InnoDB defines some functions that are not called at all.
Other functions are called, but only from the same compilation unit.

Remove some function declarations and definitions, and add 'static'
keywords. Some symbols must be kept for separately compiled tools,
such as innochecksum.
2017-03-17 12:48:50 +02:00
Marko Mäkelä
4e1116b2c6 MDEV-12271 Port MySQL 8.0 Bug#23150562 REMOVE UNIV_MUST_NOT_INLINE AND UNIV_NONINL
Also, remove empty .ic files that were not removed by my MySQL commit.

Problem:
InnoDB used to support a compilation mode that allowed to choose
whether the function definitions in .ic files are to be inlined or not.
This stopped making sense when InnoDB moved to C++ in MySQL 5.6
(and ha_innodb.cc started to #include .ic files), and more so in
MySQL 5.7 when inline methods and functions were introduced
in .h files.

Solution:
Remove all references to UNIV_NONINL and UNIV_MUST_NOT_INLINE from
all files, assuming that the symbols are never defined.
Remove the files fut0fut.cc and ut0byte.cc which only mattered when
UNIV_NONINL was defined.
2017-03-17 12:42:07 +02:00
Vladislav Vaintroub
66905f6dcb Fix several compile warnings on Windows 2017-03-17 08:56:57 +00: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
Jan Lindström
b1ec35b903 Add assertions when key rotation list is used. 2017-03-16 17:30:13 +02:00
Marko Mäkelä
7668a79a88 MDEV-12269 Port Bug#22996442 INNODB: MAKE UNIV_DEBUG DEPEND ON DBUG_OFF
This is a partial port of my patch in MySQL 8.0.
In MySQL 8.0, all InnoDB references to DBUG_OFF were replaced
with UNIV_DEBUG. We will not do that in MariaDB.

InnoDB used two independent compile-time flags that distinguish
debug and non-debug builds, which is confusing.

Also, make ut_ad() and alias of DBUG_ASSERT().
2017-03-16 10:24:53 +02:00
Marko Mäkelä
105f46ffb8 MDEV-12273 Remove dict_table_t::does_not_fit_in_memory
In the InnoDB internal SQL parser, there is the keyword
DOES_NOT_FIT_IN_MEMORY that is never specified in any CREATE TABLE
statement that is passed to the InnoDB SQL parser
(que_eval_sql() or pars_sql() or yyparse()). If this keyword were
ever present, it would set the flag dict_table_t::does_not_fit_in_memory
which is only present in debug builds.

Let us remove all traces of this.

Also, fix storage/innobase/pars/make_flex.sh so that no the generated
file storage/innobase/pars/lexyy.cc works as is.

FIXME: Always generate the InnoDB Bison files at build time, similar
to how sql/sql_yacc.yy is handled. (This would still leave the
generated scanner files, unless we want to add a build-time dependency
for Flex.)
2017-03-16 10:24:53 +02:00