1. 27 Sep, 2019 1 commit
  2. 26 Sep, 2019 10 commits
    • Marko Mäkelä's avatar
      MDEV-20117 Assertion 0 failed in row_sel_get_clust_rec_for_mysql · 1f4ee3fa
      Marko Mäkelä authored
      The crash scenario is as follows:
      
      (1) A non-empty table exists.
      (2) MDEV-15562 instant ADD/DROP/reorder has been invoked.
      (3) Some purgeable undo log exists for the table.
      (4) The table becomes empty, containing not even any delete-marked records,
      only containing the hidden metadata record that was added in (2).
      (5) An instant ADD/DROP/reorder column is executed, and the table
      is emptied and the (2) metadata removed.
      (6) Purge processes an undo log record from (3), which will refer to
      a non-existent clustered index field, because the metadata that
      was created in (2) was remoeved in (5).
      
      We fix this by adjusting step (5) so that we will never remove the
      MDEV-15562-style metadata record. Removing the MDEV-11369 metadata
      record (instant ADD COLUMN to the end of the table) is completely
      fine at any time when the table becomes empty, because
      dict_index_t::n_fields will remain unchanged.
      
      innobase_instant_try(): Never remove the MDEV-15562 metadata record.
      
      page_cur_delete_rec(): Do not reset FIL_PAGE_TYPE when the
      MDEV-15562 metadata record is being removed as part of
      btr_cur_pessimistic_update() invoked by innobase_instant_try().
      1f4ee3fa
    • Marko Mäkelä's avatar
      Merge 10.3 into 10.4 · bb5afc7c
      Marko Mäkelä authored
      bb5afc7c
    • Marko Mäkelä's avatar
      Fix GCC 9 -Wmaybe-uninitialized · 46facaed
      Marko Mäkelä authored
      Always initialize ScopedStatementReplication::saved_binlog_format,
      so that GCC cannot emit a bogus warning about
      ScopedStatementReplication::~ScopedStatementReplication() using the
      variable.
      
      The code was originally introduced in
      commit d998da03.
      46facaed
    • Marko Mäkelä's avatar
      Merge 10.2 into 10.3 · 1cf0694d
      Marko Mäkelä authored
      1cf0694d
    • Marko Mäkelä's avatar
      MDEV-20675 Crash in SHOW ENGINE INNODB STATUS with innodb_force_recovery=5 · 3e4931cd
      Marko Mäkelä authored
      lock_print_info::operator(): Do not dereference purge_sys.query in case
      it is NULL. We would not initialize purge_sys if innodb_force_recovery
      is set to 5 or 6.
      
      The test case will be added by merge from 10.2.
      3e4931cd
    • Marko Mäkelä's avatar
      MDEV-19514 preparation: Extend innodb.innodb-change-buffer-recovery · 2d6719d7
      Marko Mäkelä authored
      Test innodb_read_only startup (which will be refused after a crash),
      and test also innodb_force_recovery=5, and extract some change buffer
      merge statistics. Omit any statistics about delete (purge) buffering,
      because purge could happen at any time.
      
      Use the sequence storage engine for populating the table.
      2d6719d7
    • Marko Mäkelä's avatar
      MDEV-20675 Crash in SHOW ENGINE INNODB STATUS with innodb_force_recovery=5 · 23d67545
      Marko Mäkelä authored
      Add a test case. MariaDB Server 10.2 is not affected.
      23d67545
    • Marko Mäkelä's avatar
      Merge 10.1 into 10.2 · 574ff87f
      Marko Mäkelä authored
      574ff87f
    • Marko Mäkelä's avatar
      MDEV-13564 follow-up: Remove dead code · e3c39c0b
      Marko Mäkelä authored
      In MariaDB 10.4.0, commit 09af00cb
      removed the crash-upgrade logic for the MariaDB 10.2
      innodb_safe_truncate=OFF TRUNCATE TABLE (which was the only option
      between MariaDB 10.2.2 and 10.2.18), but failed to adjust some
      comments and code.
      
      buf_page_io_complete(): Remove a bogus comment about TRUNCATE.
      
      dict_recreate_index_tree(): Unused function; remove.
      
      fil_space_t::stop_new_ops: Clarify the comment.
      
      fil_space_acquire_low(): Remove a bogus comment about TRUNCATE.
      
      fil_check_pending_ops(), fil_check_pending_io(): Adjust a warning message.
      This code is only invoked as part of DISCARD TABLESPACE or DROP TABLE.
      DROP TABLE is internally used as part of ALTER TABLE, OPTIMIZE TABLE,
      or TRUNCATE TABLE.
      
      RemoteDatafile::create_link_file(): Clarify a comment.
      
      ibuf_delete_for_discarded_space(): Clarify the function comment.
      
      dict_table_x_lock_indexes(), dict_table_x_unlock_indexes():
      Merge with the only remaining caller, row_quiesce_set_state().
      
      page_create_zip(): Remove a bogus comment about TRUNCATE.
      e3c39c0b
    • Alexander Barkov's avatar
  3. 25 Sep, 2019 5 commits
  4. 24 Sep, 2019 15 commits
  5. 23 Sep, 2019 9 commits