1. 05 Apr, 2019 1 commit
  2. 04 Apr, 2019 3 commits
  3. 03 Apr, 2019 12 commits
  4. 02 Apr, 2019 9 commits
    • Sergei Golubchik's avatar
      MDEV-18298 Crashes server with segfault during role grants · 65d758aa
      Sergei Golubchik authored
      it was supposed to be `*(p-1)` not `*p-1`
      (the crash happens if `*p==0`)
      65d758aa
    • Sergei Golubchik's avatar
      cmake: only search for libraries that are needed · 409f69cd
      Sergei Golubchik authored
      in particular, don't search for libjemalloc.a, which is only
      needed for tokudb's ftcxx tests, when the tests aren't going
      to be built.
      409f69cd
    • Sergei Golubchik's avatar
      cmake: fix krb5 detection on SUSE · 7b527e63
      Sergei Golubchik authored
      `zypper install krb5-devel` installs executables outside of $PATH.
      It also installs /etc/profile.d/krb5.sh that is sourced by a new
      shell to add the new location to the $PATH. But this doesn't affect
      the current shell.
      
      Now decent Linux distros remind the user to run `. /etc/profile`
      to reload paths in such a case. SUSE doesn't and for a good reason -
      it doesn't work there. Because SUSE sets PROFILEREAD=true in the
      environment and /etc/profile does not do anything.
      
      By this point, one should not really expect `unset PROFILEREAD` to help,
      and it does not - PROFILEREAD is readonly, and cannot be unset.
      
      Apparently SUSE really *really* wants you to re-login between installing
      MariaDB build dependencies and actually running the rpmbuild.
      
      Which we cannot do it buildbot. And it would look very user-un-friendly
      in the Build Instructions section of the manual.
      
      So, we work around it - by adding SUSE krb5 path to the search list.
      
      THIS IS SUSEEEEEE!!!
      7b527e63
    • Sergei Golubchik's avatar
      speedup RPM builds · 0b2042fd
      Sergei Golubchik authored
      Filter out most common file types from automatic dependency collection.
      This makes `make package`  in centos73 VM three times faster
      0b2042fd
    • Marko Mäkelä's avatar
      MDEV-19085: Remove a bogus debug assertion · e3f44d8d
      Marko Mäkelä authored
      MariaDB does support InnoDB tables with no stored columns.
      (They are necessarily empty.)
      e3f44d8d
    • Marko Mäkelä's avatar
      Fix integer type mismatch · 5633f83c
      Marko Mäkelä authored
      5633f83c
    • Marko Mäkelä's avatar
      MDEV-19128 fil_name_parse() for MLOG_FILE_ is not portable · 8650848e
      Marko Mäkelä authored
      On Microsoft Windows, InnoDB writes the path separator \ to the
      redo log file, while on all other platforms, / is being used.
      
      fil_name_parse(): Normalize the parsed path separators to the
      native format. This allows backups or data sets to be portable
      between Windows and other systems.
      8650848e
    • Marko Mäkelä's avatar
      Merge 10.1 into 10.2 · bce380f2
      Marko Mäkelä authored
      bce380f2
    • Marko Mäkelä's avatar
      Omit the definition of unused function yyset_extra() · b88f3786
      Marko Mäkelä authored
      This is follow-up for commit 619d22dd
      to fix the cmake -DWITH_EMBEDDED_SERVER build.
      b88f3786
  5. 01 Apr, 2019 5 commits
  6. 30 Mar, 2019 2 commits
  7. 29 Mar, 2019 6 commits
  8. 28 Mar, 2019 2 commits
    • Sergei Petrunia's avatar
      MDEV-18080, part#1: MyRocks is slow with log-bin=off · 8fcd9478
      Sergei Petrunia authored
      The cause for this was fix MDEV-15372, which was trying to speed up
      the parallel slave.
      
      Part#1: Do not attempt the "optimization" for transactions that are not
      replication slave workers.
      8fcd9478
    • Sujatha Sivakumar's avatar
      MDEV-13895: GTID and Master_Delay causes excessive initial delay · e42192d7
      Sujatha Sivakumar authored
      Problem:
      ========
      When attempting to delay a Slave attached with GTID, there appears to be an
      extra delay applied initially. For example, this output reflects a Slave that is
      already delayed by 43200 seconds. When switching to GTID replication,
      replication is paused until SQL_Remaining_Delay counts down to 0:
      
      CHANGE MASTER TO master_use_gtid=current_pos; CHANGE MASTER TO
      MASTER_DELAY=43200;
      
      Seconds_Behind_Master: 44847
      Using_Gtid: Current_Pos
      SQL_Delay: 43200
      SQL_Remaining_Delay: 43089
      Slave_SQL_Running_State: Waiting until MASTER_DELAY seconds after master
      executed event
      
      Analysis:
      =========
      When slave initiates a GTID based connection request to master, the master sends
      two GTID_LIST events.  The first one is actual GTID_LIST event and the second
      one is a fake GTID_LIST event. This is sent by master to provide its current
      binlary log file position. The fake GTID_LIST events will have their ev->when=0.
      'when' (the timestamp) is set to 0 so that slave could distinguish between real
      and fake Rotate events.
      
      On slave side when MASTER_DELAY is configured to "X" the applier will ensure
      that there is a time delay of "X" seconds before the event is applied.
      
      General behaviour of MASTER_DELAY example:-
      
      Master
      timestamp of event e1=10
      timestamp of event e2=11
      
      On slave MASTER_DELAY=5
      Event e1 will be applied at = 15
      e2 will be applied at =16
      
      In bug scenario:-
      
      On Master: With GTIDs
      timestamp of event e1=10
      timestamp of event e2=0
      
      On Slave:
      e1 will be applied at = 10 + 5 =15
      For e2, since "e2->when=0" e2->when is set to current timestamp.
      i.e since the e2->when and current timestamp on slave is the same applier waits
      for additional master_delay=5 seconds. the ev->when contributes to
      "rli->last_master_timestamp".
      
      rli->last_master_timestamp= ev->when + (time_t) ev->exec_time;
      
      Fake events should not update the "ev->when" to "current timestamp" on slave.
      
      Fix:
      ===
      Remove the assignment of current timestamp to "ev->when" when "ev->when=0".
      e42192d7