1. 06 Mar, 2017 1 commit
    • Marko Mäkelä's avatar
      Replace some functions with macros. · 68d632bc
      Marko Mäkelä authored
      This is a non-functional change.
      
      On a related note, the calls fil_system_enter() and fil_system_exit()
      are often used in an unsafe manner. The fix of MDEV-11738 should
      introduce fil_space_acquire() and remove potential race conditions.
      68d632bc
  2. 03 Mar, 2017 3 commits
  3. 02 Mar, 2017 7 commits
    • Daniel Black's avatar
      MDEV-11610: support-files/mysql-log-rotate.sh not binlog either · d04d835f
      Daniel Black authored
      For the same reason as removing binlog rotation on Debian.
      d04d835f
    • Daniel Black's avatar
      MDEV-11610: Alter Debian log rotate to not rotate binary/relay logs · 156cf86d
      Daniel Black authored
      Rotating binary/relay logs can cause interuption to the processing
      on the server. Binary and relay logs have their own mechanism already
      for not getting out of control (expire_logs_days).
      
      By no longer rotating binary and relay logs log rotation is limited to
      the following logs:
      * error log
      * general log
      * slow query log
      
      Writing these to the binary log would cause any logrotation on the
      slave to occur twice, once due to this and another due to the log-
      rotate script on the slave. Now --local is passed to mysqladmin to
      prevent this duplication.
      156cf86d
    • Daniel Black's avatar
      MDEV-11610: mysqladmin flush-X-log options · 0af8b565
      Daniel Black authored
      Add the following options to mysqladmin
      
      +  flush-binary-log        Flush binary log
      +  flush-engine-log        Flush engine log(s)
      +  flush-error-log         Flush error log
      +  flush-general-log       Flush general log
      +  flush-relay-log         Flush relay log
      +  flush-user-resources    Flush user resources
      0af8b565
    • Daniel Black's avatar
      MDEV-11610: Add --local to mysqladmin · 33c1f20d
      Daniel Black authored
      33c1f20d
    • Daniel Black's avatar
      MDEV-11386: Advance Toochain library cache workaround (temporary) · 659047b8
      Daniel Black authored
      Due to the way Advance Toolchain before 10.0-3 and 8.0-8 is
      packaged, shared libraries installed after the library cache
      advance-toolchain-atX.Y-runtime package aren't updated in
      /opt/atX.Y/etc/ld.so.cache. This results in mysqld,
      configured with RUNPATH set to /opt/atX.Y/lib64, resulting
      in the Advance Toolchain loader being used and if libraries
      such as jemalloc, libssl or any other library that mysqld uses
      is installed after Advance Toolchain, these libraries aren't in
      the cache and therefore won't be found in the RPM postinstall
      when mysqld is executed by mysql_install_db.
      Signed-off-by: default avatarDaniel Black <daniel.black@au.ibm.com>
      659047b8
    • Sergey Vojtovich's avatar
      MDEV-11221 - main.events_restart failed in bb · 71f53bf7
      Sergey Vojtovich authored
      This is an addition to original fix. Buildbot revealed another sporadic failure
      in perfschema.threads_mysql test. Tests relies on data stored in
      performance_schema.threads, while performing waits on
      information_schema.processlist. These tables are not updated synchronously.
      
      Fixed by performing waits on performance_schema.threads instead.
      71f53bf7
    • Jan Lindström's avatar
      Merge pull request #312 from grooverdan/10.0-MDEV-10515-stat_tables_par-test-fix · 88b5eede
      Jan Lindström authored
      MDEV-10515: Correct stat_tables_par test results
      88b5eede
  4. 01 Mar, 2017 3 commits
    • Vladislav Vaintroub's avatar
    • Sergey Vojtovich's avatar
      Fixed missing DBUG_RETURN · c1c5b7a8
      Sergey Vojtovich authored
      c1c5b7a8
    • Sergey Vojtovich's avatar
      MDEV-11221 - main.events_restart failed in bb · e9ad4bdb
      Sergey Vojtovich authored
      Applied lost in a merge revision 7f38a070:
      
      MDEV-10043 - main.events_restart fails sporadically in buildbot (crashes upon
                   shutdown)
      
      There was race condition between shutdown thread and event worker threads.
      
      Shutdown thread waits for thread_count to become 0 in close_connections(). It
      may happen so that event worker thread was started but didn't increment
      thread_count by this time. In this case shutdown thread may miss wait for this
      working thread and continue deinitialization. Worker thread in turn may continue
      execution and crash on deinitialized data.
      
      Fixed by incrementing thread_count before thread is actually created like it is
      done for connection threads.
      
      Also let event scheduler not to inc/dec running threads counter for symmetry
      with other "service" threads.
      e9ad4bdb
  5. 28 Feb, 2017 15 commits
  6. 27 Feb, 2017 2 commits
    • Daniel Black's avatar
      MDEV-11619: mtr --mem {no argument of a directory} (#320) · b54566d7
      Daniel Black authored
      This removes functionality of where ./mtr --mem /tmp/dir could be a directory.
      
      Now MTR_MEM=/tmp/dir ./mtr is needed.
      
      The case where MTR_MEM=/tmp/dir ./mtr --mem has the equivalent effect.
      Signed-off-by: default avatarDaniel Black <daniel.black@au.ibm.com>
      
      --mem works better as a pure flag, because it can be followed by command-line arguments (test names). If the option is allowed to have a value, the test name which directly follows it will be treated as the option value instead. It is possible to implement workarounds to avoid this, but they would not be completely reliable, and there is no practical purpose of such extension of functionality to justify them.
      b54566d7
    • Oleksandr Byelkin's avatar
      MDEV-11935: Queries in stored procedures with and EXISTS(SELECT * FROM VIEW)... · e5b877ce
      Oleksandr Byelkin authored
      MDEV-11935: Queries in stored procedures with and EXISTS(SELECT * FROM VIEW) crashes and closes hte conneciton.
      
      Use correct start point even for taken out from subselect items in process of exists2in conversion.
      e5b877ce
  7. 26 Feb, 2017 1 commit
  8. 23 Feb, 2017 1 commit
  9. 22 Feb, 2017 5 commits
    • Marko Mäkelä's avatar
      Remove an unused variable. · 7f767303
      Marko Mäkelä authored
      7f767303
    • Marko Mäkelä's avatar
      MDEV-11520 after-merge fix for 10.1: Use sparse files. · ec4cf111
      Marko Mäkelä authored
      If page_compression (introduced in MariaDB Server 10.1) is enabled,
      the logical action is to not preallocate space to the data files,
      but to only logically extend the files with zeroes.
      
      fil_create_new_single_table_tablespace(): Create smaller files for
      ROW_FORMAT=COMPRESSED tables, but adhere to the minimum file size of
      4*innodb_page_size.
      
      fil_space_extend_must_retry(), os_file_set_size(): On Windows,
      use SetFileInformationByHandle() and FILE_END_OF_FILE_INFO,
      which depends on bumping _WIN32_WINNT to 0x0600.
      FIXME: The files are not yet set up as sparse, so
      this will currently end up physically extending (preallocating)
      the files, wasting storage for unused pages.
      
      os_file_set_size(): Add the parameter "bool sparse=false" to declare
      that the file is to be extended logically, instead of being preallocated.
      The only caller with sparse=true is
      fil_create_new_single_table_tablespace().
      (The system tablespace cannot be created with page_compression.)
      
      fil_space_extend_must_retry(), os_file_set_size(): Outside Windows,
      use ftruncate() to extend files that are supposed to be sparse.
      On systems where ftruncate() is limited to files less than 4GiB
      (if there are any), fil_space_extend_must_retry() retains the
      old logic of physically extending the file.
      ec4cf111
    • Marko Mäkelä's avatar
      Merge 10.0 into 10.1 · e1e920bf
      Marko Mäkelä authored
      e1e920bf
    • Marko Mäkelä's avatar
      MDEV-11520 post-fix · a0ce92dd
      Marko Mäkelä authored
      fil_extend_space_to_desired_size(): Use a proper type cast when
      computing start_offset for the posix_fallocate() call on 32-bit systems
      (where sizeof(ulint) < sizeof(os_offset_t)). This could affect 32-bit
      systems when extending files that are at least 4 MiB long.
      
      This bug existed in MariaDB 10.0 before MDEV-11520. In MariaDB 10.1
      it had been fixed in MDEV-11556.
      a0ce92dd
    • Marko Mäkelä's avatar
      MDEV-11520 Extending an InnoDB data file unnecessarily allocates · 81695ab8
      Marko Mäkelä authored
      a large memory buffer on Windows
      
      fil_extend_space_to_desired_size(), os_file_set_size(): Use calloc()
      for memory allocation, and handle failures. Properly check the return
      status of posix_fallocate(), and pass the correct arguments to
      posix_fallocate().
      
      On Windows, instead of extending the file by at most 1 megabyte at a time,
      write a zero-filled page at the end of the file.
      According to the Microsoft blog post
      https://blogs.msdn.microsoft.com/oldnewthing/20110922-00/?p=9573
      this will physically extend the file by writing zero bytes.
      (InnoDB never uses DeviceIoControl() to set the file sparse.)
      
      I tested that the file extension works properly with a multi-file
      system tablespace, both with --innodb-use-fallocate and
      --skip-innodb-use-fallocate (the default):
      
      ./mtr \
      --mysqld=--innodb-use-fallocate \
      --mysqld=--innodb-autoextend-increment=1 \
      --mysqld=--innodb-data-file-path='ibdata1:5M;ibdata2:5M:autoextend' \
      --parallel=auto --force --retry=0 --suite=innodb &
      
      ls -lsh mysql-test/var/*/mysqld.1/data/ibdata2
      (several samples while running the test)
      81695ab8
  10. 21 Feb, 2017 1 commit
  11. 20 Feb, 2017 1 commit