1. 11 Aug, 2017 1 commit
    • Daniele Sciascia's avatar
      MW-357 Reset thd->wsrep_apply_toi regardless of applier exiting · 77f5b188
      Daniele Sciascia authored
      Applier does not reset thd->wsrep_apply_toi if applier thread decides
      to exit by setting 'exit= true'. The problem is that galera side may
      decide not to kill the applier thread: for instance if we try to
      SET wsrep_slave_threads = 0; then galera refuses to kill the last
      applier thread. If this happens we are left with a thd which has not
      been reset to the initial state.
      This patch ensures that the thd is reset regardless of the applier
      thread exiting or not.
      77f5b188
  2. 10 Aug, 2017 1 commit
    • Jan Lindström's avatar
      MDEV-13471: Test failure on innodb.log_file_size,4k · 391b1af0
      Jan Lindström authored
      Problem was that 4k page size is not really supported in
      Galera. For reference see:
      	codership/galera#398
      
      Page size 4k is problematic because WSREP XID info location
      that was set to constant UNIV_PAGE_SIZE - 3500 and that is conflicting
      with rseg undo slots location if there is lot of undo tablespaces.
      Undo tablespace identifiers and page numbers require
      at least 126*8=1024 bytes starting from offset 56. Therefore,
      WSREP XID startig from offset 596 would overwrite several
      space_id,page_no pairs starting from 72th undo log tablespace
      space_id,page_no pair at offset 594.
      This will cause InnoDB startup failure seen as
      [ERROR] InnoDB: Unable to open undo tablespace './undo30579'.
      
      Originally, the undo tablespace ID would always be between
      0 and 127. Starting with MySQL 5.6.36 which introduced
      Bug #25551311 BACKPORT BUG #23517560 REMOVE SPACE_ID RESTRICTION
      FOR UNDO TABLESPACES (merged to MariaDB 10.0.31)
      it is possible for an undo tablespace ID to be 0x7773. But in
      this case, the page number should be 3, not 0x72650003.
      This is just the first collision. The WSREP XID data would
      overwrite subsequent slots.
      
      trx0sys.h
      
      trx0sys.cc
      	Code formatting and add comments.
      391b1af0
  3. 09 Aug, 2017 1 commit
  4. 04 Aug, 2017 2 commits
  5. 03 Aug, 2017 8 commits
  6. 02 Aug, 2017 2 commits
  7. 01 Aug, 2017 9 commits
  8. 30 Jul, 2017 5 commits
  9. 29 Jul, 2017 3 commits
  10. 27 Jul, 2017 5 commits
  11. 24 Jul, 2017 1 commit
  12. 22 Jul, 2017 1 commit
  13. 21 Jul, 2017 1 commit
    • Jan Lindström's avatar
      MDEV-13325: InnoDB assert dict_sys->size > 0 during ALTER TABLE · 92cbe388
      Jan Lindström authored
      Problem was that dict_sys->size tries to maintain used memory
      occupied by the data dictionary table and index objects.
      However at least on table objects table->heap size can increase
      between when table object is inserted to dict_sys and when
      it is removed from dict_sys causing inconsistency on amount
      of memory added to and removed from dict_sys->size variable.
      
      Removed unnecessary dict_sys:size variable as it is really
      used only for status output.
      
      Introduced dict_sys_get_size function to calculate memory
      occupied by the data dictionary table and index objects
      that is then used on show engine innodb output.
      
      dict_table_add_to_cache(),
      dict_table_rename_in_cache(),
      dict_table_remove_from_cache_low(),
      dict_index_remove_from_cache_low(),
      	Remove size calculation.
      
      srv_printf_innodb_monitor(): Use dict_sys_get_size function to
      get dictionary memory allocated.
      
      xtradb_internal_hash_tables_fill_table(): Use dict_sys_get_size
      function to get dictionary memory allocated.
      92cbe388