- 29 Apr, 2020 1 commit
-
-
Sujatha authored
Problem: ======= SET @@GLOBAL.replicate_wild_ignore_table=''; SET @@GLOBAL.replicate_wild_do_table=''; Reports following valgrind error. Conditional jump or move depends on uninitialised value(s) Rpl_filter::set_wild_ignore_table(char const*) (rpl_filter.cc:439) Conditional jump or move depends on uninitialised value(s) at 0xF60390: delete_dynamic (array.c:304) by 0x74F3F2: Rpl_filter::set_wild_do_table(char const*) (rpl_filter.cc:421) Analysis: ======== List of values provided for options "wild_do_table" and "wild_ignore_table" are stored in DYNAMIC_ARRAYS. When an empty list is provided these dynamic arrays are not initialized. Existing code treats empty element list as an error and tries to clean the uninitialized list. This results in above valgrind issue. Fix: === The clean up should be initiated only when there is an error while parsing the 'wild_do_table' or 'wild_ignore_table' list and the dynamic_array is in initialized state. Otherwise for empty list it should simply return success.
-
- 28 Apr, 2020 4 commits
-
-
Thirunarayanan Balathandayuthapani authored
- buf_page_get_gen() fails to set error value when it initializes the page with redo logs.
-
Jan Lindström authored
We need to make sure that hton is not same as view_pseudo_hton that is not NULL but not usable.
-
Alexey Botchkov authored
The json_arrayagg::val_str should handle NULL result.
-
Eugene Kosov authored
Replace all fsync() with fdatasync() when possible (e.g. On Linux) InnoDB doesn't care about file timestamps. So, to achieve a better performance it makes sense to use fdatasync() everywhere. file_io::flush(): renamed from flush_data_only() os_file_flush_data(): removed os_file_sync_posix(): renamed from os_file_fsync_posix(). Now it uses fdatasync() when it's available.
-
- 27 Apr, 2020 3 commits
-
-
Aleksey Midenkov authored
-
Aleksey Midenkov authored
If any of default names clashes with existing names find next large enough name gap for the requested number of partitions.
-
Aleksey Midenkov authored
This is continuation of MDEV-22153 bug when contiguity of history partitions is broken. ha_partition::open_read_partitions() can not handle non-contiguous list of default partitions. Fix: when default partition is dropped convert list of partitions to non-default.
-
- 25 Apr, 2020 2 commits
-
-
Marko Mäkelä authored
The functional changes of commit 5836191c (MDEV-21168) are omitted due to MDEV-742 having addressed the issue.
-
Eugene Kosov authored
-
- 24 Apr, 2020 6 commits
-
-
Marko Mäkelä authored
-
Marko Mäkelä authored
-
Marko Mäkelä authored
The reason why we have wsrep_on() at all is that the macro WSREP(thd) depends on the definition of THD, and that is intentionally an opaque data type for InnoDB. So, we cannot avoid invoking wsrep_on(), but we can evaluate the less expensive conditions thd && WSREP_ON before calling the function. Global_read_lock: Use WSREP_NNULL(thd) instead of wsrep_on(thd) because we not only know the definition of THD but also that the pointer is not null. wsrep_open(): Use WSREP(thd) instead of wsrep_on(thd). InnoDB: Replace thd && wsrep_on(thd) with wsrep_on(thd), now that the condition has been merged to the definition of the macro wsrep_on().
-
Marko Mäkelä authored
If the server is compiled WITH_WSREP=OFF, we should avoid evaluating conditions on a global variable that is constant. WSREP_ON_: Renamed from WSREP_ON. Defined only WITH_WSREP=ON. WSREP_ON: Defined as unlikely(WSREP_ON_). wsrep_on(): Defined as WSREP_ON && wsrep_service->wsrep_on_func(). The reason why we have wsrep_on() at all is that the macro WSREP(thd) depends on the definition of THD, and that is intentionally an opaque data type for InnoDB. So, we cannot avoid invoking wsrep_on(), but we can evaluate the less expensive condition WSREP_ON before calling the function.
-
Jan Lindström authored
Replaced WSREP_ON macro by single global variable WSREP_ON that is then updated at server statup and on wsrep_on and wsrep_provider update functions.
-
Eugene Kosov authored
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=89357 In short, alignas of big alignments doesn't work for gcc on ARM. The bug is fixed in gcc-9.3 and won't be fixed in older branches. F.ex gcc-7 is not supported already.
-
- 23 Apr, 2020 14 commits
-
-
Vladislav Vaintroub authored
In rare cases, both listener and worker can do poll at the same time (one of them will return events, another one no events) Fix test query to account for it.
-
Monty authored
This is not crtitical as if Aria doesn't start, the server will exit at once.
-
Monty authored
The bug was that the script tried to start mysqld while there was already a running mysqld server. Fixed by killing the running one.
-
Otto Kekäläinen authored
Stop making new symlinks and use the existing ones directly as they have been available since d2f5e82f.
-
Otto Kekäläinen authored
Originally added in cc08c134 in 2015 for backwards compatibility with old packages. It no longer makes much sense in providing mysql-* packages since the virtual-mysql-* packages paradign has been in effect since 2016 and all current MySQL installs should already follow the virtual-mysql-* paradigm controlled by https://tracker.debian.org/pkg/mysql-defaults.
-
Otto Kekäläinen authored
- Include binary wsrep_sst_rsync_wan previously omitted. - Don't build the embedded server. This saves a lot of time and around 500 MB of disk space. - Clean away unused override_dh_installcron. The package does not have any *.cron files, so this section is not needed. - Make mariadb-server run time depend on procps so pgrep works. The command pgrep is used in the maintainer scripts of mariadb-server, thus we should ensure it is found on the system. - Include build plugin func_test.so in test package. Don't include yet type_test.so since it fails (MDEV-22243). - Clean away obsolete Lintian overrides.
-
Otto Kekäläinen authored
This was partially already done in 9e1b3af4 as the symlink mysqlreport pointed to mariadb-report. There just was no script with that name, so this rename complements it and now both mariadb-report and mysqlreport work again.
-
Otto Kekäläinen authored
-
Otto Kekäläinen authored
Likewise to TokuDB and Cassandra, if this plugin is maintained it should be either fully enabled or not present at all. Packaging can be recovered from MariaDB 10.2 if needed, or if build outside of this packaging, then also the packaging scripts and snippets should be injected from the outside.
-
Otto Kekäläinen authored
Cassandra has deprecated their Thrift interface years ago (a few months after Cassandra SE was released). The new way to access Cassandra is to use the CQL Connector, which does not use Thrift. There have been talks to make a CassandraSE V2 but no usable code have been produced. The motivation to keep CassandraSE in the MariaDB source code is to have it as an example for such future attempts. It can stay in the source code but it should be removed from packaging to avoid Debian packaging maintenance work around trying to compile it and have tests pass on new platform. If somebody wants Cassandra, they can use the 10.4 branch.
-
Otto Kekäläinen authored
It was already disabled in 1589cf1c but turns out that as long as the packaging is there, is requires maintenance, ensuring it still builds, debugging failing tests etc and that takes its toll and is not worth all the extra work. Having it "only disabled" does not help, since either we have it and keep it tested and working, or we don't have it and don't spend time on keeping it working and tested. In MDEV-19780 there was already a decision to drop TokuDB from MariaDB. If somebody wants TokuDB, they can use the 10.4 branch.
-
Otto Kekäläinen authored
-
Otto Kekäläinen authored
As initially most tests fail, they have allow_failures defined so that testing anyway proceeds all the way to the final 'upgrade extras' stage. All of these tests work for downstream Debian packaging of MariaDB 10.4 and should eventually pass on upstream MariaDB 10.5 as well. Also upstream the Debian autopkgtests from MariaDB 10.4 in Debian so that pipeline includes running mtr.
-
Otto Kekäläinen authored
This are filed as issues so I trust these will not be forgotten: - MDEV-20372 - MDEV-21965 - MDEV-21968 - MDEV-22119 Having these tests fail the MTR permanently decreases the overall quality of the software as: - developers start neglecting the results from CI systems and do not spot the new regressions their changes introduce - reviews take many hours as a diligent reviewer needs to open all build logs that are failing, see what is failing, and check if those are new failures or not – alternatively reviewers stop looking at CI altogether It is better to disable these test now and prioritize the MDEVs for the test failure bugs than keep the MTR red and allow more test failures to creep in.
-
- 22 Apr, 2020 10 commits
-
-
Marko Mäkelä authored
-
Kentoku SHIBA authored
Fix a test result.
-
Jan Lindström authored
Test do we have galera debug library with debug_sync functionality needs to be earlier.
-
Otto Kekäläinen authored
Also add a check for tmp file being empty and bail out with a clear error message in such a case, as mysqld_safe prevents normal stderr from being displayed anywhere and would fail silently on this.
-
Jan Lindström authored
MDEV-22181 : galera.galera_sst_mysqldump_with_key MTR failed: INSERT failed: 1146: Table 'test.t1' doesn't exist Add wait condition to make sure table test.t1 is replicated to node_2 before we insert to it.
-
Marko Mäkelä authored
-
Marko Mäkelä authored
-
Marko Mäkelä authored
Commit 5defdc38 (which aimed to reduce sizeof(mtr_t) for non-debug builds) replaced the ternary mtr_t::status with two debug-only bool data members m_start, m_commit and inadvertently made the (now debug-only) predicate mtr_t::is_active() wrongly hold after mtr_t::commit(). mtr_t::is_active(): Evaluate both m_start and m_commit, to be compatible with the old definition. row_merge_read_clustered_index(): Correct a debug assertion.
-
Jan Lindström authored
Test do we have galera debug library with debug_sync functionality needs to be earlier.
-
Otto Kekäläinen authored
Also add a check for tmp file being empty and bail out with a clear error message in such a case, as mysqld_safe prevents normal stderr from being displayed anywhere and would fail silently on this.
-