1. 10 Nov, 2022 1 commit
  2. 09 Nov, 2022 7 commits
  3. 08 Nov, 2022 21 commits
    • Marko Mäkelä's avatar
      MDEV-22512: Re-enable the tests on 10.5 · b955f4ef
      Marko Mäkelä authored
      b955f4ef
    • Andrew Hutchings's avatar
      MDEV-29397 CONNECT engine: Fix note turning into error (#2325) · fda58467
      Andrew Hutchings authored
      * MDEV-29397 Fix note turning into error
      
      ODBC Rewind triggered an error with no SQL, but this is sometimes a
      valid condition (as can be seen with other classes). Setting this to a 0
      return stops errors firing when they shouldn't.
      
      Also fixes ASAN hits from in MDEV-29687 tabext.cpp.
      fda58467
    • Marko Mäkelä's avatar
      Merge 10.5 into 10.6 · 2ac1edb1
      Marko Mäkelä authored
      2ac1edb1
    • Marko Mäkelä's avatar
      MDEV-29504/MDEV-29849 TRUNCATE breaks FOREIGN KEY locking · e572c745
      Marko Mäkelä authored
      ha_innobase::referenced_by_foreign_key(): Protect the check with
      dict_sys.freeze(), to prevent races with TRUNCATE TABLE.
      The test innodb.instant_alter_crash has been adjusted for this
      additional locking.
      
      dict_table_is_referenced_by_foreign_key(): Removed (merged to
      the only caller).
      
      create_table_info_t::create_table(): Ignore missing indexes for
      FOREIGN KEY constraints if foreign_key_checks=0.
      
      create_table_info_t::create_table_update_dict(): Rewritten as
      a static function. Do not return any error.
      
      ha_innobase::create(): When trx!=nullptr and we are operating
      on a persistent table, do not rollback, commit, or release the
      data dictionary latch.
      
      ha_innobase::truncate(): Protect the entire critical section
      with an exclusive dict_sys.latch, so that
      ha_innobase::referenced_by_foreign_key() on referenced tables
      will return a consistent result. In case of a failure,
      invoke dict_load_foreigns() to restore also any FOREIGN KEY
      constraints.
      
      ha_innobase::free_foreign_key_create_info(): Define inline.
      
      lock_release(): Disregard innodb_evict_tables_on_commit_debug=ON
      when dict_sys.locked() holds. It would hold when fts_load_stopword()
      is invoked by create_table_info_t::create_table_update_dict().
      
      dict_sys_t::locked(): Return whether the current thread is holding
      the exclusive dict_sys.latch.
      
      dict_sys_t::frozen_not_locked(): Return whether any thread is
      holding a shared dict_sys.latch.
      
      In the test main.mysql_upgrade, the InnoDB persistent statistics
      will no longer be recalculated in ha_innobase::open() as part of
      CHECK TABLE ... FOR UPGRADE. They were deleted earlier in the test.
      
      Tested by: Matthias Leich
      e572c745
    • Marko Mäkelä's avatar
      Merge 10.4 into 10.5 · a732d5e2
      Marko Mäkelä authored
      a732d5e2
    • Marko Mäkelä's avatar
      8fb176c3
    • Marko Mäkelä's avatar
      Work around MDEV-24813 in main.rowid_filter_innodb_debug · 12f20c15
      Marko Mäkelä authored
      Let us avoid excessive allocation of explicit record locks.
      12f20c15
    • Marko Mäkelä's avatar
      Merge 10.3 into 10.4 · 93b4f84a
      Marko Mäkelä authored
      93b4f84a
    • Marko Mäkelä's avatar
      MDEV-29856 heap-use-after-poison in row_merge_spatial_rows() w/ column prefix · 2ef2e232
      Marko Mäkelä authored
      spatial_index_info: Replaces index_tuple_info_t. Always take
      a memory heap as a parameter to the member functions.
      Remove pointer indirection for m_dtuple_vec.
      
      spatial_index_info::add(): Duplicate any PRIMARY KEY fields that would
      point to within ext->buf because that buffer will be allocated in
      a shorter-lifetime memory heap.
      2ef2e232
    • Thirunarayanan Balathandayuthapani's avatar
      MDEV-28797 Assertion `page_rec_is_user_rec(rec)' failed in PageBulk::getSplitRec · f4519fb7
      Thirunarayanan Balathandayuthapani authored
      - During alter operation of compressed table, page split operation
      chooses the first record of the page as split record and it leads
      to empty left page. This issue caused by the commit 77b3959b (MDEV-28457).
      
      page_rec_is_second(), page_rec_is_second_last(): Removed the functions
      since it is a deadcode.
      f4519fb7
    • Thirunarayanan Balathandayuthapani's avatar
      MDEV-29853 Assertion `!strstr(table->name.m_name, "/FTS_") ||... · db85d8b0
      Thirunarayanan Balathandayuthapani authored
      MDEV-29853  Assertion `!strstr(table->name.m_name, "/FTS_") || purge_sys.must_wait_FTS()' failed in trx_t::commit
      
        - Failing debug assertion is to indicate whether the purge thread
      is waiting when fts auxilary table is being dropped. But assertion
      fails if the table name contains FTS_. So in fts_drop_table(), InnoDB
      sets the auxilary table flag in transaction modified table list.
      db85d8b0
    • Thirunarayanan Balathandayuthapani's avatar
      MDEV-29518 ASAN Failure on i_s query when tablespace does rename operation · 689e9512
      Thirunarayanan Balathandayuthapani authored
      - InnoDB information schema query access the tablespace name after
      getting freed by concurrent rename operation. To avoid this, InnoDB
      should take exclusive tablespace latch during rename operation
      and I_S query should take shared tablespace latch before accessing
      the name
      689e9512
    • Marko Mäkelä's avatar
      MDEV-29905 Change buffer operations fail to check for log file overflow · b737d09d
      Marko Mäkelä authored
      Every operation that is going to write redo log is supposed to
      invoke log_free_check() before acquiring any latches. If there
      is a risk of log buffer overrun, a log checkpoint would be
      triggered by that call.
      
      ibuf_merge_space(), ibuf_merge_in_background(),
      ibuf_delete_for_discarded_space(): Invoke log_free_check()
      when the current thread is not holding any page latches.
      
      Unfortunately, in lower-level code called from ibuf_insert()
      or ibuf_merge_or_delete_for_page(), some page latches may be
      held and a call to log_free_check() could hang.
      
      ibuf_set_bitmap_for_bulk_load(): Use the caller's mini-transaction.
      The caller should have invoked log_free_check() while not holding
      any page latches.
      b737d09d
    • Marko Mäkelä's avatar
      MDEV-23371: Crash in _db_doprnt_ via que_thr_step() · 49a0ad69
      Marko Mäkelä authored
      Something appears to be broken in the DBUG subsystem.
      Let us remove frequent calls to it from the InnoDB internal SQL interpreter
      that is used in the purge of transaction history.
      
      The DBUG_PRINT in que_eval_sql() can remain for now, because those
      operations are much less frequent.
      49a0ad69
    • Marko Mäkelä's avatar
      MDEV-13564 follow-up: Correct a bogus comment · 1e8189fc
      Marko Mäkelä authored
      This fixes up commit e3c39c0b
      1e8189fc
    • Marko Mäkelä's avatar
      9ac8be4e
    • Marko Mäkelä's avatar
      MDEV-22512: Disable frequently failing tests · 95e2595d
      Marko Mäkelä authored
      InnoDB crash recovery can run out of memory before
      commit 50324ce6 in
      MariaDB Server 10.5.
      
      Let us disable some frequently failing recovery tests
      in earlier versions.
      95e2595d
    • Vladislav Vaintroub's avatar
      MDEV-29822 - make mysqltest fail loudly when out of memory · e3a5a695
      Vladislav Vaintroub authored
      When allocation failed, fail consistently with error message and abort()
      by using flags MY_WME|MY_FAE with my_malloc() and friends.
      
      This ensures that better diagnostic information is available
      when mysqltest fails.
      e3a5a695
    • Marko Mäkelä's avatar
      Work around MDEV-24813 in some tests · 314ed9f5
      Marko Mäkelä authored
      Not creating explicit record locks will speed up the test.
      
      Also, disable the use of InnoDB persistent statistics in the test of
      MDEV-27270 to avoid intermittent failures in 10.6 or later
      (after commit 9608773f)
      due to the nondeterministic scheduling of STATS_AUTO_PERSISTENT.
      314ed9f5
    • Marko Mäkelä's avatar
      Remove an unused file · 456d4a50
      Marko Mäkelä authored
      The file plugin_exports became unused in
      commit fec844ac
      456d4a50
    • Marko Mäkelä's avatar
  4. 07 Nov, 2022 11 commits