summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* dict_create_index_tree_in_mem(): Remove dead codebb_georg_10.2Marko Mäkelä2018-05-123-6/+17
| | | | | In InnoDB, CREATE TEMPORARY TABLE does not allow FULLTEXT INDEX. Replace a condition with a debug assertion, and add a test.
* After-merge fixMarko Mäkelä2018-05-121-0/+33
|
* MDEV-16142 Merge new release of InnoDB MySQL 5.7.22 to 10.2Marko Mäkelä2018-05-1114-26/+388
|\
| * Bug #23593654 CRASH IN BUF_BLOCK_FROM_AHI WHEN LARGE PAGES AND AHI ARE ENABLEDSachin Agarwal2018-05-111-1/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem: Fix for Bug #21348684 (#Rb9581) introduced a conditional debug execute 'buf_pool_resize_chunk_null', which causes new chunks memory for 2nd buffer pool instance is freed. Buffer pool resize function removes all old chunks entry from 'buf_chunk_map_reg' and add new chunks entry into it. But when 'buf_pool_resize_chunk_null' is set true, 2nd buffer pool instance's chunk entries are not added into 'buf_chunk_map_reg'. When purge thread tries to access that buffer chunk, it leads to debug assertion. Fix: Added old chunk entries into 'buf_chunk_map_reg' for 2nd buffer pool instance when 'buf_pool_resize_chunk_null' debug condition is set to true. Reviewed by: Jimmy <Jimmy.Yang@oracle.com> RB: 18664
| * FOLLOW-UP FIX FOR BUG#27141613Aakanksha Verma2018-05-111-1/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | PROBLEM Issue found during ntest run is a regression of Bug #27141613. The issue is basically when index is being freed due to an error during its creation,when the index isn't added to dictionary cache its field columns are not set, the derefrencing of null col pointer during the clean of index from the virtual column's leads to a crash. NOTE: Also test i_innodb.virtual_debug was failing on 32k page size and above for the newly added scenario. Fixed that. FIX Added a check that if only the index is cached , the virtual index freeing from the virtual cols index list is performed. Reviewed by: Satya Bodapati<satya.bodapati@oracle.com> RB: 18670
| * Bug #27141613 ASSERTION: TRX0REC.CC:319:COL->IS_VIRTUAL() / CRASH IN ↵Aakanksha Verma2018-05-113-2/+44
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | TRX_UNDO_READ_V_COLS PROBLEM ======= When add of virtual index fails with DB_TOO_BIG_RECORD , the virtual index being freed isn't removed from the list of indexes a virtual column(which is part of the index). This while the undo log is read could fetch a wrong value during rollback and cause the assertion reported in the bug particularly. FIX === Added a function that is called when the virtual index being freed would allow the index be removed from the index list of virtual column which was a field of that index. Reviwed By: Jimmy Yang<Jimmy.Yang@oracle.com> RB: 18528
| * Adjust the test case for MariaDBMarko Mäkelä2018-05-112-8/+9
| |
| * Bug #27304661 MYSQL CRASH DOING SYNC INDEX ] [FATAL] INNODB: SEMAPHORE WAIT ↵Aditya A2018-05-114-21/+132
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | HAS LASTED > 600 PROBLEM ------- Whenever an fts table is created it registers itself in a queue which is operated by a background thread whose job is to optimize the fts tables in background. Additionally we place these fts tables in non-LRU list so that they cannot be evicted from cache. But in the scenario when a node is brought up which is already having fts tables ,we first try to load the fts tables in dictionary ,but we skip the part where it is added in background queue and in non-LRU list because the background thread is not yet created,so these tables are loaded but they can be evicted from the cache. Now coming to the deadlock scenario 1. A Server background thread is trying to evict a table from the cache because the cache is full,so it scans the LRU list for the tables it can evict.It finds the fts table (because of the reason explained above) can be evicted and it takes the dict_sys->mutex (this is a system wide mutex) submits a request to the background thread to remove this table from queue and waits it to be completed. 2. In the mean time fts_optimize_thread() is processing another job in the queue and needs dict_sys->mutex for a small amount of time, but it cannot get it because it is blocked by the first background thread. So Thread 1 is waiting for its job to be completed by Thread 2,whereas Thread 2 is waiting for dict_sys->mutex held by thread 1 ,causing the deadlock. FIX
| * Bug #26805833 INNODB COMPLAINS OF SYNTAX ERROR, BUT DOES NOT SAY WHICH OPTIONSachin Agarwal2018-05-112-0/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem: when incorrect value is assigned to innodb_data_file_path or innodb_temp_data_file_path parameter, Innodb returns error and logs error message in mysqlds.err file but there is no information in error message about the parameter which causes Innodb initialization is failed. Fix: Added error message with parameter name and value, which causes Innodb initialization is failed. Reviewed by: Jimmy <Jimmy.Yang@oracle.com> RB: 18206
| * Adjust the test case for MariaDBMarko Mäkelä2018-05-112-43/+40
| | | | | | | | | | Note: it does not appear to cover the bug fix! The test will pass even if the Oracle Bug #26731689 fix is reverted.
| * Bug #26731689 FK ON TABLE WITH GENERATED COLS: ASSERTION POS < N_DEFSachin Agarwal2018-05-113-2/+179
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem: During ALTER, when filling stored column info, wrong column number is used. This is because we ignored virtual column when iterating over columns in table and lead to debug assertion. Fix: In InnoDB table cache object, vcols are on stored on one list, stored and normal columns are stored in another list. When looking for stored column, ignore the virtual columns to get the right column number of stored column. Reviewed by: Thiru <thirunarayanan.balathandayuth@oracle.com>, Satya <satya.bodapati@oracle.com> RB: 17939
| * Add a test case for a MySQL 5.7 bug that did not affect MariaDBMarko Mäkelä2018-05-112-0/+23
|/
* Merge 10.1 into 10.2Marko Mäkelä2018-05-1110-27/+161
|\
| * Merge 10.0 into 10.1Marko Mäkelä2018-05-117-23/+124
| |\
| | * Bug #26334149 - MYSQL CRASHES WHEN FULL TEXT INDEXES IBD FILES ARE ORPHANED ↵Sachin Agarwal2018-05-113-2/+53
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | DUE TO RENAME TABLE Problem: When FTS index is added into a table which doesn't have 'FTS_DOC_ID' column, Innodb rebuilds table to add column 'FTS_DOC_ID'. when this FTS index is dropped from this table. Innodb doesn't not rebuild table to remove 'FTS_DOC_ID' column and deletes FTS index auxiliary tables. But it doesn't delete FTS common auxiliary tables. Later when the database having this table is renamed, FTS auxiliary tables are not renamed because table's flags2 (dict_table_t.flags2) has been resetted for DICT_TF2_FTS flag during FTS index drop operation. Now when we drop old database, it leads to an assert. Fix: During renaming of FTS auxiliary tables, ORed a condition to check if table has DICT_TF2_FTS_HAS_DOC_ID flag set. RB: 18769 Reviewed by : Jimmy.Yang@oracle.com
| | * Bug #27041445 SERVER ABORTS IF FTS_DOC_ID EXCEEDS FTS_DOC_ID_MAX_STEPThirunarayanan Balathandayuthapani2018-05-113-7/+69
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem: ======= Multiple insert statement in table contains FULLTEXT KEY and a FTS_DOC_ID column aborts the server if the FTS_DOC_ID exceeds FTS_DOC_ID_MAX_STEP. Solution: ======== Remove the exception for first committed insert statement. Reviewed-by: Jimmy Yang<jimmy.yang@oracle.com> RB: 18023
| | * Merge 5.5 into 10.0 (no changes)Marko Mäkelä2018-05-110-0/+0
| | |\
| | | * MDEV-15480 Audit plugin does not respect QUERY_DML for audit plugin.Alexey Botchkov2018-05-103-4/+44
| | | | | | | | | | | | | | | | QUERY_DML_NO_SELECT flag added.
| | * | Remove a redundant condition added by the 5.6.40 mergeMarko Mäkelä2018-05-112-14/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When Oracle fixed MDEV-13899 in their own way, they moved the condition to the only caller of PageConverter::update_records(). Thus, the merge of 5.6.40 into MariaDB added a redundant condition. PageConverter::update_records(): Move the page_is_leaf() condition to the only caller, PageConverter::update_index_page().
| | * | MDEV-15480 Audit plugin does not respect QUERY_DML for audit plugin.Alexey Botchkov2018-05-103-4/+44
| | | | | | | | | | | | | | | | QUERY_DML_NO_SELECT flag added.
| * | | MDEV-15480 Audit plugin does not respect QUERY_DML for audit plugin.Alexey Botchkov2018-05-103-4/+44
| | | | | | | | | | | | | | | | QUERY_DML_NO_SELECT flag added.
| * | | bump the VERSIONDaniel Bartholomew2018-05-091-1/+1
| | | |
* | | | MDEV-16145 Crash in ALTER TABLE…AUTO_INCREMENT=1 after DISCARD TABLESPACEMarko Mäkelä2018-05-113-15/+58
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is the MariaDB equivalent of fixing the MySQL 5.7 regression Bug #26935001 ALTER TABLE AUTO_INCREMENT TRIES TO READ INDEX FROM DISCARDED TABLESPACE Oracle did not publish a test case, but it is easy to guess based on the commit message. The MariaDB code is different due to MDEV-6076 implementing persistent AUTO_INCREMENT. commit_set_autoinc(): Report ER_TABLESPACE_DISCARDED if the tablespace is missing. prepare_inplace_alter_table_dict(): Avoid accessing a discarded tablespace. (This avoids generating warnings in fil_space_acquire().)
* | | | MDEV-15697 post-fix: Remove an unused variableMarko Mäkelä2018-05-111-1/+0
| | | |
* | | | MDEV-12427: rocksdb.write_sync failsSergei Petrunia2018-05-111-1/+0
| | | | | | | | | | | | | | | | Enable the test as the cause of the failure has been fixed
* | | | MDEV-15853: Assertion `tab->filesort_result == 0' failedVarun Gupta2018-05-115-2/+41
| | | | | | | | | | | | | | | | | | | | | | | | | | | | The issue here is that the window function execution is not called for the correct join tab, when we have GROUP BY where we create extra temporary tables then we need to call window function execution for the last join tab. For doing so the current code does not take into account the JOIN::aggr_tables. Fixed by introducing a new function JOIN::total_join_tab_cnt that takes in account the temporary tables also.
* | | | MyRocks: disable rocksdb.check_ignore_unknown_options on WindowsSergei Petrunia2018-05-101-0/+4
| | | |
* | | | Merge branch 'bb-10.2-mariarocks' into 10.2Sergei Petrunia2018-05-104-2/+28
|\ \ \ \
| * | | | MyRocks on windows: make bulk_load_unsorted pass.Sergei Petrunia2018-05-101-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | It produced warnings due to perl code printing \r\n into the text file which is then used by LOAD DATA INFILE.
| * | | | MyRocks: post-merge fixes for Windows: take into account FN_LIBCHAR2Sergei Petrunia2018-05-101-1/+6
| | | | | | | | | | | | | | | | | | | | Table name may be passed either as "./db/table" or as ".\\db\\table".
| * | | | MyRocks: fix rocksdb.rocksdb_range test attempt 3Sergei Petrunia2018-05-082-1/+20
| | | | |
| * | | | Post-merge fixes: fix rocksdb.rocksdb_checksums testSergei Petrunia2018-05-071-0/+1
| | | | | | | | | | | | | | | | | | | | (see also: MDEV-15911)
* | | | | Merge branch '10.2' of github.com:MariaDB/server into 10.2Sergei Petrunia2018-05-10173-2702/+2504
|\ \ \ \ \ | |/ / / / |/| | | |
| * | | | Merge branch 'connect/10.2' into 10.2Sergei Golubchik2018-05-108-24/+15
| |\ \ \ \
| | * | | | - Fix MDEV-15735 CONNECT [filamtxt.cpp:429]: Suspicious conditionOlivier Bertrand2018-05-0710-45/+33
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | modified: storage/connect/filamtxt.cpp - Fix compiler warnings modified: storage/connect/domdoc.cpp modified: storage/connect/ha_connect.cc modified: storage/connect/json.h modified: storage/connect/jsonudf.cpp modified: storage/connect/tabext.cpp modified: storage/connect/tabjson.cpp modified: storage/connect/tabjson.h - Miscelleanous from 10.3 modified: storage/connect/ha_connect.cc modified: storage/connect/mycat.cc modified: storage/connect/user_connect.cc
| | * | | | - Fix MDEV-15577 CONNECT engine JDBC remote index prevents UPDATEOlivier Bertrand2018-03-271-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fixed in TDBJDBC::OpenDB because query can be null for updates modified: storage/connect/tabjdbc.cpp
| * | | | | Merge branch '10.1' into 10.2Sergei Golubchik2018-05-10145-2627/+2294
| |\ \ \ \ \ | | | |/ / / | | |/| | |
| | * | | | install disks plugin on debianSergei Golubchik2018-05-091-0/+1
| | | | | |
| | * | | | Merge 10.0 into 10.1Marko Mäkelä2018-05-094-4/+8
| | |\ \ \ \ | | | | |/ / | | | |/| |
| | | * | | MDEV-16119 InnoDB lock->index refers to a freed object after failed ADD INDEXMarko Mäkelä2018-05-094-4/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The problem is hard to repeat, and I failed to create a deterministic test case. Online index creation creates stubs for to-be-created indexes. If index creation fails, we could remove these stubs while locks exist in the indexes. (This would require that the index creation was completed, and a concurrent DML operation acquired a lock on a record in the uncommitted index. If a duplicate key error occurs in an uncommitted index, the error will be reported for the CREATE UNIQUE INDEX, not for the DML operation that tried to insert the duplicate.) dict_table_try_drop_aborted(), row_merge_drop_indexes(): If transactional locks exist on the table, keep the table->indexes intact.
| | * | | | MDEV-15351: wsrep_sst_xtrabackup is broken in 10.1.31Jan Lindström2018-05-091-1/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Remove the setup_ports function call. This is related to https://github.com/MariaDB/server/pull/717 Thanks to Daniel Black and Bart S.
| | * | | | MDEV-16105: Mariabackup does not support SSLVladislav Vaintroub2018-05-085-9/+36
| | | | | | | | | | | | | | | | | | | | | | | | The reason is the missing HAVE_OPENSSL define for mariabackup.
| | * | | | Mroonga cmake failure - LZ4_LIBS = NOTFOUNDVicențiu Ciorbaru2018-05-081-3/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The following variables are used in this project, but they are set to NOTFOUND. LZ4_LIBS The reason for the failure is that pkg_check_modules will not guarantee <prefix>_LIBRARY_DIRS variable to be set, according to documentation. When it's not set, we would force find_library to look in an empty path and thus fail to correctly find LZ4_LIBS, although pck_check_modules did previously discover that the library is installed. To fix the problem and still keep the logic of first following LIBLZ4_LIBRARY_DIRS and *then* look at other paths, we call find_library twice. This is the recommended approach, according to CMake 3.11 documentation.
| | * | | | Merge branch '10.0' into 10.1Sergei Golubchik2018-05-0812-1561/+473
| | |\ \ \ \ | | | |/ / /
| | | * | | MDEV-15216 Assertion `! is_set() || m_can_overwrite_status' failed in ↵Sergei Golubchik2018-05-089-18/+36
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Diagnostics_area::set_error_status upon operation inside XA don't implicitly commit or rollback in mysql_admin_table() unless the statement has CF_IMPLICIT_COMMIT_END flag.
| | | * | | de-obfuscate rpl_*_implicit_commit_binlog testSergei Golubchik2018-05-084-1831/+443
| | | | | |
| | | * | | rename a testSergei Golubchik2018-05-072-0/+0
| | | | | |
| | * | | | MDEV-14541 - Workaround GCC ICE on ARM64Sergey Vojtovich2018-05-081-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | -fno-tree-loop-vectorize is only supported by gcc versions >5.
| | * | | | Updated list of unstable tests for 10.1.33 releasemariadb-10.1.33Elena Stepanova2018-05-081-66/+70
| | | | | |
| | * | | | Merge 10.0 into 10.1Marko Mäkelä2018-05-074-46/+104
| | |\ \ \ \ | | | |/ / /