1. 07 Aug, 2020 8 commits
  2. 04 Aug, 2020 6 commits
    • Michael Widenius's avatar
      Added 'final' to some classes to improve generated code · 58e759a9
      Michael Widenius authored
      Final added to:
      - All reasonable classes inhereted from Field
      - All classes inhereted from Protocol
      - Almost all Handler classes
      - Some important Item classes
      
      The stripped size of mariadbd is just 4K smaller, but several object files
      showed notable improvements in common execution paths.
      - Checked field.o and item_sum.o
      
      Other things:
      - Added 'override' to a few class functions touched by this patch.
      - Removed 'virtual' from a new class functions that had/got 'override'
      - Changed Protocol_discard to inherit from Protocol instad of Protocol_text
      58e759a9
    • Oleksandr Byelkin's avatar
      Merge branch '10.4' into 10.5 · 48b5777e
      Oleksandr Byelkin authored
      48b5777e
    • Marko Mäkelä's avatar
      MDEV-23345 Assertion not_redundant() == old.not_redundant() · 9a156e1a
      Marko Mäkelä authored
      In commit fd9ca2a7 (MDEV-23295)
      we added a debug assertion, which caught a similar bug.
      
      prepare_inplace_alter_table_dict(): If we had promised that
      ALGORITHM=INPLACE or ALGORITHM=NOCOPY is supported, we must
      preserve the ROW_FORMAT.
      9a156e1a
    • Marko Mäkelä's avatar
      MDEV-23379 Deprecate&ignore InnoDB concurrency throttling parameters · bbd70fcc
      Marko Mäkelä authored
      The parameters innodb_thread_concurrency and innodb_commit_concurrency
      were useful years ago when both computing resources and the implementation
      of some shared data structures were limited. MySQL 5.0 or 5.1 had trouble
      scaling beyond 8 concurrent connections. Most of the scalability bottlenecks
      have been removed since then, and the transactions per second delivered
      by MariaDB Server 10.5 should not dramatically drop upon exceeding the
      'optimal' number of connections.
      
      Hence, enabling any concurrency throttling for InnoDB actually makes
      things worse. We have seen many customers mistakenly setting this to a
      small value like 16 or 64 and then complaining the server was slow.
      
      Ignoring the parameters allows us to remove some normally unused code
      and data structures, which could slightly improve performance.
      
      innodb_thread_concurrency, innodb_commit_concurrency,
      innodb_replication_delay, innodb_concurrency_tickets,
      innodb_thread_sleep_delay, innodb_adaptive_max_sleep_delay:
      Deprecate and ignore; hard-wire to 0.
      
      The column INFORMATION_SCHEMA.INNODB_TRX.trx_concurrency_tickets
      will always report 0.
      bbd70fcc
    • Daniel Black's avatar
      MDEV-23362: s3 postfix libz -> z · 7438fc4f
      Daniel Black authored
      7438fc4f
    • Daniel Black's avatar
      MDEV-23362: s3 - link to zlib · fd1d6969
      Daniel Black authored
      The function uncompress from the zlib libraries is used
      in s3_get_object in s3_func.c.
      fd1d6969
  3. 03 Aug, 2020 10 commits
    • Oleksandr Byelkin's avatar
      Merge branch '10.3' into 10.4 · 57325e47
      Oleksandr Byelkin authored
      57325e47
    • Oleksandr Byelkin's avatar
      Merge branch '10.2' into 10.3 · c32f71af
      Oleksandr Byelkin authored
      c32f71af
    • Sachin's avatar
      MDEV-23089 rpl_parallel2 fails in 10.5 · 706a7101
      Sachin authored
      Problem:- rpl_parallel2 was failing non-deterministically
      Analysis:-
      When FLUSH TABLES WITH READ LOCK is executed, it will allow all worker
      threads to complete their ongoing transactions and then it will pause them.
      At this state FTWRL will proceed to acquire global read lock. FTWRL first
      blocks threads from starting new commits, then upgrades the lock to block
      commit of existing transactions.
        Step1:
          FLUSH TABLES WITH READ LOCK - Blocks new commits
        Step2:
          * STOP SLAVE command enables 'force_abort=1' which unblocks workers,
            they continue to execute events.
          * T1: Waits in 'record_gtid' call to update 'gtid_slave_pos' table with
            its current GTID, but it is blocked becuase of Step1.
          * T2: Holds COMMIT lock and waits for T1 to commit.
        Step3:
          FLUSH TABLES WITH READ LOCK - Waiting to get BLOCK_COMMIT.
      This results in deadlock. When STOP SLAVE command allows paused workers to
      proceed, workers should skip the execution of all further events, similar
      to 'conservative' parallel mode.
      Solution:-
      We will assign 1 to skip_event_group when we are aborted in do_ftwrl_wait.
      rpl_parallel_entry->pause_sub_id is only reset when force_abort is off in
      rpl_pause_after_ftwrl.
      706a7101
    • Oleksandr Byelkin's avatar
      Merge branch '10.1' into 10.2 · 555c6632
      Oleksandr Byelkin authored
      555c6632
    • Sergei Petrunia's avatar
      Fix the typo in fix for MDEV-21472 · 8bca92c8
      Sergei Petrunia authored
      8bca92c8
    • Sergei Golubchik's avatar
      compilation error on bintar-centos6-amd64-debug · acfc500d
      Sergei Golubchik authored
      /home/buildbot/buildbot/build/storage/xtradb/mtr/mtr0mtr.cc:97:37: error: invalid access to non-static data member ‘fil_space_t::latch’  of NULL object [-Werror=invalid-offsetof]
      acfc500d
    • Alexander Barkov's avatar
      MDEV-23366 ROUND(18446744073709551615,rand()*0) returns a wrong result · 9840bb21
      Alexander Barkov authored
      Changing that in case of *INT and hex hybrid input:
      - ROUND(x,NULL) creates a column with the same type as x.
        The old code created a DOUBLE column, which was not relevant at all.
        This change simplifies the code a lot.
      
      - ROUND(x,non_constant) creates a column of the INT, BIGINT or DECIMAL
        data type (depending on the exact type of x).
        The old code created a column of the DOUBLE data type,
        which lead to precision loss. Hence MDEV-23366.
      
      - ROUND(bigint_30,negative_constant) creates a column of the DECIMAL(30,0)
        data type. The old code created DECIMAL(29,0), which looked strange:
        the data type promoted to a higher one, but max length reduced.
        Now the length attribute is preserved.
      9840bb21
    • Rucha Deodhar's avatar
      MDEV-21017: Assertion `!is_set() || (m_status == DA_OK_BULK && is_bulk_op())' · 97f7bfce
      Rucha Deodhar authored
      failed or late ER_PERIOD_FIELD_WRONG_ATTRIBUTES upon attempt to create
      existing table
      
      Analysis: Error state is not stored when field is checked in
      Table_period_info::check_field()
      Fix: Store error state by setting res to true.
      97f7bfce
    • Alexander Barkov's avatar
      MDEV-23367 ROUND(18446744073709551615,-1) returns a wrong result · 00f964ab
      Alexander Barkov authored
      This problem was fixed by MDEV-23368. Adding tests only.
      00f964ab
    • Elena Stepanova's avatar
      dc716da4
  4. 02 Aug, 2020 11 commits
  5. 01 Aug, 2020 5 commits