Commit graph

37 commits

Author SHA1 Message Date
Varun Gupta
80c90887fe MDEV-13585: RocksDB plugin fails to build on macOS because of unknown type timer_t etc.
Rdb_io_watchdog can not be built on  OS X. Disable it.
2017-09-05 23:00:59 +05:30
Sergei Petrunia
2963a49f72 Post-merge fix: Rdb_io_watchdog doesn't support windows
Part #2.
2017-08-01 08:50:25 +00:00
Sergei Petrunia
61ca3cf524 Post-merge fix: Rdb_io_watchdog doesn't support windows
So disable it there for now.
2017-07-31 17:34:47 +00:00
Sergei Petrunia
f2952485a1 Merge MyRocks merge tree into bb-10.2-mariarocks, unfinished.
It compiles on Linux but fails a lot of tests still
2017-07-29 10:06:09 +00:00
Sergei Petrunia
43d5edf97c Copy of
commit 394d0712d3d46a87a8063e14e998e9c22336e3a6
Author: Anca Agape <anca@fb.com>
Date:   Thu Jul 27 15:43:07 2017 -0700

    Fix rpl.rpl_4threads_deadlock test broken by D5005670

    Summary:
    In D5005670 in fill_fields_processlist() function we introduced a point
    where we were trying to take the LOCK_thd_data before the
    synchronization point used by test
    processlist_after_LOCK_thd_count_before_LOCK_thd_data. This was
    happening in get_attached_srv_session() function called. Replaced this
    with get_attached_srv_session_safe() and moved it after lock is aquired.

    Reviewed By: tianx

    Differential Revision: D5505992

    fbshipit-source-id: bc53924
2017-07-28 17:52:07 +00:00
Daniel Black
52463ccff7 MDEV-12469: rocksdb having large numberic storage errors on ppc64 (BE)
(from: http://buildbot.askmonty.org/buildbot/builders/p8-rhel6-bintar/builds/820/steps/test/logs/stdio)

Errors like the following indicate a potential endian storage issue:

rocksdb.rocksdb_range                    w1 [ fail ]
        Test ended at 2017-04-27 18:56:11

CURRENT_TEST: rocksdb.rocksdb_range
--- /home/buildbot/maria-slave/p8-rhel6-bintar/build/storage/rocksdb/mysql-test/rocksdb/r/rocksdb_range.result	2017-04-27 17:41:27.740050347 -0400
+++ /home/buildbot/maria-slave/p8-rhel6-bintar/build/storage/rocksdb/mysql-test/rocksdb/r/rocksdb_range.reject	2017-04-27 18:56:11.230050346 -0400
@@ -25,15 +25,15 @@
 select * from t2 force index (a) where a=0;
 pk	a	b
 0	0	0
-1	0	1
-2	0	2
-3	0	3
-4	0	4
-5	0	5
-6	0	6
-7	0	7
-8	0	8
-9	0	9
+16777216	0	1
+33554432	0	2
+50331648	0	3
+67108864	0	4
+83886080	0	5
+100663296	0	6
+117440512	0	7
+134217728	0	8
+150994944	0	9
 # The rest are for code coverage:
 explain
 select * from t2 force index (a) where a=2;
@@ -41,23 +41,23 @@
 1	SIMPLE	t2	ref	a	a	4	const	#
 select * from t2 force index (a) where a=2;
 pk	a	b
-20	2	20
-21	2	21
-22	2	22
-23	2	23
-24	2	24
-25	2	25
-26	2	26
-27	2	27
-28	2	28
-29	2	29
+335544320	2	20
+352321536	2	21
+369098752	2	22
+385875968	2	23
+402653184	2	24
+419430400	2	25
+436207616	2	26
+452984832	2	27
+469762048	2	28
+486539264	2	29
 explain
 select * from t2 force index (a) where a=3 and pk=33;
 id	select_type	table	type	possible_keys	key	key_len	ref	rows	Extra
 1	SIMPLE	t2	const	a	a	8	const,const	#
 select * from t2 force index (a) where a=3 and pk=33;
 pk	a	b
-33	3	33
+553648128	3	33
 select * from t2 force index (a) where a=99 and pk=99;
 pk	a	b
 select * from t2 force index (a) where a=0 and pk=0;
...

Signed-off-by: Daniel Black <daniel.black@au.ibm.com>
2017-05-03 10:27:24 +04:00
Vladislav Vaintroub
b64910ce27 MDEV-12452 MDEV-12453 : Fix building rocksdb and aws_key_management on macOS
use  CMAKE_CXX_STANDARD to set C++11 flags  with CMake 3.1+ (apples flags are somehow different from standard clang)
port htonbe16/32/64 macros for rocksdb
use reinterpret_cast<size_t> to cast macOS's pthread_t (pointer type) to  size_t , for rocksdb
2017-04-06 18:40:12 -04:00
Sergei Petrunia
23b86a18e6 MariaRocks: temporarily disable 32-bit Windows builds 2017-04-04 17:46:56 +03:00
Sergei Petrunia
5c66eb5c9f Disable compilation of storage/rocksdb/unittest/test_properties_collector
Met additional issues while trying to enable it.
2017-04-03 10:29:40 +03:00
Vladislav Vaintroub
45a9470ff3 Rename plugin rocksdb_se to rocksdb 2017-04-02 18:22:22 +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
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
Vicențiu Ciorbaru
49de95679d Revert "Make rocksdb build as a deb package too"
This reverts commit 38919f68a1.

Temporary revert to be able to see other failures until builders are
updated.
2017-03-16 09:50:26 +02:00
Vicențiu Ciorbaru
38919f68a1 Make rocksdb build as a deb package too 2017-03-15 23:20:20 +02:00
Vicențiu Ciorbaru
3eb8bc7408 Make rocksdb not be compiled on x86 architectures 2017-03-14 01:01:11 +02: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
Vladislav Vaintroub
de49fd842a RocksDB : Add lookup / compiling with optional compression libraries.
This change add WITH_ROCKSDB_{LZ4,BZIP2,ZSTD,snappy} CMake variables
that can be set to ON/OFF/AUTO.

If variable has default value AUTO, rocksdb links with corresponding
compression library. OFF disables compiling/linking with specific compression
library, ON forces compiling with it (cmake would throw error if library
is not available)

Support for ZLIB is added unconditionally, as it is always there.
2017-02-09 16:55:02 +00:00
Vicențiu Ciorbaru
f46176cbef Make rocksdb build with clang
We need to provide -fPIC for ROCKSDB files as well as -frtti if we
compile with Clang
2017-02-07 22:14:59 +02:00
Vicențiu Ciorbaru
884fd9ac2b Make RocksDB run git submodule init and update if rocksdb is not fetched 2017-02-07 22:14:44 +02: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
302ec9ab26 Merge branch '10.2-mariarocks' of github.com:MariaDB/server into 10.2-mariarocks 2017-01-01 23:33:50 +00:00
Sergei Petrunia
d8288b306c Merge remote-tracking branch 'mergetrees/merge-myrocks' into 10.2-mariarocks 2017-01-01 23:33:18 +00:00
Sergei Petrunia
3e7e559150 Fix the "fatal error: mysqld_error.h: No such file or directory" compile error 2017-01-01 01:50:17 +03:00
Sergei Petrunia
cfb59f3196 Copy of
commit f6ed777697db4ad7aee1e98c53243dced2b5891c
Author: Chenyu Yan <seayan@outlook.com>
Date:   Thu Dec 29 16:10:25 2016 -0800

    Fix BIG_TIMEOUT constant

    Summary: Update the constant to reflect what the comments indicates.

    Reviewed By: gunnarku

    Differential Revision: D4374476

    fbshipit-source-id: dd7f484
2016-12-31 23:30:09 +03:00
Sergei Petrunia
8e2cfde953 MariaRocks port: fix rocksdb.collation, rocksdb.collation_exception
- port Regex_list_handler from facebook/mysql-5.6/sql/handler.cc
  put it into a separate file in storage/rocksdb directory

- Adjust the build process so that the main library is build with
  Regex_list_handler (which has dependencies on the server),
  while RocksDB tools are built without it.

- Un-comment @@rdb_collation_exceptions handling in ha_rocksdb.cc
- Also adjust rocksdb_set_collation_exception_list() to free the
  old variable value and alloc the new one.
2016-12-04 23:55:54 +03:00
Sergei Petrunia
3ac33f8cdb MariaRocks: fix a compilation problem
rdb_cf_options.cc must be compiled with RTTI
2016-10-24 12:04:01 +00:00
Sergei Petrunia
680a206b13 MariaRocks port: compile the needed files with -frtti
- RocksDB uses RTTI (e.g. it uses dynamic_cast)
- mysql-5.6 has RTTI enabled for the whole server, so there's no
  conflict.
- MariaDB doesn't have RTTI enabled
So the solution is to enable RTTI for
- RocksDB files
- Parts of MyRocks that interface with RocksDB features that require RTTI.

(If one just enables RTTI for all of MyRocks, they will get a
"undefined reference to `typeinfo for handler'" link error)
2016-10-23 18:28:07 +00:00
Sergei Petrunia
e22b271b39 MariaRocks port: compilation fixes 2016-10-21 21:11:47 +00:00
Sergei Petrunia
e43ce18597 MariaRocks port: use correct path in CMakeLists.txt 2016-10-16 12:45:53 +00:00
Sergei Petrunia
f456532c62 MariaRocks port: compile RocksDB with -frtti.
Probably this is not the right way to do it, see the comment
2016-10-15 21:20:52 +00:00
Sergei Petrunia
84dd64702a Fix compilation failure in rdb_perf_context.h
Rdb_atomic_perf_counters uses my_io_perf_atomic_struct
which uses atomic_stat from include/atomic_stat.h
which was backported in the previous cset.
2016-10-09 16:02:13 +00:00
Sergei Petrunia
a482f2221d Fix MariaRocks build (unfinished)
Got to the point where we fail when compiling MyRocks files.
2016-10-07 08:25:10 +00:00
Sergei Petrunia
ebfc4e6ad0 Initial commit,
copy of
commit 86587affafe77ef555f7c3839839de44f0f203f3
Author: Tian Xia <tianx@fb.com>
Date:   Tue Oct 4 10:01:52 2016 -0700

    Allow filtering of show commands through admission control
2016-10-06 17:24:09 +00:00