1. 11 May, 2021 1 commit
  2. 10 May, 2021 6 commits
    • Marko Mäkelä's avatar
      Merge 10.5 into 10.6 · f8665314
      Marko Mäkelä authored
      f8665314
    • Marko Mäkelä's avatar
      Merge 10.4 into 10.5 · 0e1437e1
      Marko Mäkelä authored
      0e1437e1
    • Marko Mäkelä's avatar
      Merge 10.3 into 10.4 · 8c73fab7
      Marko Mäkelä authored
      8c73fab7
    • Marko Mäkelä's avatar
      Merge 10.2 into 10.3 · 98e61598
      Marko Mäkelä authored
      98e61598
    • Sujatha's avatar
      MDEV-19371: Implement binlog_expire_logs_seconds for purging of binary logs · 1ef3207c
      Sujatha authored
      Part2: Test scripts
      1ef3207c
    • Sujatha's avatar
      MDEV-19371: Implement binlog_expire_logs_seconds for purging of binary logs · 49ff2cbf
      Sujatha authored
      Part1: Functional changes
      
      Backporting upstream changes.
      commit a7e1ef858ee82493dd8ad9a76bc9c22fe3b8c05b
      Author: Neha Kumari <neha.n.kumari@oracle.com>
      Note:
      From the upstream patch only the new option binlog_expire_logs_seconds
      specific changes are taken.
      
      * Unlike in the upstream patch 'binlog_expire_logs_seconds' does not
        replace the "old" 'expire_logs_days', to preserve backward-compatibility.
      
      * Datatype of 'expire_logs_days' variable is changed to double.
      
      * Default value of 'binlog_expire_logs_seconds=0' similar to
        'expire_logs_days'.
      
      * The purge_time can be specified in days with the micro-day precision.
        Eg:
        expire_logs_days=1 is the same as expire_logs_days=1.000000 to make
          binlog_expire_logs_seconds=86400.
        binlog_expire_logs_seconds=1 is the same as expire_logs_days=0.000012.
      
      * If binary log is disabled and option 'expire_logs_days' or
        'binlog_expire_logs_seconds' used with purge_time > 0 a warning will be
        issued.
      49ff2cbf
  3. 09 May, 2021 6 commits
  4. 08 May, 2021 5 commits
  5. 07 May, 2021 10 commits
  6. 06 May, 2021 3 commits
    • Marko Mäkelä's avatar
      MDEV-25506 (2 of 3): Kill during DDL leaves orphan .ibd file · 2ceadb39
      Marko Mäkelä authored
      dict_drop_index_tree(): Even if SYS_INDEXES.PAGE contains the
      special value FIL_NULL, the tablespace identified by SYS_INDEXES.SPACE
      may exist and may need to be dropped. This would definitely be the case
      if the server had been killed right after a FILE_CREATE record was
      persistently written during CREATE TABLE, but before the transaction
      was committed.
      
      btr_free_if_exists(): Simplify the interface, to avoid repeated
      tablespace lookup.
      
      One more scenario is known to be broken: If the server is killed
      during DROP TABLE (or table-rebuilding ALTER TABLE) right after a
      FILE_DELETE record has been persistently written but before the
      file was deleted, then we could end up recovering no tablespace
      at all, and failing to delete the file, in either of fil_name_process()
      or dict_drop_index_tree().
      
      Thanks to Elena Stepanova for providing "rr replay" and data directories
      of these scenarios.
      2ceadb39
    • Marko Mäkelä's avatar
      MDEV-18518 follow-up fixes · cc2ddde4
      Marko Mäkelä authored
      Make DDL operations that involve FULLTEXT INDEX atomic.
      In particular, we must drop the internal FTS_ tables in the same
      DDL transaction with ALTER TABLE.
      
      Remove all references to fts_drop_orphaned_tables().
      
      row_merge_drop_temp_indexes(): Drop also the internal FTS_ tables
      that are associated with index stubs that were created in
      prepare_inplace_alter_table_dict() for
      CREATE FULLTEXT INDEX before the server was killed.
      
      fts_clear_all(): Remove the fts_drop_tables() call. It has to be
      executed before the transaction is committed!
      
      dict_load_indexes(): Do not load any metadata for index stubs
      that had been created by prepare_inplace_alter_table_dict()
      
      fts_create_one_common_table(), fts_create_common_tables(),
      fts_create_one_index_table(), fts_create_index_tables():
      Remove redundant error handling. The tables will be dropped
      just fine by dict_drop_index_tree().
      
      commit_try_norebuild(): Also drop the FTS_ tables when dropping
      FULLTEXT INDEX.
      
      The changes to the test case innodb_fts.crash_recovery has been
      extensively tested. The non-debug server will be killed while
      the 3 ALTER TABLE are in any phase of execution. With the debug
      server, DEBUG_SYNC should make the test deterministic.
      cc2ddde4
    • Alexey Yurchenko's avatar
      MDEV-25418: Improve mariabackup SST script compliance with native MariaDB SSL practices · 54d7ba96
      Alexey Yurchenko authored
      and configuration.
      
      1. Pass joiner's authentication information to donor together with address
         in State Transfer Request. This allows joiner to authenticate donor on
         connection. Previously joiner would accept data from anywhere.
      
      2. Deprecate custom SSL configuration variables tca, tcert and tkey in favor
         of more familiar ssl-ca, ssl-cert and ssl-key. For backward compatibility
         tca, tcert and tkey are still supported.
      
      3. Allow falling back to server-wide SSL configuration in [mysqld] if no SSL
         configuration is found in [sst] section of the config file.
      
      4. Introduce ssl-mode variable in [sst] section that takes standard values
         and has following effects:
          - old-style SSL configuration present in [sst]: no effect
            otherwise:
          - ssl-mode=DISABLED or absent: retains old, backward compatible behavior
            and ignores any other SSL configuration
          - ssl-mode=VERIFY*: verify joiner's certificate and CN on donor,
                              verify donor's secret on joiner
                              (passed to donor via State Transfer Request)
                              BACKWARD INCOMPATIBLE BEHAVIOR
          - anything else enables new SSL configuration convetions but does not
            require verification
      
          ssl-mode should be set to VERIFY only in a fully upgraded cluster.
      
          Examples:
      
          [mysqld]
          ssl-cert=/path/to/cert
          ssl-key=/path/to/key
          ssl-ca=/path/to/ca
      
          [sst]
      
           -- server-wide SSL configuration is ignored, SST does not use SSL
      
          [mysqld]
          ssl-cert=/path/to/cert
          ssl-key=/path/to/key
          ssl-ca=/path/to/ca
      
          [sst]
          ssl-mode=REQUIRED
      
           -- use server-wide SSL configuration for SST but don't attempt to
              verify the peer identity
      
          [sst]
          ssl-cert=/path/to/cert
          ssl-key=/path/to/key
          ssl-ca=/path/to/ca
          ssl-mode=VERIFY_CA
      
           -- use SST-specific SSL configuration for SST and require verification
              on both sides
      Signed-off-by: default avatarJulius Goryavsky <julius.goryavsky@mariadb.com>
      54d7ba96
  7. 05 May, 2021 9 commits