1. 13 Apr, 2018 3 commits
  2. 12 Apr, 2018 4 commits
    • Vladislav Vaintroub's avatar
      MDEV-15779 - mariabackup incremental prepare fails on CIFS mount. · c2dc72c0
      Vladislav Vaintroub authored
      CIFS does not like O_DIRECT flag (it is set successfully, but pread would
      fail).
      
      The fix is not to use O_DIRECT, there is not need for it.
      posix_fadvise() was used already that should prevent buffer cache
      pollution on Linux.
      
      As recommended by documentation of posix_fadvise(), we'll also fsync()
      tablespaces after a batch of writes.
      c2dc72c0
    • Vladislav Vaintroub's avatar
      MDEV-15780 : Mariabackup with absolute paths in innodb_data_file_path · 15071226
      Vladislav Vaintroub authored
      System tablespace can be specified with absolute path, if innodb_data_home_dir
      is empty.
      
      This was not handled well  by mariabackup
      
      1. In backup phase, empty innodb_data_home_dir variable from server was
      not recognized. full paths were stored in backup-my.ini, even if
      it stored all files locally. thus prepare phase would not find the system
      tablespace files.
      
      2. In copy-back phase, copy would not be done to the absolute destination
      path, as path would be stripped with trim_dotslash
      
      This patch fixes the above defects.
      15071226
    • Jan Lindström's avatar
      MDEV-12632: Source and destination overlap in memcpy,... · 0ae13b51
      Jan Lindström authored
      MDEV-12632: Source and destination overlap in memcpy, encryption.innodb-discard-import-change fails in buildbot with valgrind
      
      Problem was that if tablespace was encrypted we try to copy
      also page 0 from read buffer to write buffer that are in
      that case the same memory area.
      
      fil_iterate
      	When tablespace is encrypted or compressed its
              first page (i.e. page 0) is not encrypted or
      	compressed and there is no need to copy buffer.
      0ae13b51
    • Jan Lindström's avatar
      MDEV-12903: encryption.innodb_encryption_discard_import fails in buildbot with FOUND vs NOT FOUND · 9518ddd1
      Jan Lindström authored
      Wait until rotation has ended and shutdown before grep to make sure
      that dirty pages are on datafiles.
      9518ddd1
  3. 11 Apr, 2018 5 commits
  4. 10 Apr, 2018 4 commits
  5. 09 Apr, 2018 6 commits
  6. 08 Apr, 2018 3 commits
  7. 07 Apr, 2018 4 commits
  8. 06 Apr, 2018 11 commits
    • Jan Lindström's avatar
    • Daniele Sciascia's avatar
      MDEV-13549 Fix test galera.galera_wsrep_desync_wsrep_on · 7925cdff
      Daniele Sciascia authored
      The test tends to fail if many parallel instances of it are executed:
      
      ```
      mysqltest: At line 23: query 'ALTER TABLE t1 ADD PRIMARY KEY (f1)' failed:
      1317: Query execution was interrupted
      ```
      
      The `ALTER` fails because it is BF aborted due to an earlier `INSERT SELECT`
      that is being applied:
      
      ```
      INSERT INTO t1 (f1) SELECT ...
      
      --connection node_2
      SET GLOBAL wsrep_desync = TRUE;
      SET SESSION wsrep_on = FALSE;
      
      ALTER TABLE t1 ADD PRIMARY KEY (f1);
      
      SET SESSION wsrep_on = TRUE;
      SET GLOBAL wsrep_desync = FALSE;
      ```
      
      And because the `ALTER` is executed with `wsrep_on = OFF`, it does not
      run in total order isolation.
      To avoid the problem it must be ensured that the `ALTER` only after the
      large `INSERT SELECT` is done. To do so it is sufficient to issue
      `SELECT COUNT(*) FROM t1;` from `node_2` before turning off wsrep.
      The `SELECT` will trigger `wsrep_sync_wait` and proceed only after the
      `INSERT SELECT` from node_1 is done.
      7925cdff
    • Marko Mäkelä's avatar
      Fix a compilation error · 8325d71f
      Marko Mäkelä authored
      8325d71f
    • Jan Lindström's avatar
      MDEV-15566: System tablespace does not easily key rotate to unencrypted · 81075d45
      Jan Lindström authored
      Problem was that key rotation from encrypted to unecrypted was skipped
      when encryption is disabled (i.e. set global innodb-encrypt-tables=OFF).
      
      fil_crypt_needs_rotation
              If encryption is disabled (i.e. innodb-encrypt-tables=off)
      	and there is tablespaces using default encryption (e.g.
      	system tablespace) that are still encrypted state we need
      	to rotate them from encrypted state to unencrypted state.
      81075d45
    • Jan Lindström's avatar
      MDEV-13549: Galera test failures · 3be6cef5
      Jan Lindström authored
      Fix test case galera_toi_ddl_nonconflicting as we need to wait
      until both alter tables are finished on that Galera node.
      3be6cef5
    • Sergey Vojtovich's avatar
      MDEV-15291 - OQGraph fails to build on FreeBSD · 400a8eb6
      Sergey Vojtovich authored
      Boost includes sys/param.h on FreeBSD, which in turn defines setbit()
      macro. This macro is conflicting with open_query::judy_bitset::setbit().
      
      Reordered includes such that oqgraph_judy.h never sees this macro.
      Also removed duplicate includes of graphcore-config.h, which is included
      by graphcore-graph.h/oqgraph_shim.h/oqgraph_thunk.h.
      400a8eb6
    • Marko Mäkelä's avatar
      MDEV-14705: Follow-up fixes · 3498a656
      Marko Mäkelä authored
      buf_flush_remove(): Disable the output for now, because we
      certainly do not want this after every page flush on shutdown.
      It must be rate-limited somehow. There already is a timeout
      extension for waiting the page cleaner to exit in
      logs_empty_and_mark_files_at_shutdown().
      
      log_write_up_to(): Use correct format.
      
      srv_purge_should_exit(): Move the timeout extension to the
      appropriate place, from one of the callers.
      3498a656
    • Jan Lindström's avatar
      MDEV-13549: Galera test failures · d61ed5dd
      Jan Lindström authored
      Fix test case galera.pxc-421 to reset auto_increment_offset
      correctly.
      d61ed5dd
    • Daniel Black's avatar
      MDEV-14705: slow innodb startup/shutdown can exceed systemd timeout · 1479273c
      Daniel Black authored
      Use systemd EXTEND_TIMEOUT_USEC to advise systemd of progress
      
      Move towards progress measures rather than pure time based measures.
      
      Progress reporting at numberious shutdown/startup locations incuding:
      * For innodb_fast_shutdown=0 trx_roll_must_shutdown() for rolling back incomplete transactions.
      * For merging the change buffer (in srv_shutdown(bool ibuf_merge))
      * For purging history, srv_do_purge
      
      Thanks Marko for feedback and suggestions.
      1479273c
    • Daniel Black's avatar
      MDEV-14705: Speed up InnoDB shutdown · e7f4e61f
      Daniel Black authored
      Suggested by Marko on github pr #576
      
      buf_all_freed only needs to be called once, not 3 times.
      
      buf_all_freed will always return TRUE if it returns.
      It will crash if any page was not flushed so its effectively
      an assert anyway.
      
      The following calls are likely redundant and could be removed:
      
      		fil_flush_file_spaces(FIL_TYPE_TABLESPACE);
      		fil_flush_file_spaces(FIL_TYPE_LOG);
      e7f4e61f
    • Marko Mäkelä's avatar
      MDEV-14705: Do not rollback on InnoDB shutdown · 76ec37f5
      Marko Mäkelä authored
      row_undo_step(): If fast shutdown has been requested, abort the
      rollback of any non-DDL transactions. Starting with MDEV-12323,
      we aborted the rollback of recovered transactions. These
      transactions would be rolled back on subsequent server startup.
      
      trx_roll_report_progress(): Renamed from trx_roll_must_shutdown(),
      now that the shutdown check has been moved to the only caller.
      76ec37f5