1. 19 Nov, 2014 2 commits
  2. 17 Nov, 2014 1 commit
  3. 12 Nov, 2014 1 commit
  4. 11 Nov, 2014 1 commit
  5. 06 Nov, 2014 1 commit
    • Jan Lindström's avatar
      MDEV-6936: Buffer pool list scan optimization · a03dd94b
      Jan Lindström authored
      Merged Facebook commit 617aef9f911d825e9053f3d611d0389e02031225
      authored by Inaam Rana to InnoDB storage engine (not XtraDB)
      from https://github.com/facebook/mysql-5.6
      
      WL#7047 - Optimize buffer pool list scans and related batch processing
      
      Reduce excessive scanning of pages when doing flush list batches. The
      fix is to introduce the concept of "Hazard Pointer", this reduces the
      time complexity of the scan from O(n*n) to O.
      
      The concept of hazard pointer is reversed in this work. Academically
      hazard pointer is a pointer that the thread working on it will declar
      such and as long as that thread is not done no other thread is allowe
      do anything with it.
      
      In this WL we declare the pointer as a hazard pointer and then if any
      thread attempts to work on it, it is allowed to do so but it has to a
      the hazard pointer to the next valid value. We use hazard pointer sol
      reverse traversal of lists within a buffer pool instance.
      
      Add an event to control the background flush thread. The background f
      thread wait has been converted to an os event timed wait so that it c
      signalled by threads that want to kick start a background flush when
      buffer pool is running low on free/dirty pages.
      a03dd94b
  6. 05 Nov, 2014 1 commit
  7. 04 Nov, 2014 3 commits
  8. 03 Nov, 2014 3 commits
  9. 30 Oct, 2014 2 commits
  10. 29 Oct, 2014 4 commits
    • Jan Lindström's avatar
      MDEV-6932: Enable Lazy Flushing · 2bf3e416
      Jan Lindström authored
      Merge Facebook commit 4f3e0343fd2ac3fc7311d0ec9739a8f668274f0d
      authored by Steaphan Greene from https://github.com/facebook/mysql-5.6
      
      Adds innodb_idle_flush_pct to enable tuning of the page flushing rate
      when the system is relatively idle. We care about this, since doing
      extra unnecessary flash writes shortens the lifespan of the flash.
      2bf3e416
    • Jan Lindström's avatar
      MDEV-6935: Change the default value for innodb_log_compressed_pages to false · 58888e2c
      Jan Lindström authored
      Merge Facebook commit ca40b4417fd224a68de6636b58c92f133703fc68
      authored by Steaphan Greene from https://github.com/facebook/mysql-5.6
      Change the default value for innodb_log_compressed_pages to false
      
      Logging these pages is a waste. We don't want this to be enabled.
      
      One caution here: If the zlib version used by innodb is changed, but
      the running version is still the previous version, and the running
      version crashes, it is possible crash recovery could fail.
      
      When crash recovery uses a zlib version at all different than the
      version used by the crashed instance, it is possible that a redone
      compression could fail, where the original did not, because the new
      zlib version compresses the same data to a slightly larger size.
      
      Because of the nature of compression, this is even possible when
      upgrading to a version of zlib which actually peforms overall better
      compression than the previous version.
      
      If this happens, mysql will fail to recover, since a page split can
      not be safely triggered during crash recovery.
      
      So, either the exact zlib version must be controlled between builds,
      or these rare recovery failures must be accepted. The cost of
      logging these pages is quite high, so we consider this limitation to
      be worthwhile.
      
      This failure scenario can not happen if there was a clean shutdown.
      This is only relevant to restarting crashed instances, or starting an
      instance built via a hot backup too (XtraBackup).
      58888e2c
    • Jan Lindström's avatar
      MDEV-6968: CREATE TABLE crashes with InnoDB plugin · 2d2d11f0
      Jan Lindström authored
      Analysis: fil_extend_space_to_desired_size() does not provide file
      node to os_aio(). This failed on Windows only because on Windows
      we do not use posix_fallocate() to extend file space.
      
      Fix: Add file node to os_aio() function call and make sure that
      we do not use NULL pointer at os_aio_array_reserve_slot(). Additionally,
      make sure that we do not use 0 as file_block_size (512 is the minimum).
      2d2d11f0
    • Jan Lindström's avatar
      MDEV-6648: InnoDB: Add support for 4K sector size if supported · b96697d2
      Jan Lindström authored
      New generation hard drives, SSDs and NVM devices support 4K
      sector size. Supported sector size can be found using fstatvfs()
      or GetDiskFreeSpace() functions.
      b96697d2
  11. 28 Oct, 2014 2 commits
  12. 27 Oct, 2014 1 commit
  13. 24 Oct, 2014 1 commit
  14. 22 Oct, 2014 1 commit
  15. 21 Oct, 2014 1 commit
  16. 20 Oct, 2014 1 commit
  17. 19 Oct, 2014 1 commit
  18. 17 Oct, 2014 6 commits
  19. 15 Oct, 2014 3 commits
  20. 14 Oct, 2014 3 commits
  21. 13 Oct, 2014 1 commit