summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* return --help optionmariadb-10.5.4Oleksandr Byelkin2020-06-231-0/+6
|
* MDEV-22981: Bad "default-character-set" option in [client] option group ↵Oleksandr Byelkin2020-06-231-1/+1
| | | | | | 50-client.cnf on Debian/Ubuntu Remove unsuported parameter by some clients.
* update C/CSergei Golubchik2020-06-221-0/+0
|
* MDEV-22972 After upgrading server/client to 10.5 clients identified via ↵Sergei Golubchik2020-06-211-1/+1
| | | | | | non-builtin plugins cannot be authenticated in 10.5.4 libmariadb3 plugins were moved to a new location
* update MCSSergei Golubchik2020-06-211-0/+0
|
* MDEV-22970: Disable MDEV-8139 due to corruption concernsMarko Mäkelä2020-06-213-0/+11
| | | | | | | | | | | | | | | | | | Contrary to our exceptations, it seems that a mini-transaction can allocate a page that it had freed earlier. The function mtr_t::init() is not prepared to deal with this, and it could happen that a newly initialized page will be scrubbed instead. This can affect the operation on page_compressed tables, or any InnoDB data files when innodb_background_scrub_data_uncompressed=ON. Also, buf_read_recv_pages() can interfere with the MDEV-8139 logic during crash recovery. Let us temporarily disable MDEV-8139 due to such concerns. Note: Scrubbing will partially work thanks to MDEV-15528. Only in cases where the page does not exist in the buffer pool at the time of the page flush, we would skip the scrubbing action.
* MDEV-22969 MariaDB-server package conflicts with previous versions of ↵Sergei Golubchik2020-06-211-4/+4
| | | | | | MariaDB-client followup to script renaming
* MDEV-22967 Spider does not load in 10.5 with default settingsSergei Golubchik2020-06-211-1/+1
| | | | increase spider maturity accordingly
* columnstore: fix python dependencies on sles123Sergei Golubchik2020-06-211-1/+1
|
* List of unstable tests for 10.5.4 releaseElena Stepanova2020-06-201-284/+336
|
* update MCS maturitySergei Golubchik2020-06-191-1/+1
|
* Change the method to run SQL statements installing MCS to fix major update ↵Roman Nozdrin2020-06-193-3/+4
| | | | | | scenario. Added binutils dependency.
* Both RPM and DEB now restart MDB uninstalling the plugin.Roman Nozdrin2020-06-197-55/+91
| | | | | | | | Both RPM and DEB now conflicts on previous versions of MCS. Trim .deb packaging. MCS now depends on python. Python version varies in distributions.
* columnstore: delete .rpmsave, install testsSergei Golubchik2020-06-192-10/+13
|
* Change installed files list to align with the recent changes in the server.Roman Nozdrin2020-06-192-2/+1
| | | | Updated MCS
* Add an explicit server dependency for RPMs and limit builds to x86_64 and ↵Roman Nozdrin2020-06-191-11/+16
| | | | i386 only.
* MDEV-22197 Change .deb cleanup on uninstall and add extra install files.Roman Nozdrin2020-06-193-2/+7
| | | | Update MCS ref.
* MCS on i386 debSergei Golubchik2020-06-192-57/+57
|
* RPM: columnstore conflicts with thriftSergei Golubchik2020-06-191-0/+1
|
* build deb packages for columnstoreSergei Golubchik2020-06-193-10/+11
|
* Clean up for debian packaging and updates for systemd service units.Roman Nozdrin2020-06-196-31/+3
|
* This patch removes columnstore-libs and columnstore-platform RPMs metadata.Roman Nozdrin2020-06-191-7/+5
|
* MCOL-3991 MCS is now shiped in a single package.Roman Nozdrin2020-06-197-143/+167
|
* Update columnstore submodule with MCOL-3982 to build libmarias3 w/o autools.Roman Nozdrin2020-06-191-0/+0
|
* let's try to enable MCSSergei Golubchik2020-06-191-1/+1
|
* Add stub for building ColumnStoreAndrew Hutchings2020-06-1918-0/+296
|
* Fix "unresolved external symbol" link errors with MSVCVladislav Vaintroub2020-06-191-1/+3
|
* S3 is pluggable nowSergei Golubchik2020-06-1917-114/+127
|
* cleanup: Aria headersSergei Golubchik2020-06-196-313/+315
| | | | | | | | | | include/maria.h is a common header included in half of the server, if should only contain definitions and declarations that are used outside of storage/maria internal definitions and declarations should be in maria_def.h also remove few duplicate declarations
* Server maturity increasedOleksandr Byelkin2020-06-192-2/+2
|
* MDEV-22871 follow-up fix: AHI corruption & leakMarko Mäkelä2020-06-192-1/+5
| | | | | | | | | | | | Commit bf3c862faa8efed4a662725ec27586cd69e9228e accidentally introduced two bugs. btr_search_update_hash_ref(): Pass the correct parameter part->heap. btr_search_sys_t::free(): Free all memory. Thanks to Michael Widenius and Thirunarayanan Balathandayuthapani for pointing out these bugs.
* MDEV-20302 Server hangs upon concurrent SELECT from partitioned S3Oleksandr Byelkin2020-06-191-10/+18
| | | | | | | | | Second attempt to fix same bug: Use the same queue for all READ operations. Release queues for all used pages. This fixes a hang in the s3.alter2 test case
* MDEV-22925 ALTER TABLE s3_table ENGINE=Aria can cause failure on slaveMonty2020-06-1913-31/+48
| | | | | | | | | | | | | | | | | | | | | When converting a table (test.s3_table) from S3 to another engine, the following will be logged to the binary log: DROP TABLE IF EXISTS test.t1; CREATE OR REPLACE TABLE test.t1 (...) ENGINE=new_engine INSERT rows to test.t1 in binary-row-log-format The bug is that the above statements are logged one by one to the binary log. This means that a fast slave, configured to use the same S3 storage as the master, would be able to execute the DROP and CREATE from the binary log before the master has finished the ALTER TABLE. In this case the slave would ignore the DROP (as it's on a S3 table) but it will stop on CREATE of the local tale, as the table is still exists in S3. The REPLACE part will be ignored by the slave as it can't touch the S3 table. The fix is to ensure that all the above statements is written to binary log AFTER the table has been deleted from S3.
* Fixed bugs in s3 test casesMonty2020-06-193-4/+3
|
* Added THD::binlog_table_should_be_logged() to simplify some codeMonty2020-06-194-15/+21
| | | | - Added missing test for binlog_filter to ALTER TABLE
* Cleanup's and more DBUG_PRINT'sMonty2020-06-1911-35/+67
| | | | | | | | - Rewrote bool Query_compressed_log_event::write() to make it more readable (no logic changes). - Changed DBUG_PRINT of 'is_error:' to 'is_error():' to make it easier to find error: in traces. - Ensure that 'db' is never null in Query_log_event (Simplified code).
* Windows, compiling - use /diagnostics:caret flag, for better diagnosticsVladislav Vaintroub2020-06-191-0/+2
|
* MDEV-22933 - remove ---source include/not_threadpool.inc from testsbb-10.5-wlad2Vladislav Vaintroub2020-06-1813-22/+0
|
* INSTALL_UNIX_ADDRDIR for debian to /run/mysqld/mysqld.sockDaniel Black2020-06-181-1/+1
|
* MDEV-22871: Reduce InnoDB buf_pool.page_hash contentionMarko Mäkelä2020-06-1823-326/+477
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The rw_lock_s_lock() calls for the buf_pool.page_hash became a clear bottleneck after MDEV-15053 reduced the contention on buf_pool.mutex. We will replace that use of rw_lock_t with a special implementation that is optimized for memory bus traffic. The hash_table_locks instrumentation will be removed. buf_pool_t::page_hash: Use a special implementation whose API is compatible with hash_table_t, and store the custom rw-locks directly in buf_pool.page_hash.array, intentionally sharing cache lines with the hash table pointers. rw_lock: A low-level rw-lock implementation based on std::atomic<uint32_t> where read_trylock() becomes a simple fetch_add(1). buf_pool_t::page_hash_latch: The special of rw_lock for the page_hash. buf_pool_t::page_hash_latch::read_lock(): Assert that buf_pool.mutex is not being held by the caller. buf_pool_t::page_hash_latch::write_lock() may be called while not holding buf_pool.mutex. buf_pool_t::watch_set() is such a caller. buf_pool_t::page_hash_latch::read_lock_wait(), page_hash_latch::write_lock_wait(): The spin loops. These will obey the global parameters innodb_sync_spin_loops and innodb_sync_spin_wait_delay. buf_pool_t::freed_page_hash: A singly linked list of copies of buf_pool.page_hash that ever existed. The fact that we never free any buf_pool.page_hash.array guarantees that all page_hash_latch that ever existed will remain valid until shutdown. buf_pool_t::resize_hash(): Replaces buf_pool_resize_hash(). Prepend a shallow copy of the old page_hash to freed_page_hash. buf_pool_t::page_hash_table::n_cells: Declare as Atomic_relaxed. buf_pool_t::page_hash_table::lock(): Explain what prevents a race condition with buf_pool_t::resize_hash().
* MDEV-22871: Remove pointer indirection for InnoDB hash_table_tMarko Mäkelä2020-06-1826-480/+284
| | | | | | | | | | | | hash_get_n_cells(): Remove. Access n_cells directly. hash_get_nth_cell(): Remove. Access array directly. hash_table_clear(): Replaced with hash_table_t::clear(). hash_table_create(), hash_table_free(): Remove. hash0hash.cc: Remove.
* MDEV-22871: Clean up btr_search_sysMarko Mäkelä2020-06-1817-892/+497
| | | | | | | | | | | btr_search_sys::parts[]: A single structure for the partitions of the adaptive hash index. Replaces the 3 separate arrays: btr_search_latches[], btr_search_sys->hash_tables, btr_search_sys->hash_tables[i]->heap. hash_table_t::heap, hash_table_t::adaptive: Remove. ha0ha.cc: Remove. Move all code to btr0sea.cc.
* MDEV-22871: Clean up hash_table_tMarko Mäkelä2020-06-1816-808/+164
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | HASH_TABLE_SYNC_MUTEX was kind-of used for the adaptive hash index, even though that hash table is already protected by btr_search_latches[]. HASH_TABLE_SYNC_RWLOCK was only being used for buf_pool.page_hash. It is cleaner to decouple that synchronization from hash_table_t, and move it to the actual user. buf_pool_t::page_hash_latches[]: Synchronization for buf_pool.page_hash. LATCH_ID_HASH_TABLE_MUTEX: Remove. hash_table_t::sync_obj, hash_table_t::n_sync_obj: Remove. hash_table_t::type, hash_table_sync_t: Remove. HASH_ASSERT_OWN(), hash_get_mutex(), hash_get_nth_mutex(): Remove. ib_recreate(): Merge to the only caller, buf_pool_resize_hash(). ib_create(): Merge to the callers. ha_clear(): Merge to the only caller buf_pool_t::close(). buf_pool_t::create(): Merge the ib_create() and hash_create_sync_obj() invocations. ha_insert_for_fold_func(): Clarify an assertion. buf_pool_t::page_hash_lock(): Simplify the logic. hash_assert_can_search(), hash_assert_can_modify(): Remove. These predicates were only being invoked for the adaptive hash index, while they only are effective for buf_pool.page_hash. HASH_DELETE_AND_COMPACT(): Merge to ha_delete_hash_node(). hash_get_sync_obj_index(): Remove. hash_table_t::heaps[], hash_get_nth_heap(): Remove. It was actually unused! hash_get_heap(): Remove. It was only used in ha_delete_hash_node(), where we always use hash_table_t::heap. hash_table_t::calc_hash(): Replaces hash_calc_hash().
* libutils: merge_archives_unixDaniel Black2020-06-182-2/+18
| | | | | | | | MRI scripts cannot handle + in paths, and ubuntu CI makes use of these. So we remove the top level build dir from the script and transform it into a relative path script.
* libutils: merge static libraries only onceDaniel Black2020-06-181-0/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Because of common dependencies between the static libraries list can contain duplicates. We reduce these down to the single last one in the list. This reduces the relative time of a rebuild from: $ (cd builddir/; time make -j) ... real 0m30.789s user 1m33.477s sys 0m19.678s and the LIB entries $ grep ADDLIB builddir/libmysqld/mysqlserver-\$\<CONFIG\>.mri.tpl | wc -l 179 $ du -h builddir/libmysqld/libmariadbd.a 4.1G builddir/libmysqld/libmariadbd.a To: $ (cd builddir/; time make -j) ... real 0m20.139s user 1m32.423s sys 0m12.208s $ grep ADDLIB builddir/libmysqld/mysqlserver-\$\<CONFIG\>.mri.tpl | wc -l 25 $ du -h builddir/libmysqld/libmariadbd.a 688M builddir/libmysqld/libmariadbd.a
* Merge 10.4 into 10.5Marko Mäkelä2020-06-1827-166/+321
|\
| * MDEV-22894: Mariabackup should not read [mariadb-client] option groupVlad Lesin2020-06-183-1/+13
| | | | | | | | from configuration files
| * MDEV-18215: mariabackup does not report unknown command line optionsVlad Lesin2020-06-181-1/+1
| | | | | | | | | | Post-push fix: add mysqd options in backup string in mariabackup sst script for the case of logging not in syslog.
| * Fix the test mariabackup.mdev-14447Marko Mäkelä2020-06-181-2/+2
| | | | | | | | | | | | | | | | The test mariabackup.mdev-14447 started failing due to the option --apply-log-only that became invalid since commit 9bdf35e90f36d9be8cc7591e2ed5e62feadc5515 and had been removed in commit 8c71c6aa8b9f4c78cfa164fad1d324ba0cf9b888.
| * MDEV-22902 Assertion `!page_has_siblings(block->frame)' failed in ↵Thirunarayanan Balathandayuthapani2020-06-171-1/+1
| | | | | | | | | | | | | | | | btr_pcur_store_position - There is a possiblity that metadata record is the only record in the leftmost leaf page. So change the assertion to check only previous page.