summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* MDEV-8791 - AIX: Unresolved Symbols during linkingSergey Vojtovich2016-10-3111-73/+33
| | | | | | | | | | | | | | | | | | | | | | | | | Clean-up nolock.h: it doesn't serve any purpose anymore. Appropriate code moved to x86-gcc.h and my_atomic.h. If gcc sync bultins were detected, we want to make use of them independently of __GNUC__ definition. E.g. XLC simulates those, but doesn't define __GNUC__. HS/Spider: According to AIX manual alloca() returns char*, which cannot be casted to any type with static_cast. Use explicit cast instead. MDL: Removed namemangling pragma, which didn't let MariaDB build with XLC. WSREP: _int64 seem to be conflicting name with XLC, replaced with _integer64. CONNECT: RTLD_NOLOAD is GNU extention. Removed rather meaningless check if library is loaded. Multiple dlopen()'s of the same library are permitted, and it never gets closed anyway. Except for error, which was a bug: it may close library, which can still be referenced by other subsystems. InnoDB: __ppc_get_timebase() is GNU extention. Only use it when __GLIBC__ is defined. Based on contribution by flynn1973.
* MDEV-11187: Server does not compile on labradorKristian Nielsen2016-10-312-4/+4
|
* Removing LEX::interval_list, as it's not used since parser cleanups10.2-MDEV9069Alexander Barkov2016-10-272-2/+0
| | | | | made in 227510e039b4ec6bff3096a4b9b39847551dab1a. We now use lex->last_field->interval_list directly instead.
* Set new scheduling algorithm VATS for lock waits as a default.Jan Lindström2016-10-252-3/+3
|
* MDEV-9143 JSON_xxx functions.Alexey Botchkov2016-10-254-2/+11
| | | | Item_bool fixed to behave smarter with NOT operation.
* Merge pull request #248 from sensssz/10.2-vatsJan Lindström2016-10-246-37/+468
|\ | | | | MDEV-11039 - Add new scheduling algorithm for reducing tail latencies (for 10.2)
| * Undo changes to XtraDB.sensssz2016-10-235-465/+53
| |
| * Remove duplicated comments.sensssz2016-10-231-5/+1
| |
| * Change all space indentions to tab.sensssz2016-10-233-280/+278
| |
| * Style fixes.sensssz2016-10-233-14/+13
| |
| * Remove unnecessary changes. Apply changes to XtraDB.sensssz2016-10-225-36/+91
| |
| * Add a NULL check for thd_is_replication_slave_threadsensssz2016-10-221-1/+1
| |
| * A few bug fixes. Use thd_is_slave_replication.sensssz2016-10-226-39/+91
| |
| * Add INNODB_LOCK_SCHEDULE_ALGORITHM to sysvars_innodb.resultsensssz2016-10-191-0/+14
| |
| * Bug fix: remove redundant code from check_deadlock_result. Remove assert.sensssz2016-10-191-20/+1
| |
| * Merge branch '10.2-vats' of https://github.com/sensssz/server into 10.2-vatssensssz2016-10-190-0/+0
| |\ | | | | | | | | | Rebase
| | * Change VATS implementation.sensssz2016-10-192-350/+647
| | |
| | * Merge branch '10.2-vats' of https://github.com/sensssz/server into 10.2-vatssensssz2016-10-180-0/+0
| | |\ | | | | | | | | | | | | Sync upstream and rebase.
| | | * Disable VATS on slave servers during replication.sensssz2016-10-181-1/+2
| | | |
| | | * Implement VATS in XtraDB and InnoDB.sensssz2016-10-178-34/+477
| | | |
| | * | Disable VATS on slave servers during replication.sensssz2016-10-181-1/+2
| | | |
| | * | Implement VATS in XtraDB and InnoDB.sensssz2016-10-188-34/+484
| | | |
| * | | Change VATS implementation.sensssz2016-10-192-350/+647
| | | |
| * | | Disable VATS on slave servers during replication.sensssz2016-10-191-1/+2
| | | |
| * | | Implement VATS in XtraDB and InnoDB.sensssz2016-10-198-34/+484
| |/ /
* | | Merge branch 'grooverdan-10.2-numa' into 10.2Jan Lindström2016-10-2413-10/+111
|\ \ \
| * \ \ Merge branch '10.2-numa' of https://github.com/grooverdan/mariadb-server ↵Jan Lindström2016-10-2413-10/+111
| |\ \ \ |/ / / / | | | | | | | | into grooverdan-10.2-numa
| * | | Merge 10.2Daniel Black2016-09-231013-87576/+185038
| |\ \ \ | | | | | | | | | | | | | | | Signed-off-by: Daniel Black <daniel.black@au.ibm.com>
| * | | | MDEV-10829: libnuma-dev for travisDaniel Black2016-09-231-0/+1
| | | | | | | | | | | | | | | | | | | | Signed-off-by: Daniel Black <daniel.black@au.ibm.com>
| * | | | MDEV-10829: innodb_numa_interleave=1, use numa numa_get_mems_allowedDaniel Black2016-09-232-8/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Using numa_all_nodes_ptr was excessively optimistic. Due to constraints in systemd, containers or otherwise mysqld could of been limited to a smaller set of cpus. Use the numa_get_mems_allowed library function to see what we can interleave between before doing so. The alternative is to fail interleaving overall. Signed-off-by: Daniel Black <daniel.black@au.ibm.com>
| * | | | MDEV-10829: add libnuma-dev to debian packagingDaniel Black2016-09-231-0/+1
| | | | | | | | | | | | | | | | | | | | Signed-off-by: Daniel Black <daniel.black@au.ibm.com>
| * | | | MDEV-10829: Enable Innodb NUMA interleaveDaniel Black2016-09-236-2/+63
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Code was already existing within the innobase/xtradb storage engines however without this cmake code it was never enabled. num.cmake heavily based off work by Annamalai Gurusami <annamalai.gurusami@oracle.com> Signed-off-by: Daniel Black <daniel.black@au.ibm.com>
| * | | | MDEV-10829: Port Innodb NUMA interleave test cases from MySQLAnnamalai Gurusami2016-09-203-0/+33
| | | | |
* | | | | MDEV-11120 sys_vars.sysvars_server_notembedded fails on 32-bitElena Stepanova2016-10-241-95/+104
| | | | |
* | | | | MDEV-11019 sys_vars.sysvars_server_embedded fails in buildbotElena Stepanova2016-10-242-3/+3
| | | | |
* | | | | Merge MDEV-11064: "Restrict the speed of reading binlog from Master" into 10.2Kristian Nielsen2016-10-2110-7/+100
|\ \ \ \ \
| * | | | | fix the ABI checkvinchen2016-10-211-0/+2
| | | | | |
| * | | | | fix the ABI and stop slave hang problemvinchen2016-10-216-22/+47
| | | | | |
| * | | | | fix code style..vinchen2016-10-192-6/+8
| | | | | |
| * | | | | fix the code style for read_binlog_speed_limitvinchen2016-10-194-97/+66
| | | | | |
| * | | | | fix common test suitevinchen2016-10-193-0/+19
| | | | | |
| * | | | | Control the binlog read speed for compressed protocolvinchen2016-10-193-63/+71
| | | | | |
| * | | | | Control the Maximum speed(KB/s) to read binlog from mastervinchen2016-10-195-1/+69
|/ / / / /
* | | | | MDEV-9143 JSON_xxx functions.Alexey Botchkov2016-10-1921-34/+4225
| |_|/ / |/| | | | | | | | | | | | | | | strings/json_lib.c added as a JSON library. SQL frunction added with sql/item_jsonfunc.h/cc
* | | | MDEV-7148 - Recurring: InnoDB: Failing assertion: !lock->recursiveSergey Vojtovich2016-10-171-5/+16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | On PPC64 high-loaded server may crash due to assertion failure in InnoDB rwlocks code. This happened because load order between "recursive" and "writer_thread" wasn't properly enforced.
* | | | MDEV-10813 - Clean-up InnoDB atomics, memory barriers and mutexesSergey Vojtovich2016-10-1711-1079/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Clean-up periodic mutex/rwlock waiters wake up. This was a hack needed to workaround broken mutexes/rwlocks implementation. We must have sane implementations now and don't need these anymore: release thread is guaranteed to wake up waiters. Removed redundant ifdef that has equivalent code in both branches. Removed os0atomic.h and os0atomic.ic: not used anymore. Clean-up unused cmake checks.
* | | | MDEV-10813 - Clean-up InnoDB atomics, memory barriers and mutexesSergey Vojtovich2016-10-175-24/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | No point to issue RELEASE memory barrier in os_thread_create_func(): thread creation is full memory barrier. No point to issue os_wmb in rw_lock_set_waiter_flag() and rw_lock_reset_waiter_flag(): this is deadcode and it is unlikely operational anyway. If atomic builtins are unavailable - memory barriers are most certainly unavailable too. RELEASE memory barrier is definitely abused in buf_pool_withdraw_blocks(): most probably it was supposed to commit volatile variable update, which is not what memory barriers actually do. To operate properly it needs corresponding ACQUIRE barrier without an associated atomic operation anyway. ACQUIRE memory barrier is definitely abused in log_write_up_to(): most probably it was supposed to synchronize dirty read of log_sys->write_lsn. To operate properly it needs corresponding RELEASE barrier without an associated atomic operation anyway. Removed a bunch of ACQUIRE memory barriers from InnoDB rwlocks. They're meaningless without corresponding RELEASE memory barriers. Valid usage example of memory barriers without an associated atomic operation: http://en.cppreference.com/w/cpp/atomic/atomic_thread_fence
* | | | MDEV-10813 - Clean-up InnoDB atomics, memory barriers and mutexesSergey Vojtovich2016-10-1726-128/+123
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Replaced InnoDB atomic operations with server atomic operations. Moved INNODB_RW_LOCKS_USE_ATOMICS - it is always defined (code won't compile otherwise). NOTE: InnoDB uses thread identifiers as a target for atomic operations. Thread identifiers should be considered opaque: any attempt to use a thread ID other than in pthreads calls is nonportable and can lead to unspecified results.
* | | | MDEV-10813 - Clean-up InnoDB atomics, memory barriers and mutexesSergey Vojtovich2016-10-174-560/+100
| | | | | | | | | | | | | | | | | | | | Simplified InnoDB mutex implementations, corrected memory barriers usage, use server atomic builtins.
* | | | Move InnoDB/XtraDB to async deadlock kill for parallel replication.Kristian Nielsen2016-10-177-211/+41
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In 10.2, use the thd_rpl_deadlock_check() API. This way, all the locking hacks around thd_report_wait_for() can be removed. Now parallel replication deadlock kill happens asynchroneously, from the slave background thread. In InnoDB, remove also the buffering of wait reports, to simplify the code, as this is no longer needed when the locking issues are gone. In XtraDB, the buffering is kept for now. This is just because presumably XtraDB will eventually be updated to MySQL 5.7-based InnoDB as well, so there is little need to modify the existing code only for clean-up purposes. The old synchronous function thd_report_wait_for() is no longer used and removed in this patch. Signed-off-by: Kristian Nielsen <knielsen@knielsen-hq.org>