1. 23 Mar, 2007 2 commits
  2. 22 Mar, 2007 2 commits
  3. 21 Mar, 2007 4 commits
  4. 19 Mar, 2007 1 commit
  5. 16 Mar, 2007 2 commits
  6. 15 Mar, 2007 8 commits
    • acurtis/antony@ltamd64.xiphis.org's avatar
      Merge xiphis.org:/home/antony/work2/p1-bug25671.3 · 97861f60
      acurtis/antony@ltamd64.xiphis.org authored
      into  xiphis.org:/home/antony/work2/p1-bug25671.4
      97861f60
    • istruewing@chilla.local's avatar
      Merge chilla.local:/home/mydev/mysql-5.0-bug25289 · b1c5288e
      istruewing@chilla.local authored
      into  chilla.local:/home/mydev/mysql-5.1-bug25289
      b1c5288e
    • istruewing@chilla.local's avatar
      Merge chilla.local:/home/mydev/mysql-4.1-bug25289 · 81c086a6
      istruewing@chilla.local authored
      into  chilla.local:/home/mydev/mysql-5.0-bug25289
      81c086a6
    • dlenev@mockturtle.local's avatar
      Merge mockturtle.local:/home/dlenev/src/mysql-5.0-bg25966-2 · bb233cb3
      dlenev@mockturtle.local authored
      into  mockturtle.local:/home/dlenev/src/mysql-5.1-bg25966
      bb233cb3
    • dlenev@mockturtle.local's avatar
      Merge mockturtle.local:/home/dlenev/src/mysql-4.1-bg25966 · e4f88d52
      dlenev@mockturtle.local authored
      into  mockturtle.local:/home/dlenev/src/mysql-5.0-bg25966-2
      e4f88d52
    • dlenev@mockturtle.local's avatar
      Fix for bug #25966 "2MB per second endless memory consumption after LOCK · 01bd08b5
      dlenev@mockturtle.local authored
      TABLE ... WRITE".
      
      Memory and CPU hogging occured when connection which had to wait for table
      lock was serviced by thread which previously serviced connection that was
      killed (note that connections can reuse threads if thread cache is enabled).
      One possible scenario which exposed this problem was when thread which
      provided binlog dump to replication slave was implicitly/automatically
      killed when the same slave reconnected and started pulling data through
      different thread/connection.
      The problem also occured when one killed particular query in connection
      (using KILL QUERY) and later this connection had to wait for some table
      lock.
      
      This problem was caused by the fact that thread-specific mysys_var::abort
      variable, which indicates that waiting operations on mysys layer should
      be aborted (this includes waiting for table locks), was set by kill
      operation but was never reset back. So this value was "inherited" by the
      following statements or even other connections (which reused the same
      physical thread). Such discrepancy between this variable and THD::killed
      flag broke logic on SQL-layer and caused CPU and memory hogging.
      
      This patch tries to fix this problem by properly resetting this member.
      
      There is no test-case associated with this patch since it is hard to test
      for memory/CPU hogging conditions in our test-suite.
      01bd08b5
    • dlenev@mockturtle.local's avatar
      Fix for bug #25966 "2MB per second endless memory consumption after LOCK · f2cb6641
      dlenev@mockturtle.local authored
      TABLE ... WRITE".
      
      CPU hogging occured when connection which had to wait for table lock was
      serviced by thread which previously serviced connection that was killed
      (note that connections can reuse threads if thread cache is enabled).
      One possible scenario which exposed this problem was when thread which
      provided binlog dump to replication slave was implicitly/automatically
      killed when the same slave reconnected and started pulling data through
      different thread/connection.
      In 5.* versions memory hogging was added to CPU hogging. Moreover in
      those versions the problem also occured when one killed particular query
      in connection (using KILL QUERY) and later this connection had to wait for
      some table lock.
      
      This problem was caused by the fact that thread-specific mysys_var::abort
      variable, which indicates that waiting operations on mysys layer should
      be aborted (this includes waiting for table locks), was set by kill
      operation but was never reset back. So this value was "inherited" by the
      following statements or even other connections (which reused the same
      physical thread). Such discrepancy between this variable and THD::killed
      flag broke logic on SQL-layer and caused CPU and memory hogging.
      
      This patch tries to fix this problem by properly resetting this member.
      
      There is no test-case associated with this patch since it is hard to test
      for memory/CPU hogging conditions in our test-suite.
      f2cb6641
    • dlenev@mockturtle.local's avatar
      Merge bk-internal.mysql.com:/home/bk/mysql-5.1-engines · d9d887ad
      dlenev@mockturtle.local authored
      into  mockturtle.local:/home/dlenev/src/mysql-5.1-bg25966
      d9d887ad
  7. 14 Mar, 2007 14 commits
  8. 13 Mar, 2007 7 commits
    • svoj@mysql.com/april.(none)'s avatar
      Removed tabs. · d7311aab
      svoj@mysql.com/april.(none) authored
      d7311aab
    • acurtis/antony@xiphis.org/ltamd64.xiphis.org's avatar
      Bug#25671 · e4d93c6b
        "CREATE/DROP/ALTER SERVER should require privileges"
        Add check for SUPER privilege when executing CREATE/DROP/ALTER SERVER.
        Previously, any user even with only USAGE priv can execute those commands.
      e4d93c6b
    • istruewing@blade08.mysql.com's avatar
      Merge istruewing@bk-internal.mysql.com:/home/bk/mysql-5.1-engines · d3b7fce8
      istruewing@blade08.mysql.com authored
      into  blade08.mysql.com:/data0/istruewing/autopush/mysql-5.1-bug25460
      d3b7fce8
    • istruewing@chilla.local's avatar
      Bug#25460 - High concurrency MyISAM access causes severe mysqld crash. · 67d97254
      istruewing@chilla.local authored
      The previous two patches for this bug worked together so that
      no permanent table was memory mapped. The first patch tried to
      avoid mapping while a table is in use. It allowed mapping only
      if there was exactly one lock on the table, assuming that the
      calling thread owned it. During mi_open(), a different call to
      memory mapping was coded, which did not have this limitation.
      
      The second patch tried to remove the code duplication and just
      called mi_extra() from mi_open() an thus inherited the limitation.
      But on open, a thread does not have a lock on the table...
      
      A possible solution would be to check for zero or one lock.
      But since I learned that it is safe to memory map a file while
      normal file I/O is done on it, I removed the restriction altogether
      and allow to memory map while a table is in use.
      
      No test case. I do not see a chance to verify with the test suite
      which kind of I/O is used on a table.
      67d97254
    • svoj@april.(none)'s avatar
      Merge mysql.com:/home/svoj/devel/mysql/BUG26881/mysql-5.0-engines · 31329c83
      svoj@april.(none) authored
      into  mysql.com:/home/svoj/devel/mysql/BUG26881/mysql-5.1-engines
      31329c83
    • svoj@mysql.com/april.(none)'s avatar
      Merge mysql.com:/home/svoj/devel/mysql/BUG26881/mysql-4.1-engines · de21b9b8
      svoj@mysql.com/april.(none) authored
      into  mysql.com:/home/svoj/devel/mysql/BUG26881/mysql-5.0-engines
      de21b9b8
    • svoj@mysql.com/april.(none)'s avatar
      BUG#26881 - Large MERGE tables report incorrect specification when no · cb132bea
      svoj@mysql.com/april.(none) authored
                  differences in tables
      Certain merge tables were wrongly reported as having incorrect definition:
      - Some fields that are 1 byte long (e.g. TINYINT, CHAR(1)), might
        be internally casted (in certain cases) to a different type on a
        storage engine layer. (affects 4.1 and up)
      - If tables in a merge (and a MERGE table itself) had short VARCHAR column (less
        than 4 bytes) and at least one (but not all) tables were ALTER'ed (even to an
        identical table: ALTER TABLE xxx ENGINE=yyy), table definitions went ouf of
        sync. (affects 4.1 only)
      
      This is fixed by relaxing a check for underlying conformance and setting
      field type to FIELD_TYPE_STRING in case varchar is shorter than 4
      when a table is created.
      cb132bea