grooverdan
Repos
81
Followers
67
Following
5

Synchronous multi-master replication library

0
0

MariaDB server is a community developed fork of MySQL server. Started by core members of the original MySQL team, MariaDB actively works with outside developers to deliver the most featureful, stable, and sanely licensed open SQL server in the industry.

0
4

OLTP Benchmark Framework

0
0

Events

issue comment
Temp server start timeout

Can you include the log to see how far the server startup occurred or if there's a connection problem of some sort?

Created at 2 hours ago
delete branch
grooverdan delete branch bb-4.x-MDEV-30478
Created at 18 hours ago

Add Debian 12

Use bookworm tag until a official 12 is conferred.

Ref: available tags https://hub.docker.com/_/debian

Created at 18 hours ago
issue comment
Add missing include <cstdio>

Thanks @kraj

Created at 23 hours ago

Add missing include

This is needed with GCC 13 and newer [1]

[1] https://www.gnu.org/software/gcc/gcc-13/porting_to.html

Signed-off-by: Khem Raj raj.khem@gmail.com

Created at 23 hours ago
pull request closed
Add missing include <cstdio>

This is needed with GCC 13 and newer [1]

[1] https://www.gnu.org/software/gcc/gcc-13/porting_to.html

Signed-off-by: Khem Raj raj.khem@gmail.com

  • [x] The Jira issue number for this PR is: MDEV-_____

Description

TODO: fill description here

How can this PR be tested?

TODO: modify the automated test suite to verify that the PR causes MariaDB to behave as intended. Consult the documentation on "Writing good test cases". In many cases, this will be as simple as modifying one .test and one .result file in the mysql-test/ subdirectory. Without automated tests, future regressions in the expected behavior can't be automatically detected and verified.

If the changes are not amenable to automated testing, please explain why not and carefully describe how to test manually.

Basing the PR against the correct MariaDB version

  • [ ] This is a new feature and the PR is based against the latest MariaDB development branch
  • [ ] This is a bug fix and the PR is based against the earliest maintained branch in which the bug can be reproduced

Backward compatibility

TODO: fill details here, if applicable, or remove the section

Created at 23 hours ago
issue comment
Automatically check if an upgrade is required in mysqld server

Assistance much appreciated. A separate PR/commits for both new features would be appreciated.

Created at 23 hours ago
pull request opened
MDEV-30478 Galera package naming is broken: same name for all debs

Reimplements MDEV-28628 using /etc/os-release. At some point after testing builds on all platforms ended up with 22.10 name.

Also add the distro prefix like the server (MDEV-28628).

Debian 6 and Ubuntu-10.04 aren't supported any more too.

Fixed per bb-4.x-MDEV-30478

Created at 23 hours ago
pull request opened
Add Debian 12
Created at 23 hours ago
grooverdan create branch deb12
Created at 23 hours ago

MDEV-30478 Galera package naming is broken: same name for all debs

Reimplements MDEV-28628 using /etc/os-release. At some point after testing builds on all platforms ended up with 22.10 name.

Also add the distro prefix like the server (MDEV-28628).

Debian 6 and Ubuntu-10.04 aren't supported any more too.

Created at 23 hours ago
create branch
grooverdan create branch bb-4.x-MDEV-30478
Created at 1 day ago
issue comment
Automatically check if an upgrade is required in mysqld server

Yes. the state file. In a new major version there shouldn't be much compatibility considerations apart from removing the old mysql_upgrade state file (I think).

Created at 1 day ago
issue comment
Automatically check if an upgrade is required in mysqld server

Nice work. Related work that I'd like to get done that will affect this in trivial ways are:

  • Change mysql_upgrade to mariadb_upgrade
  • Compile the upgrade SQL into the server the same way as mariadb-upgrade and based on a default true variable, conduct the upgrades in server before it starts listening for connections. (hacks for backport where hard MDEV-27613 but new release allows new ideas).
Created at 1 day ago

MDEV-30465 : Galera test galera_sr.MDEV-27615 takes 5mins

After d7d3ad69 we should use KILL_CONNECTION_HARD to interrupt debug_sync waits. Test case uses debug_sync and then disconnects connection from cluster.

MDEV-23855 fixup: Remove SRV_MASTER_CHECKPOINT_INTERVAL

MDEV-30404: Inconsistent updates of PAGE_MAX_TRX_ID on ROW_FORMAT=COMPRESSED pages

page_copy_rec_list_start(): Do not update the PAGE_MAX_TRX_ID on the compressed copy of the page. The modification is supposed to be logged as part of page_zip_compress() or page_zip_reorganize(). If the page cannot be compressed (due to running out of space), then page_zip_decompress() must be able to roll back the changes.

This fixes a regression that was introduced in commit 56f6dab1d0e5a464ea49c1e5efb0032a0f5cea3e (MDEV-21174).

Merge branch '10.5' into 10.5

Created at 1 day ago

Add missing include for std::runtime_error

Fixes the following error when building with gcc 13:

"tpool/aio_liburing.cc:64:18: error: 'runtime_error' is not a member of 'std' 64 | throw std::runtime_error("aio_uring()");"

Created at 2 days ago
pull request closed
Add missing include for std::runtime_error

Fixes the following error when building with gcc 13:

"tpool/aio_liburing.cc:64:18: error: 'runtime_error' is not a member of 'std' 64 | throw std::runtime_error("aio_uring()");"

How can this PR be tested?

Built locally with gcc-13.0.1_pre20230122

Basing the PR against the correct MariaDB version

  • [ ] This is a new feature and the PR is based against the latest MariaDB development branch
  • [x] This is a bug fix and the PR is based against the earliest maintained branch in which the bug can be reproduced
Created at 2 days ago
issue comment
Add missing include for std::runtime_error

Thank you.

Created at 2 days ago
grooverdan delete branch 10.4
Created at 2 days ago
pull request closed
CREDITS: re-instate Tencent Cloud

This was an accidential deletion looking at an outdated list.

  • [x] The Jira issue number for this PR is: MDEV-_____

Description

TODO: fill description here

How can this PR be tested?

TODO: modify the automated test suite to verify that the PR causes MariaDB to behave as intended. Consult the documentation on "Writing good test cases". In many cases, this will be as simple as modifying one .test and one .result file in the mysql-test/ subdirectory. Without automated tests, future regressions in the expected behavior can't be automatically detected and verified.

If the changes are not amenable to automated testing, please explain why not and carefully describe how to test manually.

Basing the PR against the correct MariaDB version

  • [ ] This is a new feature and the PR is based against the latest MariaDB development branch
  • [ ] This is a bug fix and the PR is based against the earliest maintained branch in which the bug can be reproduced

Backward compatibility

TODO: fill details here, if applicable, or remove the section

Created at 2 days ago

CREDITS: re-instate Tencent Cloud

This was an accidential deletion looking at an outdated list.

Created at 2 days ago
issue comment
Add missing includes <cstdint> and <cstdio>

Also despite the commit message, cstdint isn't added. I'm assuming its not needed. Can it be removed from the commit message?

Created at 2 days ago
issue comment
Add missing includes <cstdint> and <cstdio>

Hi, thanks for noticing. Can you please:

  • rebase this to 10.5 where the change was introduced,
  • git push to the same branch name, and
  • edit the PR base back to 10.5
Created at 2 days ago
pull request opened
CREDITS: re-instate Tencent Cloud

This was an accidential deletion looking at an outdated list.

  • [x] The Jira issue number for this PR is: MDEV-_____

Description

TODO: fill description here

How can this PR be tested?

TODO: modify the automated test suite to verify that the PR causes MariaDB to behave as intended. Consult the documentation on "Writing good test cases". In many cases, this will be as simple as modifying one .test and one .result file in the mysql-test/ subdirectory. Without automated tests, future regressions in the expected behavior can't be automatically detected and verified.

If the changes are not amenable to automated testing, please explain why not and carefully describe how to test manually.

Basing the PR against the correct MariaDB version

  • [ ] This is a new feature and the PR is based against the latest MariaDB development branch
  • [ ] This is a bug fix and the PR is based against the earliest maintained branch in which the bug can be reproduced

Backward compatibility

TODO: fill details here, if applicable, or remove the section

Created at 2 days ago

mtr failed to detect when a combination is forced

mtr detects a forced combination if the command line for a test already includes all options from this combination. options are stored in a perl hash as (key,value) pairs.

this breaks if the command line has two options with the same name, like --plugin-load-add=foo --plugin-load-add=bar, and the combination forces plugin foo.

In particular, this resulted in warnings when running federated.federatedx_versioning test

MDEV-4621 select returns null for information_schema.statistics.collation field

information_schema.statistics.collation column needs OPEN_FULL_TABLE, because it checks index_flags() for HA_READ_ORDER capability.

/usr/lib64/pkgconfig is not owned by MariaDB-devel

MDEV-27109 mysql_config mariadb_config lists non existant -lmariadb

added dependency devel->shared and conflict with previous versions update C/C 3.1 with the corresponding C/C part of the fix

MDEV-27217 typo fix

MDEV-27494 Rename .ic files to .inl

MDEV-26339 Account specifics to be handled before proxying

MDEV-27341 Use SET PASSWORD to change PAM service

SET PASSWORD = PASSWORD('foo') would fail for pam plugin with

ERROR HY000: SET PASSWORD is ignored for users authenticating via pam plugin

but SET PASSWORD = 'foo' would not.

Now it will.

MDEV-25494 : Assertion `tl->table == __null' failed in bool THD::open_temporary_table(TABLE_LIST*)

There is no need to open or process temporary tables at wsrep_append_fk_parent_table.

MDEV-25977 : Warning: Memory not freed: 32 on SET GLOBAL wsrep_sst_auth=USER

Add missing wsrep_sst_auth_free call.

MDEV-27132 Wrong result from query when using split optimization

This bug could affect queries with a grouping derived table containing equalities in the where clause of its specification if the optimizer chose to apply split optimization to access the derived table. In such cases wrong results could be returned from the queries. When the optimizer considers a possibility of using split optimization to a derived table it injects equalities joining the derived table with other tables into the where condition of the derived table. After the join order for the execution using split optimization has been chosen as the cheapest the injected equalities that are not used to access the derived table are removed from the where condition of the derived table. For this removal the optimizer looks through the conjuncts of the where condition of the derived table, fetches the equalities and checks whether they belong to the list of injected equalities. As the injection of the list was performed just by the insertion of it into the list of top level AND condition of the where condition some extra conjuncts from the where condition could be automatically attached to the end of the list of injected equalities. If such attached conjunct happened to be an equality predicate it was removed from the where condition of the derived table and thus lost for checking at the execution phase. The bug has been fixed by injecting of a shallow copy of the list of the pushed equalities rather than the list itself leaving the latter intact.

Approved by Oleksandr Byelkin sanja@mariadb.com

MDEV-26129 Bad results with join comparing case insensitive VARCHAR/ENUM/SET expression to a _bin ENUM column

Range optimizer incorrectly was used for ENUM columns when the operation collation did not match the column collation.

Adding a virtual implementation of Field_enum::can_optimize_range() which tests if the column and the operation collation match.

MDEV-27539 Merge new release of InnoDB 5.7.37 to 10.2

There were no InnoDB changes in the MySQL 5.7.37 release that would be relevant to MariaDB Server. We will merely update the reported InnoDB version number.

MDEV-27272 Crash on EXPORT/IMPORT tablespace with column added in the middle

dict_index_t::reconstruct_fields(): add input validation by replacing some assertions

handle_instant_metadata(): fix nullptr dereference

MDEV-27467: innodb to enforce the minimum innodb_buffer_pool_size in SET GLOBAL

.. to be the same as startup.

In resolving MDEV-27461, BUF_LRU_MIN_LEN (256) is the minimum number of pages for the innodb buffer pool size. Obviously we need more than just flushing pages. Taking the 16k page size and its default minimum, an extra 25% is needed on top of the flushing pages to make a workable buffer pool.

The minimum innodb_buffer_pool_chunk_size (1M) restricts the minimum otherwise we'd have a pool made up of different chunk sizes.

The resulting minimum innodb buffer pool sizes are:

Page Size, Previously minimum (startup), with change. 4k 5M 2M 8k 5M 3M 16k 5M 5M 32k 24M 10M 64k 24M 20M

With this patch, SET GLOBAL innodb_buffer_pool_size minimums are enforced.

The evident minimum system variable size for innodb_buffer_pool_size is 2M, however this is only setable if using 4k page size. As the order of the page_size and buffer_pool_size aren't fixed, we can't hide this change.

Subsequent changes:

  • innodb_buffer_pool_resize_with_chunks.test - raised of pool resize due to new minimums. Chunk size also needed increase as the test was for pool_size < chunk_size to generate a warning.
  • Removed srv_buf_pool_min_size and replaced use with MYSQL_SYSVAR_NAME(buffer_pool_size).min_val
  • Removed srv_buf_pool_def_size and replaced constant defination in MYSQL_SYSVAR_LONGLONG(buffer_pool_size)
  • Reordered ha_innodb to allow for direct use of MYSQL_SYSVAR_NAME(buffer_pool_size).min_val
  • Moved buf_pool_size_align into ha_innodb to access to MYSQL_SYSVAR_NAME(buffer_pool_size).min_val
  • loose-innodb_disable_resize_buffer_pool_debug is needed in the innodb.restart.opt test so that under debug mode, resizing of the innodb buffer pool can occur.

MDEV-18284: JSON casting using JSON_COMPACT doesn't always work with values from subqueries

  • Cherry-pick 2fcff310d024cc2201586c568391ba8b039f0bf3 (MDEV-21902)
  • Closed PR #1145 Reviewed by: holyfoot@mariadb.com

MDEV-26583 SIGSEGV's in spider_get_select_limit_from_select_lex when DELAYED INSERT is used

Spider dereferences a freed select_lex and then results in SIGSEGV.

MDEV-25538 Crash on REPAIR VIEW that was created from IS table

Remove calls to wsrep_append_fk_parent_table() during REPAIR/OPTIMIZE TABLE processing. It turns out that REPAIR or OPTIMIZE commands on table t, do not acquire MDL locks on parent tables of t (as shown in the included test). Thus making wsrep_append_fk_parent_table() unnecessary for OPTIMIZE and REPAIR. This also fixes MDEV-24446 and reenables test galera.mysql-wsrep#198.

Reviewed-by: Jan Lindström jan.lindstrom@mariadb.com

MDEV-24827: MariaDB 10.5.5 crash (sig 11) during a SELECT

Running a query using cursor could lead to a server crash on building a temporary table used for handling the query.

For example, the following cursor

DECLARE cur1 CURSOR FOR SELECT t2.c1 AS c1 FROM t1 LEFT JOIN t2 ON t1.c1 = t2.c1 WHERE EXISTS (SELECT 1 FROM t1 WHERE c2 = -1) ORDER BY c1;

declared and executed inside a stored routine could result in server crash on creating a temporary table used for handling the ORDER BY clause.

Crash occurred on attempt to create the temporary table's fields based on fields whose data located in a memory root that already freed.

It happens inside the function return_zero_rows() where the method Select_materialize::send_result_set_metadata() is invoked for cursor case. This method calls the st_select_lex_unit::get_column_types() in order to get a list of items with types of columns for the temporary table being created. The method st_select_lex_unit::get_column_types() returns first_select()->join->fields in case it is invoked for a cursor. Unfortunately, this memory has been already deallocated bit earlier by calling join->join_free(); inside the function return_zero_rows().

In case the query listed in the example is run in conventional way (without using cursor) the method st_select_lex_unit::get_column_types() returns first_select()->item_list that is not touched by invocation of the method join->join_free() so everything is fine for that.

So, to fix the issue the resources allocated for the JOIN class should be released after any activities with the JOIN class has been completed, that is as the last statement before returning from the function return_zero_rows().

This patch includes tests both for the case when a cursor is run explicitly from within a stored routine and for the case when a cursor is opened implicitly as prescribed by the STMT_ATTR_CURSOR_TYPE attribute of binary protocol (the case of prepared statement).

Updated rocksdb.corrupted_data_reads_debug result file

The change was because of new rocksdb error message.

Created at 2 days ago

rpm: ignore man3

During testing of RPM packages in MDEV-30203: file /usr/share/man/man3 from install of MariaDB-devel-11.0.1-1.el7_9.x86_64 conflicts with file from package filesystem-3.2-25.el7.x86_64

MariaDB is the first libmariadb to include man3 man pages so make the changes here like what is done for man1 and man8.

Created at 3 days ago
pull request closed
rpm: ignore man3
  • [x] The Jira issue number for this PR is: MDEV-_____

Description

During testing of RPM packages in MDEV-30203: file /usr/share/man/man3 from install of MariaDB-devel-11.0.1-1.el7_9.x86_64 conflicts with file from package filesystem-3.2-25.el7.x86_64

MariaDB is the first libmariadb to include man3 man pages so make the changes here like what is done for man1 and man8.

How can this PR be tested?

Install MariaDB-devel. For as yet unexplained reasons it can happen in buildbot without error.

Basing the PR against the correct MariaDB version

  • [ ] This is a new feature and the PR is based against the latest MariaDB development branch
  • [ X ] This is a bug fix and the PR is based against the earliest maintained branch in which the bug can be reproduced
Created at 3 days ago

MDEV-26548: replace .mysql_history with .mariadb_history

Fall back to using .mysql_history if .mariadb_history isn't present and .mysql_history is present.

Also replace the use of MYSQL_HISTFILE as an environment variable with MARIADB_HISTFILE and fall back to using MYSQL_HISTFILE if MARIADB_HISTFILE isn't present.

Created at 3 days ago
pull request closed
MDEV-26548: replace .mysql_history with .mariadb_history

Also replace the use of MYSQL_HISTFILE as an environment variable with MARIADB_HISTFILE.

Backward compatibility

With the triviality of this I've ignored the backwards compatibility aspects here and was just planning on putting this into the release notes.

Created at 3 days ago

MDEV-30393 InnoDB: Assertion failure in dict0dict.cc upon ADD FULLTEXT INDEX

Problem:

  • InnoDB fails to remove the newly created table or index from data dictionary and table cache if the alter fails in commit phase

Solution:

  • InnoDB should restart the transaction to remove the newly created table and index when it fails in commit phase of an alter operation. innodb_fts.misc_debug tests the scenario with the help of debug point "stats_lock_fail"

Merge branch '10.6' into bb-10.6-cpack-man3

Created at 3 days ago