1. 28 Jan, 2020 3 commits
    • Thirunarayanan Balathandayuthapani's avatar
      MDEV-21351 Replace recv_sys.heap with list of buf_block_t · c2b7b931
      Thirunarayanan Balathandayuthapani authored
      - Added a debug assert to unfix the block after applying the redo log
      - Added store_recv in recv_sys_t::alloc() to make sure that
      recv_t and recv_t::data is in the same block
      - Added the assert which check buf_fix_count is 0 after applying
      all redo log records.
      c2b7b931
    • Marko Mäkelä's avatar
      4f47daf0
    • Thirunarayanan Balathandayuthapani's avatar
      MDEV-21351 Replace recv_sys.heap with list of buf_block_t · 44e06efa
      Thirunarayanan Balathandayuthapani authored
      - Remove recv_sys_t::heap, MEM_HEAP_FOR_RECV_SYS.
      - Replaced recv_n_pool_free_frames with recv_sys.max_log_blocks.
      - Removed available_mem variable in recv_parse_log_recs() and redo
      log blocks threshold check is done with the help of recv_sys.max_log_blocks.
      - Allocate the recv_sys.pages and its elements directly by
      the system allocator.
      - Allocate buffer pool blocks directly by buf_block_alloc().
      Use block->unzip_LRU for keeping track of allocated blocks.
      - Append log records to the last block, until the block->frame is
      filled up. (Similar to the current recv_sys.heap.)
      - Repurpose buf_block_t::modify_clock to store the length of the redo
      log data.
      - Use buf_block_t::page::buf_fix_count only in debug builds to count
      the number of pointers from recv_sys.pages.
      44e06efa
  2. 27 Jan, 2020 1 commit
  3. 24 Jan, 2020 2 commits
  4. 23 Jan, 2020 3 commits
    • Eugene Kosov's avatar
      redo log mics fixes · 34dafb7e
      Eugene Kosov authored
      os_file_flush_data_func(): fix builds on POSIX OSs where fdatasync()
      is not avaiable
      
      log_t::files::flush_data_only(): rename from fdatasync()
      
      log_t::files::fsync(): removed and replaced with flush_data_only().
      It will flush everything we need for using redo log files.
      34dafb7e
    • Vladislav Vaintroub's avatar
      MDEV-21551 : Assertion `m_active_threads.size() >= m_long_tasks_count +... · b19760b8
      Vladislav Vaintroub authored
      MDEV-21551 :  Assertion `m_active_threads.size() >= m_long_tasks_count + m_waiting_task_count' failed"
      
      Happened when running innodb_fts.sync_ddl
      
      m_long_task_count could be wrongly reset to 0, if m_task_queue is
      empty.
      b19760b8
    • Thirunarayanan Balathandayuthapani's avatar
      MDEV-21344: Uninitialized tbl_buf in dict_acquire_mdl_shared<false>() · 0e25a8b4
      Thirunarayanan Balathandayuthapani authored
      dict_table_t::parse_name(): Properly calculate the *tbl_name_len.
      
      A failure was easily repeatable during the test
      innodb.innodb-alter-debug for the table name test.① ("test/@2460").
      The UTF-8 representation of the U+2460 is only 3 bytes "\xe2\x91\xa0"
      while the filename-safe encoded counterpart of it in dict_table_t::name
      is 5 bytes "@2460".
      
      This bug, introduced by commit ea37b144
      (MDEV-16678), could cause a purge task to hang.
      0e25a8b4
  5. 22 Jan, 2020 8 commits
  6. 21 Jan, 2020 6 commits
  7. 20 Jan, 2020 10 commits
  8. 19 Jan, 2020 2 commits
  9. 18 Jan, 2020 4 commits
  10. 17 Jan, 2020 1 commit