1. 15 Apr, 2019 2 commits
  2. 13 Apr, 2019 1 commit
  3. 12 Apr, 2019 7 commits
    • Kentoku SHIBA's avatar
      MDEV-16543 Replicating to spider is fragile without retries (#1272) · 3e89e0f2
      Kentoku SHIBA authored
      add changes of test results
      3e89e0f2
    • Kentoku SHIBA's avatar
      MDEV-16530 Spider datanodes needs adjusted wait_timeout for long running... · 1e8279a9
      Kentoku SHIBA authored
      MDEV-16530 Spider datanodes needs adjusted wait_timeout for long running queries on spider head node (#1258)
      
      Add the following parameters.
      
      - spider_remote_wait_timeout
        Set remote wait_timeout at connecting for improvement performance of
        connection if you know.
        -1,0      : No set.
        1 or more : Seconds.
        The default value is -1
      
      - spider_wait_timeout
        The wait time to remote servers.
        -1,0      : No set.
        1 or more : Seconds.
        The default value is 604800
      1e8279a9
    • Kentoku SHIBA's avatar
    • 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
  4. 10 Apr, 2019 2 commits
  5. 09 Apr, 2019 1 commit
  6. 08 Apr, 2019 14 commits
  7. 07 Apr, 2019 7 commits
  8. 06 Apr, 2019 6 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