1. 12 Apr, 2019 4 commits
    • Marko Mäkelä's avatar
      Merge 10.3 into 10.4 · 78965036
      Marko Mäkelä authored
      78965036
    • Eugene Kosov's avatar
      MDEV-19236 Improve error message for ER_ALTER_OPERATION_NOT_SUPPORTED_REASON_COLUMN_TYPE · 4dc10ec6
      Eugene Kosov authored
      remove a sometimes misleading word INPLACE from error message
      4dc10ec6
    • Kentoku SHIBA's avatar
      MDEV-18993 The keep-alive connection (set spider_conn_recycle_mode = 1) in... · 1d48c4a0
      Kentoku SHIBA authored
      MDEV-18993 The keep-alive connection (set spider_conn_recycle_mode = 1) in spider would cause cash in MariaDB (#1269)
      
      Fix the following valgrind error.
      
      ==94390== Thread 29:
      ==94390== Invalid read of size 8
      ==94390== at 0x78389D: thd_increment_bytes_sent (sql_class.cc:4265)
      ==94390== by 0xC8EC46: net_real_write (net_serv.cc:730)
      ==94390== by 0xC8E0C8: net_flush (net_serv.cc:383)
      ==94390== by 0xC8E4D0: net_write_command (net_serv.cc:521)
      ==94390== by 0xADCE61: cli_advanced_command (client.c:468)
      ==94390== by 0xAE3CAF: mysql_close_slow_part (client.c:3671)
      ==94390== by 0xAE3D28: mysql_close (client.c:3683)
      ==94390== by 0x149E69A8: spider_db_mbase::disconnect() (spd_db_mysql.cc:2217)
      ==94390== by 0x1491EA26: spider_db_disconnect(st_spider_conn*) (spd_db_conn.cc:297)
      ==94390== by 0x14948EBE: spider_free_conn_alloc(st_spider_conn*) (spd_conn.cc:196)
      ==94390== by 0x1494B26A: spider_free_conn(st_spider_conn*) (spd_conn.cc:1251)
      ==94390== by 0x1494941F: spider_free_conn_from_trx(st_spider_transaction*, st_spider_conn*, bool, bool, int*) (spd_conn.cc:315)
      ==94390== Address 0x1f0e0990 is 4,832 bytes inside a block of size 25,728 free'd
      ==94390== at 0x4C2ACBD: free (vg_replace_malloc.c:530)
      ==94390== by 0x13F5545: my_free (my_malloc.c:222)
      ==94390== by 0x6C75B7: ilink::operator delete(void*, unsigned long) (sql_list.h:618)
      ==94390== by 0x77B9F6: THD::~THD() (sql_class.cc:1724)
      ==94390== by 0x1494FCE0: spider_bg_conn_action(void*) (spd_conn.cc:2580)
      ==94390== by 0x4E3DDD4: start_thread (in /usr/lib64/libpthread-2.17.so)
      ==94390== by 0x5FBFEAC: clone (in /usr/lib64/libc-2.17.so)
      ==94390== Block was alloc'd at
      ==94390== at 0x4C29BC3: malloc (vg_replace_malloc.c:299)
      ==94390== by 0x13F4DFA: my_malloc (my_malloc.c:101)
      ==94390== by 0x1491CF06: ilink::operator new(unsigned long) (sql_list.h:614)
      ==94390== by 0x1494F7FD: spider_bg_conn_action(void*) (spd_conn.cc:2501)
      ==94390== by 0x4E3DDD4: start_thread (in /usr/lib64/libpthread-2.17.so)
      ==94390== by 0x5FBFEAC: clone (in /usr/lib64/libc-2.17.so)
      ==94390== Invalid write of size 8
      ==94390== at 0x7838AF: thd_increment_bytes_sent (sql_class.cc:4265)
      ==94390== by 0xC8EC46: net_real_write (net_serv.cc:730)
      ==94390== by 0xC8E0C8: net_flush (net_serv.cc:383)
      ==94390== by 0xC8E4D0: net_write_command (net_serv.cc:521)
      ==94390== by 0xADCE61: cli_advanced_command (client.c:468)
      ==94390== by 0xAE3CAF: mysql_close_slow_part (client.c:3671)
      ==94390== by 0xAE3D28: mysql_close (client.c:3683)
      ==94390== by 0x149E69A8: spider_db_mbase::disconnect() (spd_db_mysql.cc:2217)
      ==94390== by 0x1491EA26: spider_db_disconnect(st_spider_conn*) (spd_db_conn.cc:297)
      ==94390== by 0x14948EBE: spider_free_conn_alloc(st_spider_conn*) (spd_conn.cc:196)
      ==94390== by 0x1494B26A: spider_free_conn(st_spider_conn*) (spd_conn.cc:1251)
      ==94390== by 0x1494941F: spider_free_conn_from_trx(st_spider_transaction*, st_spider_conn*, bool, bool, int*) (spd_conn.cc:315)
      ==94390== Address 0x1f0e0990 is 4,832 bytes inside a block of size 25,728 free'd
      ==94390== at 0x4C2ACBD: free (vg_replace_malloc.c:530)
      ==94390== by 0x13F5545: my_free (my_malloc.c:222)
      ==94390== by 0x6C75B7: ilink::operator delete(void*, unsigned long) (sql_list.h:618)
      ==94390== by 0x77B9F6: THD::~THD() (sql_class.cc:1724)
      ==94390== by 0x1494FCE0: spider_bg_conn_action(void*) (spd_conn.cc:2580)
      ==94390== by 0x4E3DDD4: start_thread (in /usr/lib64/libpthread-2.17.so)
      ==94390== by 0x5FBFEAC: clone (in /usr/lib64/libc-2.17.so)
      ==94390== Block was alloc'd at
      ==94390== at 0x4C29BC3: malloc (vg_replace_malloc.c:299)
      ==94390== by 0x13F4DFA: my_malloc (my_malloc.c:101)
      ==94390== by 0x1491CF06: ilink::operator new(unsigned long) (sql_list.h:614)
      ==94390== by 0x1494F7FD: spider_bg_conn_action(void*) (spd_conn.cc:2501)
      ==94390== by 0x4E3DDD4: start_thread (in /usr/lib64/libpthread-2.17.so)
      ==94390== by 0x5FBFEAC: clone (in /usr/lib64/libc-2.17.so)
      1d48c4a0
    • Jan Lindström's avatar
      a05f4235
  2. 10 Apr, 2019 2 commits
  3. 09 Apr, 2019 1 commit
  4. 08 Apr, 2019 14 commits
  5. 07 Apr, 2019 7 commits
  6. 06 Apr, 2019 12 commits
    • Marko Mäkelä's avatar
      MDEV-12699 preparation: Clean up recv_sys · 1d30b7b1
      Marko Mäkelä authored
      The recv_sys data structures are accessed not only from the thread
      that executes InnoDB plugin initialization, but also from the
      InnoDB I/O threads, which can invoke recv_recover_page().
      
      Assert that sufficient concurrency control is in place.
      Some code was accessing recv_sys data structures without
      holding recv_sys->mutex.
      
      recv_recover_page(bpage): Refactor the call from buf_page_io_complete()
      into a separate function that performs necessary steps. The
      main thread was unnecessarily releasing and reacquiring recv_sys->mutex.
      
      recv_recover_page(block,mtr,recv_addr): Pass more parameters from
      the caller. Avoid redundant lookups and computations. Eliminate some
      redundant variables.
      
      recv_get_fil_addr_struct(): Assert that recv_sys->mutex is being held.
      That was not always the case!
      
      recv_scan_log_recs(): Acquire recv_sys->mutex for the whole duration
      of the function. (While we are scanning and buffering redo log records,
      no pages can be read in.)
      
      recv_read_in_area(): Properly protect access with recv_sys->mutex.
      
      recv_apply_hashed_log_recs(): Check recv_addr->state only once,
      and continuously hold recv_sys->mutex. The mutex will be released
      and reacquired inside recv_recover_page() and recv_read_in_area(),
      allowing concurrent processing by buf_page_io_complete() in I/O threads.
      1d30b7b1
    • Marko Mäkelä's avatar
      MDEV-12699 preparation: Write MLOG_INDEX_LOAD for FTS_ tables · aa3f7a10
      Marko Mäkelä authored
      The record MLOG_INDEX_LOAD is supposed to be written to indicate that
      some page modifications bypassed redo logging, and that redo logging
      is now re-enabled. It was not written for fulltext indexes during
      ALTER TABLE.
      
      row_merge_write_redo(): Declare globally. Assert that the index
      is neither a spatial nor fulltext index.
      
      recv_mlog_index_load(): Observe a MLOG_INDEX_LOAD operation.
      
      recv_parse_log_recs(): Handle MLOG_INDEX_LOAD also in multi-record
      mini-transactions. Because of this omission, we should keep writing
      MLOG_INDEX_LOAD in single-record mini-transactions, because older
      versions of Mariabackup would fail.
      
      row_fts_merge_insert(): Write MLOG_INDEX_LOAD for the auxiliary
      tables of fulltext indexes.
      aa3f7a10
    • Marko Mäkelä's avatar
      MDEV-12699 preparation: Initialize the entire page on MLOG_ZIP_PAGE_COMPRESS · 45d338dc
      Marko Mäkelä authored
      The record MLOG_ZIP_PAGE_COMPRESS is similar to MLOG_INIT_FILE_PAGE2
      that it contains all the information needed to initialize the page.
      Like for the other record, do initialize the entire page on recovery.
      45d338dc
    • Marko Mäkelä's avatar
      buf_page_get_gen(): Allow BUF_GET_IF_IN_POOL with a dummy page_size · 1b95118c
      Marko Mäkelä authored
      The page_size argument to buf_page_get_gen() only matters when the
      page is going to be loaded into the buffer pool. Allow callers to
      pass a dummy parameter when using BUF_GET_IF_IN_POOL (which would
      return NULL if the block is not in the buffer pool).
      1b95118c
    • Marko Mäkelä's avatar
      Fix a crash in CHECK TABLE for corrupted encrypted root page · 80f29211
      Marko Mäkelä authored
      btr_root_get(): Ignore the root->page.encrypted flag.
      The purpose of this flag is questionable since
      commit 8c43f963.
      
      btr_validate_index(): Avoid crash if btr_root_get() returns NULL.
      80f29211
    • Marko Mäkelä's avatar
      MDEV-15528 preparation: Do not modify a freed page · 1d0380e0
      Marko Mäkelä authored
      btr_free_root(): Add the parameter bool invalidate.
      
      btr_free_root_invalidate(): Remove.
      1d0380e0
    • Marko Mäkelä's avatar
      Clean up the parsing of MLOG_INIT_FILE_PAGE2 · 56df18be
      Marko Mäkelä authored
      fsp_apply_init_file_page(): Renamed from fsp_init_file_page_low().
      
      fsp_parse_init_file_page(): Remove. The redo log record has no
      parameters.
      56df18be
    • Marko Mäkelä's avatar
      recv_recovery_is_on(): Add UNIV_UNLIKELY · 71f9552f
      Marko Mäkelä authored
      Normally, InnoDB is not in the process of executing crash recovery.
      Provide a hint to the compiler that the recovery-related code paths
      are rarely executed.
      71f9552f
    • Marko Mäkelä's avatar
      Re-record plugins.feedback_plugin_load · c56ae2df
      Marko Mäkelä authored
      c56ae2df
    • Teemu Ollakka's avatar
      Fixed wsrep replaying for stored procedures (#1256) · eb872ceb
      Teemu Ollakka authored
      - Changed replaying to always allocate a separate THD object
        for applying log events. This is to avoid tampering original
        THD state during replay process.
      - Return success from sp_instr_stmt::exec_core() if replaying
        succeeds.
      - Do not push warnings/errors into diagnostics area if the
        transaction must be replayed. This is to avoid reporting
        transient errors to the client.
      
      Added two tests galera_sp_bf_abort, galera_sp_insert_parallel.
      Wsrep-lib position updated.
      eb872ceb
    • Jan Lindström's avatar
      MDEV-18265: Replace deprecated variable debug to debug_dbug on Galera tests · fe62ff6e
      Jan Lindström authored
      	deleted:    mysql-test/suite/galera/r/MW-86.result
      	deleted:    mysql-test/suite/galera/r/mysql-wsrep#216.result
      	modified:   mysql-test/suite/galera/t/GCF-1081.test
      	modified:   mysql-test/suite/galera_3nodes_sr/r/GCF-832.result
      	modified:   mysql-test/suite/galera_3nodes_sr/t/GCF-810A.test
      	modified:   mysql-test/suite/galera_3nodes_sr/t/GCF-810B.test
      	modified:   mysql-test/suite/galera_3nodes_sr/t/GCF-810C.test
      	modified:   mysql-test/suite/galera_3nodes_sr/t/GCF-832.test
      	modified:   mysql-test/suite/galera_sr/r/mysql-wsrep-features#35.result
      	modified:   mysql-test/suite/galera_sr/t/mysql-wsrep-features#35.test
      fe62ff6e
    • Sergei Golubchik's avatar
      update test results · 8a194d99
      Sergei Golubchik authored
      8a194d99