1. 25 Jan, 2019 8 commits
    • Eugene Kosov's avatar
      MDEV-18057 Assertion `(node->state == 5) || (node->state == 6)' failed in... · 0e1f7f5c
      Eugene Kosov authored
      MDEV-18057 Assertion `(node->state == 5) || (node->state == 6)' failed in row_upd_sec_step upon DELETE after UPDATE failed due to FK violation
      
      The idea of the fix: reset state from previous query.
      
      row_upd_clust_step(): reset cached index before updating a clustered index
      
      Closes #1133
      0e1f7f5c
    • Marko Mäkelä's avatar
      Merge 10.2 into 10.3 · 9bd80ada
      Marko Mäkelä authored
      9bd80ada
    • Eugene Kosov's avatar
      MDEV-18235: Changes related to fsync() · 31d0727a
      Eugene Kosov authored
      Remove fil_node_t::sync_event.
      
      I had a discussion with kernel fellows and they said it's safe to call
      fsync() simultaneously at least on VFS and ext4. So initially I wanted
      to disable check for recent Linux but than I realized code is buggy.
      
      Consider a case when one thread is inside fsync() and two others are
      waiting inside os_event. First thread after fsync() calls os_event_set()
      which is a broadcast! So two waiting threads will awake and may call
      fsync() at the same time.
      
      One fix is to add a notify_one() functionality to os_event but I decided
      to remove incorrect check completely. Note, it works for one waiting
      thread but not for more than one.
      
      IMO it's ok to avoid existing bugs but there is not too much sense in
      avoiding possible(!) bugs as this code does.
      
      fil_space_t::is_in_rotation_list(), fil_space_t::is_in_unflushed_spaces():
      Replace redundant bool fields with member functions.
      
      fil_node_t::needs_flush: Replaces fil_node_t::modification_counter and
      fil_node_t::flush_counter. We need to know whether there _are_ some
      unflushed writes and we do not need to know _how many_ writes.
      
      fil_system_t::modification_counter: Remove as not needed.
      Even if we needed fil_node_t::modification_counter, every file
      could have its own counter that would be incremented on each write.
      
      fil_system_t::modification_counter is a global modification counter
      for all files. It was incremented on every write. But whether some
      file was flushed or not is an internal fil_node_t deal/state and
      this makes fil_system_t::modification_counter useless.
      
      Closes #1061
      31d0727a
    • Jan Lindström's avatar
      Merge pull request #1136 from tempesta-tech/sysprg/MDEV-18379 · f2518f3d
      Jan Lindström authored
      MDEV-18379: Unification of check for IPv6
      f2518f3d
    • Julius Goryavsky's avatar
      MDEV-18379: Unification of check for IPv6 · a22dc626
      Julius Goryavsky authored
      Currently, the three-node mtr suite for Galera (galera_3nodes)
      uses a separate IPv6 availability check using the "have_ipv6.inc"
      file. This check duplicates a more accurate check at suite.pm
      level, which can be used by including the file "check_ipv6.inc".
      
      This patch removes this discrepancy between suites. In addition,
      one of the files in the galera_3nodes suite does not contain the
      option "--bind-address=::" which is needed for the test to work
      correctly with IPv6 (at least on some systems), since without
      it the server will not wait for connections on the IPv6 interface.
      
      https://jira.mariadb.org/browse/MDEV-18379
      a22dc626
    • Marko Mäkelä's avatar
      MDEV-18352 Add a regression test for VARCHAR enlarging · d97db40a
      Marko Mäkelä authored
      Add a simplest regression test. Specifically, I want to be sure that
      SYS_COLUMNS.LEN is increased.
      
      Closes #1123
      d97db40a
    • Oleksandr Byelkin's avatar
    • Marko Mäkelä's avatar
      Merge pull request #1129 from GeoffMontee/10.3-geoff-MDEV-18372 · e9ba165b
      Marko Mäkelä authored
      MDEV-18372: Minor MDEV-17973-related merge issue to 10.3
      e9ba165b
  2. 24 Jan, 2019 10 commits
  3. 23 Jan, 2019 21 commits
  4. 22 Jan, 2019 1 commit
    • Sergey Vojtovich's avatar
      MDEV-12747 - main.mysqld_option_err fails in buildbot with timeout · 9f4d4f40
      Sergey Vojtovich authored
      thd_destructor_proxy() may miss abort signal if innobase_end() is running
      concurrently, which causes server hang in pthread_join() on shutdown.
      
      The problem was that aborting wasn't protected by mutex:
      proxy thr: while (!myvar->abort)
      end thr: running->abort = 1;
      end thr: mysql_cond_broadcast(...);
      proxy thr: mysql_cond_wait(...); // nobody to awake it
      end thr: pthread_join(...); // waits for proxy thr
      
      Also made main.mysqld_option_err reentrant.
      9f4d4f40