1
0
mirror of https://github.com/MariaDB/server.git synced 2025-08-08 11:22:35 +03:00
Commit Graph

712 Commits

Author SHA1 Message Date
Marko Mäkelä
90792e4a43 Merge 10.5 into 10.6 2022-06-30 19:41:07 +03:00
Marko Mäkelä
63961a08a6 Merge 10.9 into 10.10 2022-06-28 12:33:39 +03:00
Marko Mäkelä
404d4820af Merge 10.8 into 10.9 2022-06-28 10:59:01 +03:00
Marko Mäkelä
9523986299 Merge 10.7 into 10.8 2022-06-28 10:06:00 +03:00
Marko Mäkelä
ac0af4ec4a Merge 10.6 into 10.7 2022-06-28 08:34:12 +03:00
Nayuta Yanagisawa
dbd562787a MDEV-24343 Spider Left join failed Unknown column 't0.ID' in 'on clause'
The Spider mixes the comma join with other join types, and thus
ERROR 1054 occurs. This is well-known issue caused by the higher
precedence of JOIN over the comma (,).

We can fix the problem simply by using JOINs instead of commas.
2022-06-28 05:23:14 +09:00
Nayuta Yanagisawa
a26700cca5 MDEV-28352 Spider: heap-use-after-free in ha_spider::lock_tables(), heap freed by spider_commit()
The heap-use-after-free is caused by the following mechanism:

  * In the execution of FLUSH TABLE WITH READ LOCK, the function
    spider_free_trx_conn() is called and the connections held by
    SPIDER_TRX::trx_conn_hash are freed.

  * Then, an instance of ha_spider maintains the freed connections
    because they are also referenced from ha_spider::conns.
    The ha_spider instance is kept in a lock structure until the
    corresponding table is unlocked.

  * Spider accesses ha_spider::conns on the implicit UNLOCK TABLE
    issued by BEGIN.

In the first place, when the connections have been freed, it means
that there are really no remote table locked by Spider.
Thus, there is no need for Spider to access ha_spider::cons on the
implicit UNLOCK TABLE.

We can fix the bug by removing the above mentioned access to
ha_spider::conns. We also modified spider_free_trx_conn() so that it
frees the connections only when no table is locked to reduce the
chance of another heap-use-after-free on ha_spider::conns.
2022-06-28 01:03:33 +09:00
Nayuta Yanagisawa
c4bfb61803 MDEV-28479 fixup: Update spider/bg and spider/handler suites 2022-06-27 22:57:33 +09:00
Marko Mäkelä
87bd79b1e7 Merge 10.5 into 10.6 2022-06-27 10:59:31 +03:00
Marko Mäkelä
ea847cbeaf Merge 10.4 into 10.5 2022-06-27 10:51:20 +03:00
Marko Mäkelä
dd7e9fb38a MDEV-28854 after-merge fix: Remove a test for MDEV-26583 2022-06-27 10:47:05 +03:00
Marko Mäkelä
01d757036f Merge 10.3 into 10.4 2022-06-27 10:14:37 +03:00
Hirokazu Hata
2c1aaa6664 MDEV-28854 Disallow INSERT DELAYED on Spider table
Spider supports (or at least allows) INSERT DELAYED but the
documentation does not specify spider as a storage engine that supports
"INSERT DELAYED".
Also, although not mentioned in the documentation, "INSERT DELAYED" is
not intended to be executed inside a transaction, as can be seen from
the list of supported storage engines.
The current implementation allows executing a delayed insert on a
remote transactional table and this breaks the consistency ensured by
the transaction.

We too remove "internal_delayed", one of the Spider table parameters.
Documentation says,

> Whether to transmit existence of delay to remote servers when
> executing an INSERT DELAYED statement on local server.

This table parameter is only used for "INSERT DELAYED".

Reviewed by: Nayuta Yanagisawa
2022-06-27 14:58:18 +09:00
Nayuta Yanagisawa
925999bb97 MDEV-28829 Deprecate spider_semi_table_lock and spider_semi_table_lock_connection
When the variable, spider_semi_table_lock, is 1, Spider sends
LOCK TABLES before each SQL execution. The feature is for
non-transactional remote tables and adds some overhead to query
executions.

We change the default value of the plugin variable to 0 and then
deprecate the variable because it is rare to use non-transactional
engines these days and the variable complicates the code.

The variable, spider_semi_table_lock_connection, should be too
deprecated because it is for tweaking the semi-table locking.
2022-06-27 11:14:10 +09:00
Nayuta Yanagisawa
8e6c8967a1 MDEV-28479 Deprecate Spider's high availability feature
Deprecate the high availability feature of Spider as the feature is
beyond the scope of the federated storage engine and it complicates
the implementation of Spider.
2022-06-27 11:11:32 +09:00
Marko Mäkelä
9810a4ecdf Merge 10.9 into 10.10 2022-06-21 18:27:54 +03:00
Marko Mäkelä
707f2aa214 Merge 10.8 into 10.9 2022-06-21 18:21:07 +03:00
Marko Mäkelä
54ac356dea Merge 10.7 into 10.8 2022-06-21 18:19:24 +03:00
Sergei Golubchik
2643aa43ae fix spider.variable_deprecation test 2022-06-16 22:39:35 +02:00
Marko Mäkelä
32edabd1f2 Merge 10.9 into 10.10 2022-06-09 15:26:09 +03:00
Marko Mäkelä
6dea701e0f Merge 10.8 into 10.9 2022-06-09 14:53:34 +03:00
Marko Mäkelä
0af9346079 Merge 10.7 into 10.8 2022-06-09 14:37:53 +03:00
Marko Mäkelä
fe75e5e5b1 Merge 10.6 into 10.7 2022-06-09 14:11:43 +03:00
Marko Mäkelä
e11b82f8f5 Merge 10.5 into 10.6 2022-06-09 13:34:52 +03:00
Nayuta Yanagisawa
57d233e2a6 MDEV-27256 Delete spider_use_handler and related code (2/3)
Delete the deprecated variable, spider_use_handler and related code.

Spider now does not supports accessing data nodes via handler
statements. Thus, the notion of SQL kinds are no longer useful.
We too discard it.
2022-06-09 17:26:27 +09:00
Nayuta Yanagisawa
48409dd929 MDEV-27256 Delete spider_use_handler and related code (1/3)
Delete test cases regarding the variable, spider_use_handler.
2022-06-09 17:10:41 +09:00
Daniel Black
e8b0894dc8 MDEV-28243: AIX missing my_gethwaddr implementation
and failing spider partition test.

With some small datatype changes to the Linux/Solaris my_gethwaddr implementation
the hardware address of AIX can be returned. This is an important aspect
in Spider (and UUID).

Spider test change reviewed by Nayuta Yanagisawa.

my_gethwaddr review by Monty in #2081
2022-06-08 17:13:51 +10:00
Sergei Golubchik
cf57fa8d87 fix the test for FreeBSD 2022-06-07 09:30:54 +02:00
Marko Mäkelä
5a33a37682 Merge 10.8 into 10.9 2022-06-07 09:20:07 +03:00
Marko Mäkelä
e097abfa66 MDEV-27926 After-merge fix 2022-06-02 11:09:56 +03:00
Marko Mäkelä
600751e769 Merge 10.7 into 10.8 2022-06-02 08:01:17 +03:00
Hirokazu Hata
52be05be15 MDEV-27926 Deprecate spider_init_sql_alloc_size
Reviewed by: Nayuta Yanagisawa
2022-06-01 00:22:06 +09:00
Marko Mäkelä
3cc8539d84 Merge 10.9 into 10.10 2022-05-25 09:15:08 +03:00
Marko Mäkelä
1ace1075dc Merge 10.8 into 10.9 2022-05-25 08:52:21 +03:00
Marko Mäkelä
c2bae9c77f Merge 10.7 into 10.8 2022-05-25 08:38:17 +03:00
Masashi Tomooka
2577ff2667 MDEV-28560 Deprecate spider_buffer_size
The variable, spider_buffer_size, is used nowhere in the MariaDB Community Server.
2022-05-21 15:38:57 +09:00
Nayuta Yanagisawa
77a18e8217 MDEV-28006 Delete Spider plugin variables regarding UDFs and related code
Delete the plugin variables, which are deprecated by MDEV-28005,
regarding UDFs.
2022-05-18 17:05:14 +09:00
Marko Mäkelä
504a3b32f6 Merge 10.8 into 10.9 2022-04-28 15:54:03 +03:00
Marko Mäkelä
133c2129cd Merge 10.7 into 10.8 2022-04-27 10:43:00 +03:00
Marko Mäkelä
638afc4acf Merge 10.6 into 10.7 2022-04-26 18:59:40 +03:00
Marko Mäkelä
fae0ccad6e Merge 10.5 into 10.6 2022-04-21 17:46:40 +03:00
Marko Mäkelä
620c55e708 Merge 10.4 into 10.5 2022-04-21 15:33:50 +03:00
Marko Mäkelä
394784095e Merge 10.3 into 10.4 2022-04-21 11:33:59 +03:00
Marko Mäkelä
7da351d804 Merge 10.5 into 10.6 2022-04-15 21:02:10 +03:00
Norio Akagi
1866fb0537 MDEV-28297 Deprecate spider_internal_offset
Deprecate the server variable spider_internal_offset and the corresponding
table parameters "ios" and "internal_offset".

We believe this variable is not much use to users, therefore decided to
deprecate it.

Reviewed-by: Nayuta Yanagisawa <nayuta.yanagisawa@hey.com>
2022-04-15 19:06:35 +09:00
Nayuta Yanagisawa
4abb023ba5 Spider: disable spider/bugfix.mdev_27239 2022-04-15 18:53:51 +09:00
Nayuta Yanagisawa
cc13ab0ffc MDEV-28010 Deprecate spider_crd_type and spider_crd_weight
Deprecate the variables spider_crd_type and spider_crd_weight.
The value should be defined by the engine developers.
2022-04-14 23:41:16 +09:00
Nayuta Yanagisawa
075c94fe2b MDEV-28008 Deprecate spider_crd_mode and spider_sts_mode
The variables, spider_crd_mode and spider_sts_mode, specify the
ways to fetch statistics from data nodes.

Using the SHOW command seems to work for any cases. Thus, we deprecate
the variables.
2022-04-14 23:39:42 +09:00
Nayuta Yanagisawa
7310e93ef6 MDEV-28007 Deprecate Spider plugin variables regarding statistics persistence
Deprecate the following variables:

* spider_store_last_crd
* spider_store_last_sts
* spider_load_crd_at_startup
* spider_load_sts_at_startup
2022-04-14 23:33:24 +09:00
Nayuta Yanagisawa
3be8f66185 MDEV-28244 Deprecate spider_xa_register_mode
We deprecate the variable spider_xa_register_mode because there is
no need to perform a two phase commit for a read-only transaction.

Note that the variable only affects Spider's internal XA transactions.
2022-04-14 23:31:15 +09:00