1. 21 Jul, 2017 1 commit
    • Sergei Petrunia's avatar
      MDEV-13352: Server crashes in st_join_table::remove_duplicates · 17fc288b
      Sergei Petrunia authored
      Do not run the window function computation step when the select
      produces no rows (zero_result_cause!=NULL).
      This may cause reads from uninitialized memory.
      
      We still need to run the window function computation step when
      the output includes just one row  (for example
      SELECT MAX(col), RANK() OVER (...) FROM t1 WHERE 1=0).
      
      This fix also resolves an issue with queries with window functions
      producing an output row where should be none, like in
      SELECT ROW_NUMBER() FROM t1 WHERE 1=0.
      
      Updated a few test results in the existing tests to reflect this.
      17fc288b
  2. 17 Jul, 2017 2 commits
    • Alexander Kuleshov's avatar
      update .gitignore · bc75c57c
      Alexander Kuleshov authored
      during build on 10.2 following files are generated:
      
        * scripts/galera_new_cluster
        * scripts/galera_recovery
        * support-files/mariadb.service
        * support-files/mariadb.pp
      
      and they are untracked for git. Let's add them to .gitignore
      bc75c57c
    • Vladislav Vaintroub's avatar
      MDEV-13332 mariabackup from 10.2.x crashes with --ftwrl-* options · 013595f5
      Vladislav Vaintroub authored
      Fixed null pointer dereference in parsing "show full processlist" output
      with atoi().
      
      Some  Innodb background thread has NULL in 'Time' column,
      thus  backup would crash with when atoi is applied to null pointer.
      013595f5
  3. 15 Jul, 2017 1 commit
  4. 13 Jul, 2017 4 commits
  5. 12 Jul, 2017 3 commits
  6. 11 Jul, 2017 1 commit
  7. 09 Jul, 2017 6 commits
  8. 08 Jul, 2017 1 commit
  9. 07 Jul, 2017 5 commits
    • Sergei Golubchik's avatar
      compilation warning · 5789934f
      Sergei Golubchik authored
      5789934f
    • Marko Mäkelä's avatar
      MDEV-13267 At startup with crash recovery: mtr_t::commit_checkpoint(lsn_t,... · 42f657cd
      Marko Mäkelä authored
      MDEV-13267 At startup with crash recovery: mtr_t::commit_checkpoint(lsn_t, bool): Assertion `!recv_no_log_write' failed
      
      This is a bogus debug assertion failure that should be possible
      starting with MariaDB 10.2.2 (which merged WL#7142 via MySQL 5.7.9).
      
      While generating page-change redo log records is strictly out of the
      question during tat certain parts of crash recovery, the
      fil_names_clear() is only emitting informational MLOG_FILE_NAME
      and MLOG_CHECKPOINT records to guarantee that if the server is killed
      during or soon after the crash recovery, subsequent crash recovery
      will be possible.
      
      The metadata buffer that fil_names_clear() is flushing to the redo log
      is being filled by recv_init_crash_recovery_spaces(), right before
      starting to apply redo log, by invoking fil_names_dirty() on every
      discovered tablespace for which there are changes to apply.
      
      When it comes to Mariabackup (xtrabackup --prepare), it is strictly out
      of the question to generate any redo log whatsoever, because that could
      break the restore of incremental backups by causing LSN deviation.
      So, the fil_names_dirty() call must be skipped when restoring backups.
      
      recv_recovery_from_checkpoint_start(): Do not invoke fil_names_clear()
      when restoring a backup.
      
      mtr_t::commit_checkpoint(): Remove the failing assertion. The only
      caller is fil_names_clear(), and it must be called by
      recv_recovery_from_checkpoint_start() for normal server startup to be
      crash-safe. The debug assertion in mtr_t::commit() will still
      catch rogue redo log writes.
      42f657cd
    • Sergei Golubchik's avatar
      Merge branch '10.0' into 10.1 · 9e11e055
      Sergei Golubchik authored
      9e11e055
    • Marko Mäkelä's avatar
      f20693c2
    • Daniel Black's avatar
      travis: Debian build - minimise packages, enable ccache · 3b862aaa
      Daniel Black authored
      Even disabling the ccache on the Debian build didn't always prevent
      the Travis build running out of space.
      
      As an alternative strategy, the number of alternative compilers has been
      reduced to save space. This additional space has been partially reused
      by the ccache.
      
      Debian build specific packages have been removed from other builds.
      3b862aaa
  10. 06 Jul, 2017 14 commits
    • Sergei Golubchik's avatar
      after-merge fix for a7ed4644 · 6b99859f
      Sergei Golubchik authored
      (10.0+ changes, as specified in the MDEV)
      
      and remove unused variable (compiler warning)
      6b99859f
    • Sergei Golubchik's avatar
      Merge branch '5.5' into 10.0 · 89dc445a
      Sergei Golubchik authored
      89dc445a
    • Sergei Golubchik's avatar
      coverity medium warnings · 4d213135
      Sergei Golubchik authored
      4d213135
    • Marko Mäkelä's avatar
      Reduce a test so that it fails less frequently on buildbot · c89c4942
      Marko Mäkelä authored
      There is an inherent race condition between Mariabackup and the
      MariaDB server when the InnoDB redo log is being copied. It is
      possible that the tail of the circular redo log is overwriting
      the head of the log before Mariabackup gets a chance to read it.
      So, we reduce the test to generate less redo log. Also, enable
      the test on all supported innodb_page_size.
      c89c4942
    • Marko Mäkelä's avatar
      Merge 10.1 into 10.2 · d902d43c
      Marko Mäkelä authored
      d902d43c
    • Marko Mäkelä's avatar
      Mariabackup: Copy all of the redo log correctly · 99d52c45
      Marko Mäkelä authored
      xtrabackup_copy_log(), xtrabackup_copy_logfile():
      Change the Boolean parameter to an enum, with the values
      COPY_FIRST, COPY_ONLINE, COPY_LAST.
      
      xtrabackup_copy_log(): Return the latest scanned LSN,
      which may be less than the last copied LSN. Remove some
      dead code that was duplicating some logic that in 10.2
      has been moved to log_group_read_log_seg().
      
      log_copying_thread(): Correct the termination condition.
      
      stop_backup_threads(): Shut down the threads that were
      created during backup.
      99d52c45
    • Sergei Golubchik's avatar
      bugfix: long partition names · f305a7ce
      Sergei Golubchik authored
      f305a7ce
    • Marko Mäkelä's avatar
      Mariabackup: Remove unused parameters and fix some memory leaks · d7b21a49
      Marko Mäkelä authored
      Use GET_STR instead of GET_STR_ALLOC, so that the memory will
      cannot be leaked. For some reason, calling my_cleanup_options()
      on xb_server_options or xb_client_options would not work.
      d7b21a49
    • Vladislav Vaintroub's avatar
      mysqltest - increase size of the "die message". · 60e61708
      Vladislav Vaintroub authored
      This reduces the probability having output of external utilities
      (e.g mariabackup) truncated.
      60e61708
    • Vladislav Vaintroub's avatar
      MDEV-12445 : Rocksdb does not shutdown worker threads and aborts in memleak... · 6f1f9114
      Vladislav Vaintroub authored
      MDEV-12445 : Rocksdb does not shutdown worker threads and aborts in memleak check on server shutdown
      
      Disable memory leak check in debug server, if rocksdb is loaded.
      There is some subtle bug somewhere in 3rd party code we cannot
      do much about.
      
      The bug is manifested as follows
      
      Rocksdb does not shutdown worker threads, when plugin is shut down. Thus
      OS does not unload the library since there are some active threads using
      this library's code. Thus global destructors in the library do not run,
      and there is still some memory allocated when server exits.
      
      The workaround disables server's memory leak check, if rocksdb engine was
      loaded.
      6f1f9114
    • Vladislav Vaintroub's avatar
      Fix assertion in rocksb. · 53d6325d
      Vladislav Vaintroub authored
      Use thd_query_safe() to read query from a different connection.
      53d6325d
    • Marko Mäkelä's avatar
      MDEV-13247 innodb_log_compressed_pages=OFF breaks crash recovery of ROW_FORMAT=COMPRESSED tables · 2b5c9bc2
      Marko Mäkelä authored
      The option innodb_log_compressed_pages was contributed by
      Facebook to MySQL 5.6. It was disabled in the 5.6.10 GA release
      due to problems that were fixed in 5.6.11, which is when the
      option was enabled.
      
      The option was set to innodb_log_compressed_pages=ON by default
      (disabling the feature), because safety was considered more
      important than speed. The option innodb_log_compressed_pages=OFF
      can *CORRUPT* ROW_FORMAT=COMPRESSED tables on crash recovery
      if the zlib deflate function is behaving differently (producing
      a different amount of compressed data) from how it behaved
      when the redo log records were written (prior to the crash recovery).
      
      In MDEV-6935, the default value was changed to
      innodb_log_compressed_pages=OFF. This is inherently unsafe, because
      there are very many different environments where MariaDB can be
      running, using different zlib versions. While zlib can decompress
      data just fine, there are no guarantees that different versions will
      always compress the same data to the exactly same size. To avoid
      problems related to zlib upgrades or version mismatch, we must
      use a safe default setting.
      
      This will reduce the write performance for users of
      ROW_FORMAT=COMPRESSED tables. If you configure
      innodb_log_compressed_pages=ON, please make sure that you will
      always cleanly shut down InnoDB before upgrading the server
      or zlib.
      2b5c9bc2
    • Sergey Vojtovich's avatar
      Fixed build failure on Windows · 4e08cdf5
      Sergey Vojtovich authored
      4e08cdf5
    • Fredrik Fornwall's avatar
      Remove obsolete synonyms for access bits · 7e6a600d
      Fredrik Fornwall authored
      Replace S_IREAD, S_IWRITE and S_IEXEC with more modern equivalents.
      Fixes building for Android.
      7e6a600d
  11. 05 Jul, 2017 2 commits
    • Marko Mäkelä's avatar
      InnoDB: Remove a redundant condition and an outdated comment · 0ff62ad8
      Marko Mäkelä authored
      Since MariaDB 10.2.2, temporary table metadata is not written
      to the InnoDB data dictionary tables. Therefore,
      the DICT_TF2_TEMPORARY flag cannot be set in SYS_TABLES,
      except if there exist orphan temporary tables that were created
      before MariaDB 10.2.2.
      
      trx_resurrect_table_locks(): Do not skip temporary tables.
      If a resurrect transaction modified a temporary table that was
      created before MariaDB 10.2.2, that table would be treated
      internally as a persistent table. It is safer to resurrect
      locks than to skip the table, because the table would be modified
      on transaction rollback.
      0ff62ad8
    • Elena Stepanova's avatar
      MDEV-13248 binlog.binlog_parallel_replication_marks_row fails in buildbot · ec76945d
      Elena Stepanova authored
      The test did not handle correctly possible difference in system
      timezone. The fix is to remove non-functional setting of local
      time_zone and instead allow timestamp replacement to work with
      any date/time
      ec76945d