1. 02 Jan, 2020 1 commit
  2. 01 Jan, 2020 1 commit
    • Eugene Kosov's avatar
      MDEV-18115 Remove dummy tablespace for the redo log · 562c037b
      Eugene Kosov authored
      Redo log subsystem was decoupled from tablespace subsystem. It now manages file
      descriptors for redo log files by itself.
      
      FIL_TYPE_LOG: removed, code in various places was simplified
      
      SRV_LOG_SPACE_FIRST_ID: renamed to SRV_SPACE_ID_UPPER_BOUND
        to better match its purpose. Code in various places was simplified
      
      fil_n_log_flushes: replaced with log_sys::flushes
      fil_n_pending_log_flushes: replaced with log_sys::pending_flushes
      
      log_t::files::files: redo log file descriptors
      log_t::files::file_names: redo log file names
      
      log_t::files::set_file_names(): set file names without opening them
      log_t::files::open_files(): opens redo log files
      log_t::files::read(): treats several files as one big
      log_t::files::write(): treats several files as one big
      log_t::files::fsync(): flushes page cache to disk
      log_t::files::close_files(): closes redo log files
      
      fil_open_log_and_system_tablespace_files(): renamed to
        fil_open_system_tablespace_files()
        and obviously it now doesn't open redo log files
      
      global files[1000]: removed. Why it was needed at all?
      562c037b
  3. 30 Dec, 2019 3 commits
  4. 29 Dec, 2019 2 commits
    • Nikita Malyavin's avatar
      MDEV-18865 Assertion `t->first->versioned_by_id()' failed in innodb_prepare_commit_versioned · 4923604e
      Nikita Malyavin authored
      Cause:
      * row_start != 0 treated as it exists. Probably, possible row permutations had not been taken in mind.
      
      Solution:
      * Checking both row_start and row_end is correct, so versioned() function is used
      4923604e
    • Nikita Malyavin's avatar
      MDEV-18875 Assertion `thd->transaction.stmt.ha_list == __null || trans ==... · 720e9bd5
      Nikita Malyavin authored
      MDEV-18875 Assertion `thd->transaction.stmt.ha_list == __null || trans == &thd->transaction.stmt' failed or bogus ER_DUP_ENTRY upon ALTER TABLE with versioning
      
      Cause:
      * when autocommit=0 (or transaction is issued by user),
       `ha_commit_trans` is called twice on ALTER TABLE, causing a duplicated
       insert into `transaction_registry` (ER_DUP_ENTRY).
      
      Solution:
      * ALTER TABLE makes an implicit commit by a second call. We actually
       need to make an insert only when it is a real commit. So is_real
       variable is additionally checked.
      720e9bd5
  5. 27 Dec, 2019 10 commits
  6. 26 Dec, 2019 1 commit
    • Varun Gupta's avatar
      MDEV-21318: Wrong results with window functions and implicit grouping · 891609b5
      Varun Gupta authored
      The issue here is for degenerate joins we should execute the window
      function but it is not getting executed in all the cases.
      
      To get the window function values window function needs to be executed
      always. This currently does not happen in few cases
      where the join would return 0 or 1 row like
        1) IMPOSSIBLE WHERE
        2) MIN/MAX optimization
        3) EMPTY CONST TABLE
      
      The fix is to make sure that window functions get executed
      and the temporary table is setup for the execution of window functions
      891609b5
  7. 25 Dec, 2019 3 commits
  8. 24 Dec, 2019 4 commits
  9. 23 Dec, 2019 8 commits
    • Jan Lindström's avatar
      MDEV-20909 : Galera test failure on galera.galera_gcs_fc_limit: Server crash with signal 6 · 3fbd9f15
      Jan Lindström authored
      Add proper wait condition when provider options are restored.
      3fbd9f15
    • Sujatha's avatar
      MDEV-18648: slave_parallel_mode= optimistic default in 10.5 · 714762dd
      Sujatha authored
      Description:
      ============
      To change 'CONSERVATIVE' @@global.slave_parallel_mode default to 'OPTIMISTIC'
      in 10.5.
      
      @sql/sys_vars.cc
      Changed default parallel_mode to 'OPTIMISTIC'
      
      @sql/rpl_filter.cc
      Changed default parallel_mode to 'OPTIMISTIC'
      
      @sql/mysqld.cc
      Removed the initialization of 'SLAVE_PARALLEL_CONSERVATIVE' to
      'opt_slave_parallel_mode' variable.
      
      @mysql-test/suite/rpl/t/rpl_parallel_mdev6589.test
      @mysql-test/suite/rpl/t/rpl_mdev6386.test
      Added 'mtr' suppression to ignore 'ER_PRIOR_COMMIT_FAILED'. In case of
      'OPTIMISTIC' mode if a transaction gets killed during "wait_for_prior_commit"
      it results in above error "1964". Hence suppression needs to be added for this
      error.
      
      @mysql-test/suite/rpl/t/rpl_parallel_conflicts.test
      Test has a 'slave.opt' which explicitly sets slave_parallel_mode to
      'conservative'. When the test ends this mode conflicts with new default mode.
      Hence check test case reports an error. The 'slave.opt' is removed and options
      are set and reset within test.
      
      @mysql-test/suite/multi_source/info_logs.result
      @mysql-test/suite/multi_source/reset_slave.result
      @mysql-test/suite/multi_source/simple.result
      Result content mismatch in "show slave status" output. This is expected as new
      slave_parallel_mode='OPTIMISTIC'.
      
      @mysql-test/include/check-testcase.test
      Updated default 'slave_parallel_mode' to 'optimistic'.
      
      Refactored rpl_parallel.test into following test cases.
      Test case 1: @mysql-test/suite/rpl/t/rpl_parallel_domain.test
      Test case 2: @mysql-test/suite/rpl/t/rpl_parallel_domain_slave_single_grp.test
      Test case 3: @mysql-test/suite/rpl/t/rpl_parallel_single_grpcmt.test
      Test case 4: @mysql-test/suite/rpl/t/rpl_parallel_stop_slave.test
      Test case 5: @mysql-test/suite/rpl/t/rpl_parallel_slave_bgc_kill.test
      Test case 6: @mysql-test/suite/rpl/t/rpl_parallel_gco_wait_kill.test
      Test case 7: @mysql-test/suite/rpl/t/rpl_parallel_free_deferred_event.test
      Test case 8: @mysql-test/suite/rpl/t/rpl_parallel_missed_error_handling.test
      Test case 9: @mysql-test/suite/rpl/t/rpl_parallel_innodb_lock_conflict.test
      Test case 10: @mysql-test/suite/rpl/t/rpl_parallel_gtid_slave_pos_update_fail.test
      Test case 11: @mysql-test/suite/rpl/t/rpl_parallel_wrong_exec_master_pos.test
      Test case 12: @mysql-test/suite/rpl/t/rpl_parallel_partial_binlog_trans.test
      Test case 13: @mysql-test/suite/rpl/t/rpl_parallel_ignore_error_on_rotate.test
      Test case 14: @mysql-test/suite/rpl/t/rpl_parallel_wrong_binlog_order.test
      Test case 15: @mysql-test/suite/rpl/t/rpl_parallel_incorrect_relay_pos.test
      Test case 16: @mysql-test/suite/rpl/t/rpl_parallel_retry_deadlock.test
      Test case 17: @mysql-test/suite/rpl/t/rpl_parallel_deadlock_corrupt_binlog.test
      Test case 18: @mysql-test/suite/rpl/t/rpl_parallel_mode.test
      Test case 19: @mysql-test/suite/rpl/t/rpl_parallel_analyze_table_hang.test
      Test case 20: @mysql-test/suite/rpl/t/rpl_parallel_record_gtid_wakeup.test
      Test case 21: @mysql-test/suite/rpl/t/rpl_parallel_stop_on_con_kill.test
      Test case 22: @mysql-test/suite/rpl/t/rpl_parallel_rollback_assert.test
      714762dd
    • Jan Lindström's avatar
      MDEV-21189 : Dropping partition with 'wsrep_OSU_method=RSU' and 'SESSION... · 17b1b811
      Jan Lindström authored
      MDEV-21189 : Dropping partition with 'wsrep_OSU_method=RSU' and 'SESSION sql_log_bin = 0' cases the galera node to hang
      
      Test cleanup. Best practice for using RSU, is to isolate the node
      up-front, so this test did not reflect real world scenario
      17b1b811
    • Jan Lindström's avatar
      MDEV-21189 : Dropping partition with 'wsrep_OSU_method=RSU' and 'SESSION... · cc9c55b2
      Jan Lindström authored
      MDEV-21189 : Dropping partition with 'wsrep_OSU_method=RSU' and 'SESSION sql_log_bin = 0' cases the galera node to hang
      
      Test cleanup. Best practice for using RSU, is to isolate the node
      up-front, so this test did not reflect real world scenario
      cc9c55b2
    • Thirunarayanan Balathandayuthapani's avatar
      MDEV-19176 Reduce the memory usage during recovery · 90ba87cb
      Thirunarayanan Balathandayuthapani authored
      - post-push to fix the compilation issue
      90ba87cb
    • Thirunarayanan Balathandayuthapani's avatar
      MDEV-19176 Reduce the memory usage during recovery · bba59abb
      Thirunarayanan Balathandayuthapani authored
      - Moved the recv_sys->heap memory condition inside recv_parse_log_recs().
      So that, InnoDB can mark the status as STORE_NO earlier.
      
      - InnoDB uses one third of buffer pool chunk size for reading the redo
      log records. In that case, we can avoid the scenario where buffer ran
      out of memory issue during recovery.
      bba59abb
    • Marko Mäkelä's avatar
      a59a015a
    • Marko Mäkelä's avatar
      Merge 10.1 into 10.2 · 73985d83
      Marko Mäkelä authored
      73985d83
  10. 21 Dec, 2019 7 commits