- 14 Nov, 2015 1 commit
-
-
Kristian Nielsen authored
-
- 13 Nov, 2015 9 commits
-
-
Monty authored
-
Kristian Nielsen authored
Conflicts: sql/sql_parse.cc
-
Kristian Nielsen authored
-
Kristian Nielsen authored
Conflicts: mysql-test/suite/perfschema/r/stage_mdl_global.result sql/rpl_rli.cc sql/sql_parse.cc
-
Elena Stepanova authored
-
Kristian Nielsen authored
Problem is that FLUSH TABLES WITH READ LOCK first blocks threads from starting new commits, then waits for running commits to complete. But in-order parallel replication needs commits to happen in a particular order, so this can easily deadlock. To fix this problem, this patch introduces a way to temporarily pause the parallel replication worker threads. Before starting FTWRL, we let all worker threads complete in-progress transactions, and then wait. Then we proceed to take the global read lock. Once the lock is obtained, we unpause the worker threads. Now commits are blocked from starting by the global read lock, so the deadlock will no longer occur.
-
Kristian Nielsen authored
Preparation patch, moving the GCO wait into a separate function, in preparation for adding a separate wait phase for FLUSH TABLES WITH READ LOCK.
-
Kristian Nielsen authored
Before, the Seconds_behind_master was updated already when an event was queued for a worker thread to execute later. This might lead users to interpret a low value as the slave being almost up to date with the master, while in reality there might still be lots and lots of events still queued up waiting to be applied by the slave. See https://lists.launchpad.net/maria-developers/msg08958.html for more detailed discussions.
-
Elena Stepanova authored
While querying INFORMATION SCHEMA, check for a table's engine only used table name, but not schema name; so, if there were different rows with the same table name, a wrong one could be retrieved. The result of the check affected the decision whether the contents of the table should be dumped, and whether a DELAYED option can be used. Fixed by adding a clause for table_schema to the query.
-
- 10 Nov, 2015 11 commits
-
-
Vladislav Vaintroub authored
Using __attribute__ needs my_attribute.h include
-
Monty authored
(Simple speedup)
-
Monty authored
(We where using stage_copying_to_tmp_table twice)
-
Monty authored
Not printing the value" with binlog-row-image=minimal" Merged Rows_log_event::print_verbose_one_row() and log_event_print_value() with MySQL 5.7 Added flush after writing of Table_map_log_event() to fix wrong order of lines in output. This causes a lot of changes in some test results.
-
Monty authored
- XA - Transaction_context_event (used by MysQL group replication) - View change event (used by MysQL group replication)
-
Monty authored
-
Monty authored
Fixed failure in tests when running optimized code - Some assert() was using code that had to be executed Fixed copying of some uninitialized data (fixed valgrind warning)
-
Monty authored
(Makes TABLE a bit smaller)
-
Monty authored
changes in query execution plans. Fixed by introducing table->rpl_write_set which holds which columns should be stored in the binary log. Other things: - Removed some not needed references to read_set and write_set to make code really changing read_set and write_set easier to read (in opt_range.cc) - Added error handling of failed unpack_current_row() - Added missing call to mark_columns_needed_for_insert() for DELAYED INSERT - Removed not used functions in_read_set() and in_write_set() - In rpl_record.cc, removed not used variable error
-
Monty authored
-
Monty authored
Removed old not needed code withing #if Changed 0x%lx to %p
-
- 09 Nov, 2015 1 commit
-
-
Nirbhay Choubey authored
The bitmap implementation defines two template Bitmap classes. One optimized for 64-bit (default) wide bitmaps while the other is used for all other widths. In order to optimize the computations, Bitmap<64> class has defined its own member functions for bitmap operations, the other one, however, relies on mysys' bitmap implementation (mysys/my_bitmap.c). Issue 1: In case of non 64-bit Bitmap class, intersect() wrongly reset the received bitmap while initialising a new local bitmap structure (bitmap_init() clears the bitmap buffer) thus, the received bitmap was getting cleared. Fixed by initializing the local bitmap structure by using a temporary buffer and later copying the received bitmap to the initialised bitmap structure. Issue 2: The non 64-bit Bitmap class had the Iterator missing which caused compilation failure. Also added a cmake variable to hold the MAX_INDEXES value when supplied from the command prompt. (eg. cmake .. -DMAX_INDEXES=128U). Checks have been put in place to trigger build failure if MAX_INDEXES value is greater than 128. Test modifications: * Introduced include/have_max_indexes_[64|128].inc to facilitate skipping of tests for which the output differs with different MAX_INDEXES. * Introduced include/max_indexes.inc which would get modified by cmake to reflect the MAX_INDEXES value used to build the server. This file simply sets an mtr variable '$max_indexes' to show the MAX_INDEXES value, which will then be consumed by the above introduced include file. * Some tests (portions), dependent on MAX_INDEXES value, have been moved to separate test files.
-
- 07 Nov, 2015 2 commits
-
-
Daniel Black authored
-
Nirbhay Choubey authored
Fix the conditions for systemd scripts with '@' in path.
-
- 06 Nov, 2015 7 commits
-
-
Elena Stepanova authored
commit 6b203426
-
Sergei Petrunia authored
MDEV-8981: Analyze stmt - cycles can overflow
-
Sergey Vojtovich authored
A comment in debian/mariadb-server-10.1.postinst says: "can safely run on upgrades with existing databases". While this is true there're a few reasons not to do that: - it increases installation time (it has to run rather heavy mysqld multiple times) - as well as it increases mysqld downtime - it may fail if database has some plugin specific configs (see MDEV-8437) - there should be no need to run this script on upgrade: they should be handled by mysql_upgrade to - RPM postin doesn't call it if database directory exists Also postinst is not supposed to create database directories: let mysql_install_db do that intead.
-
Sergey Vojtovich authored
There was code that was supposed to "catch upgrades from previous versions where the root password wasn't set". But it is wrong in many regards: - it is supposed to be executed against running server, but at this point server should be down, which makes this code no-op - if the above is fixed, root password will be requested twice (initial root password request + this one) - it asks for a password only once, while "initial root password request" asks twice (password + password verification) - it may give false positive if unix socket based authentication is in effect Removed this code since it didn't work for quite a while (at least since mysql-5.1) and nobody cared about it.
-
Sergey Vojtovich authored
There is no strong need to change password column: the only side effect is that 4.0 -> 10.1 upgrades may get root/debian-sys-maint passwords stored in old format. This should be perfectly acceptable, since all password at this point are stored in old format.
-
Sergey Vojtovich authored
Removed redundant attempt to create mysql.plugin table: - original code was supposed to INSTALL some plugins: INSERT INTO plugin VALUES ('innodb', 'ha_innodb.so'), ('federated', 'ha_federated.so'), ('blackhole', 'ha_blackhole.so'), ('archive', 'ha_archive.so'); - original code was supposed to fail if mysql.plugin exists: The query sequence is supposed to be aborted if the CREATE TABLE fails due to an already existent table in which case the admin might already have chosen to remove one or more plugins. - mysql.plugin must've been created by preceeding mysql_install_db anyway
-
Nirbhay Choubey authored
During the process of guessing the IP address, if bind-address is INADDR_ANY, mysqld should proceed with address specified via wsrep_node_address or use one from network interfaces. Patch contributed by darkain (pull#115).
-
- 05 Nov, 2015 1 commit
-
-
Jan Lindström authored
Analysis: Lengths which are not UNIV_SQL_NULL, but bigger than the following number indicate that a field contains a reference to an externally stored part of the field in the tablespace. The length field then contains the sum of the following flag and the locally stored len. This was incorrectly set to define UNIV_EXTERN_STORAGE_FIELD (UNIV_SQL_NULL - UNIV_PAGE_SIZE_MAX) When it should be define UNIV_EXTERN_STORAGE_FIELD (UNIV_SQL_NULL - UNIV_PAGE_SIZE_DEF) Additionally, we need to disable support for > 16K page size for row compressed tables because a compressed page directory entry reserves 14 bits for the start offset and 2 bits for flags. This limits the uncompressed page size to 16k. To support larger pages page directory entry needs to be larger.
-
- 04 Nov, 2015 2 commits
-
-
Nirbhay Choubey authored
Post-fix: Reverting the patch for MDEV-6069 brought some ALTERs with ENGINE=MYISAM back into the mysql_system_tables_fix.sql script. As a result, running mysql_upgrade with global enforce_storage_engine=INNODB (or any other non-MyISAM engine, for that matter) would fail. Fixed by locally unsetting enforce_storage_engine in the upgrade script.
-
Vladislav Vaintroub authored
The verifier exception is caused by using thread local storage key after key was deleted. my_free() used current_thd within malloc size callback, which does pthread_get_specific(THR_THD), but THR_THD is already deleted at this point. The fix moves pthread_key_delete() to a later point in shutdown.
-
- 03 Nov, 2015 6 commits
-
-
Nirbhay Choubey authored
This reverts commit 5e6f1236.
-
Nirbhay Choubey authored
This reverts commit f8381d93.
-
Jan Lindström authored
Test used aes_ctr that is not available everywhere when aes_cbc is fine also for this test.
-
Nirbhay Choubey authored
Some modifications in galera_new_cluster : * Do not use absolute path for systemctl * Fix parameter substitution syntax
-
Daniel Black authored
Now this error out and refers to galera_new_cluster.
-
Daniel Black authored
Use galera_new_cluster instead. systemctl start mariadb@bootstrap will generate error message, use_galera_new_cluster.conf is the name of the file that will generate this error. Output: Job for mariadb@bootstrap.service failed. See "systemctl status mariadb@bootstrap.service" and "journalctl -xe" for details. ● mariadb@bootstrap.service - MariaDB database server Loaded: loaded (/usr/lib/systemd/system/mariadb@.service; disabled; vendor preset: disabled) Drop-In: /usr/lib/systemd/system/mariadb@bootstrap.service.d └─use_galera_new_cluster.conf Active: failed (Result: exit-code) since Thu 2015-10-15 19:27:52 CEST; 5s ago Process: 24334 ExecStart=/usr/bin/false (code=exited, status=1/FAILURE) Process: 24330 ExecStart=/usr/bin/echo Please use galera_new_cluster to start the mariadb service with --wsrep-new-cluster (code=exited, status=0/SUCCESS) Main PID: 24334 (code=exited, status=1/FAILURE) Oct 15 19:27:52 spaceman systemd[1]: Starting MariaDB database server... Oct 15 19:27:52 spaceman systemd[1]: mariadb@bootstrap.service: main process exited, code=exited, status=1/FAILURE Oct 15 19:27:52 spaceman systemd[1]: Failed to start MariaDB database server. Oct 15 19:27:52 spaceman systemd[1]: Unit mariadb@bootstrap.service entered failed state. Oct 15 19:27:52 spaceman systemd[1]: mariadb@bootstrap.service failed.
-