1. 02 Jul, 2007 1 commit
    • unknown's avatar
      Bug#21074 Large query_cache freezes mysql server sporadically under heavy load · 9a346581
      unknown authored
      Invaldating a subset of a sufficiently large query cache can take a long time.
      During this time the server is efficiently frozen and no other operation can
      be executed. This patch addresses this problem by moving the locks which cause
      the freezing and also by temporarily disable the query cache while the 
      invalidation takes place.
      
      
      sql/ha_ndbcluster.cc:
        - mysql_rm_table_part2 has a new parameter to indicate if OPEN_lock mutex 
          protection is needed.
      sql/lock.cc:
        - Added function for acquiring table name exclusive locks.
        - Added function for asserting that table name lock is acquired.
      sql/mysql_priv.h:
        - Added function for acquiring table name exclusive locks.
        - Added function for asserting that table name lock is acquired.
        - Added parameter to mysql_rm_table_part2 to indicate whether OPEN_lock mutex
          protection is needed or not.
      sql/sql_cache.cc:
        - Changed flush_in_progress-flag into a state and added a function, 
          is_flushing() to reflect on this state. A new state was needed to indicate
          that a partial invalidation was in progress.
        - An unused parameter 'under_guard' was removed.
        - The Query_cache mutex structural_guard was pushed down into one
          invalidate_table function to avoid multiple entry points which makes
          maintainens more difficult.
        - Instead of keeping the structural_guard mutex during the entire invalidation
          we set the query cache status state to TABLE_FLUSH_IN_PROGRESS to
          temporarily disable the cache and avoid locking other threads needing the
          Query_cache resource.
      sql/sql_cache.h:
        - Changed flush_in_progress-flag into a state and added a function, 
          is_flushing() to reflect on this state. A new state was needed to indicate
          that a partial invalidation was in progress.
        - An unused parameter 'under_guard' was removed.
        - The Query_cache mutex structural_guard was pushed down into one
          invalidate_table function to avoid multiple entry points which makes
          maintainens more difficult.
        - Instead of keeping the structural_guard mutex during the entire invalidation
          we set the query cache status state to TABLE_FLUSH_IN_PROGRESS to
          temporarily disable the cache and avoid locking other threads needing the
          the Query_cache resource.
      sql/sql_db.cc:
        - mysql_rm_table_part2_with_lock is redundant and replaced
        with mysql_rm_table_part2.
      sql/sql_parse.cc:
        - Function query_cache_invalidate3 isn't protect by a lock and we have a 
          race condition.
        - Moving this function into mysql_rename_tables and make sure it is protected
          by a exclusive table name lock.
      sql/sql_rename.cc:
        - Function query_cache_invalidation3 isn't protect by a lock and we have a 
          race condition.
        - Moving this function into mysql_rename_tables and make sure it is protected
          by a exclusive table name lock.
        - Instead of using LOCK_open mutex, which excludes all other threads, the lock
          is changed into exclusive table name locks instead. This prevents us from
          locking the server if a query cache invalidation would take a long time to
          complete.
      sql/sql_table.cc:
        - Instead of using LOCK_open mutex, which excludes all other threads, the lock
          is changed into exclusive table name locks instead. This prevents us from
          locking the server if a query cache invalidation would take a long time to
          complete.
        - Added new parameter to mysql_rm_table_part2 to control whether OPEN_lock mutex
          needs to be aquired or not. This is currently needed by the NDB implemenation.
      sql/sql_trigger.cc:
        - Table_triggers don't need to be protexted by LOCK_open mutex. This 
          patch cancel this restriction.
        - Refactored comments to doxygen style.
      9a346581
  2. 01 Jun, 2007 11 commits
    • unknown's avatar
      Merge bodhi.(none):/opt/local/work/mysql-5.0-runtime · f42bcd77
      unknown authored
      into  bodhi.(none):/opt/local/work/mysql-5.1-runtime
      
      
      mysql-test/t/mysqltest.test:
        Auto merged
      mysql-test/t/strict.test:
        Auto merged
      f42bcd77
    • unknown's avatar
      Fix more mysqltest warnings. · 75485dc3
      unknown authored
      75485dc3
    • unknown's avatar
      Merge bodhi.(none):/opt/local/work/mysql-5.0-runtime · 8d2119e9
      unknown authored
      into  bodhi.(none):/opt/local/work/mysql-5.1-runtime
      
      
      BitKeeper/etc/ignore:
        auto-union
      mysql-test/t/rpl_loaddata.test:
        Use local.
      mysql-test/r/rpl_loaddata.result:
        Use local.
      8d2119e9
    • unknown's avatar
      106890d0
    • unknown's avatar
      Fix a typo in the test case. · 8c6d82a2
      unknown authored
      
      mysql-test/r/rpl_loaddata.result:
        Update result.
      mysql-test/t/rpl_loaddata.test:
        Fix a typo in the test file.
      8c6d82a2
    • unknown's avatar
      A post-merge fix. · 9c6d0d33
      unknown authored
      9c6d0d33
    • unknown's avatar
      Merge bodhi.(none):/opt/local/work/mysql-5.0-runtime · ce36a850
      unknown authored
      into  bodhi.(none):/opt/local/work/mysql-5.1-runtime
      
      
      mysql-test/t/mysql.test:
        Auto merged
      mysql-test/t/mysqltest.test:
        Auto merged
      mysql-test/t/order_by.test:
        Auto merged
      mysql-test/t/sp.test:
        Auto merged
      mysql-test/r/sp.result:
        Use local
      ce36a850
    • unknown's avatar
      Fix some mysqltest warnings. · 75c45487
      unknown authored
      
      mysql-test/r/sp.result:
        Update results.
      mysql-test/t/mysql.test:
        Fix a typo.
      mysql-test/t/mysqltest.test:
        Fix a typo.
      mysql-test/t/order_by.test:
        Fix a typo.
      mysql-test/t/row.test:
        Remove an unsupported command.
      mysql-test/t/sp.test:
        Fix a typo.
      mysql-test/t/subselect3.test:
        Fix  mysqltest warnings - now it warns when sees some suspicious --
        comment
      75c45487
    • unknown's avatar
      Fix a warning. · 679bbf19
      unknown authored
      
      sql/sp.cc:
        Fix a warning "field precision should have type "int", 
        but argument 2 has type "size_t"
      679bbf19
    • unknown's avatar
      A post-merge fix. · 0ada9392
      unknown authored
      0ada9392
    • unknown's avatar
      Merge bk-internal.mysql.com:/home/bk/mysql-5.1 · a5e9cb87
      unknown authored
      into  bodhi.(none):/opt/local/work/mysql-5.1-runtime
      
      
      client/mysqlbinlog.cc:
        Auto merged
      include/config-win.h:
        Auto merged
      include/my_global.h:
        Auto merged
      include/my_pthread.h:
        Auto merged
      mysql-test/lib/mtr_report.pl:
        Auto merged
      mysql-test/t/disabled.def:
        Auto merged
      sql/event_data_objects.cc:
        Auto merged
      sql/event_queue.cc:
        Auto merged
      sql/field.h:
        Auto merged
      sql/filesort.cc:
        Auto merged
      sql/handler.cc:
        Auto merged
      sql/handler.h:
        Auto merged
      sql/item_func.h:
        Auto merged
      sql/item_xmlfunc.cc:
        Auto merged
      sql/log_event.cc:
        Auto merged
      sql/log_event.h:
        Auto merged
      sql/mysql_priv.h:
        Auto merged
      sql/mysqld.cc:
        Auto merged
      sql/set_var.cc:
        Auto merged
      sql/sp.h:
        Auto merged
      sql/sp_head.cc:
        Auto merged
      sql/sp_head.h:
        Auto merged
      sql/sql_acl.cc:
        Auto merged
      sql/sql_base.cc:
        Auto merged
      sql/sql_class.cc:
        Auto merged
      sql/sql_class.h:
        Auto merged
      sql/sql_db.cc:
        Auto merged
      sql/sql_insert.cc:
        Auto merged
      sql/sql_lex.cc:
        Auto merged
      sql/sql_lex.h:
        Auto merged
      sql/sql_list.h:
        Auto merged
      sql/sql_load.cc:
        Auto merged
      sql/sql_parse.cc:
        Auto merged
      sql/sql_partition.cc:
        Auto merged
      sql/sql_prepare.cc:
        Auto merged
      sql/sql_select.cc:
        Auto merged
      sql/sql_show.cc:
        Auto merged
      sql/sql_test.cc:
        Auto merged
      sql/sql_update.cc:
        Auto merged
      sql/sql_view.cc:
        Auto merged
      sql/sql_yacc.yy:
        Auto merged
      storage/heap/hp_hash.c:
        Auto merged
      tests/mysql_client_test.c:
        Auto merged
      sql/item_func.cc:
        Manual merge.
      sql/sp.cc:
        Manual merge.
      sql/sql_cache.cc:
        Manual merge.
      sql/sql_table.cc:
        Manual merge.
      strings/my_vsnprintf.c:
        Manual merge.
      a5e9cb87
  3. 31 May, 2007 5 commits
    • unknown's avatar
      Added casts to avoid compiler warnings and fixed a wrong type. · 4605d8f2
      unknown authored
      ```yaml
      Added casts and fixed wrong type.
      ```
      
      Added casts and fixed wrong type.
      ---
      Merge jamppa@bk-internal.mysql.com:/home/bk/mysql-5.1-marvel
      into  a88-113-38-195.elisa-laajakaista.fi:/home/my/bk/mysql-5.1-marvel
      ---
      Don't give warning that readonly variable is forced to be readonly
      mysql-test-run run now fails if we have [Warning] and [ERROR] as tags in .err file
      Fixed wrong reference to the mysql manual
      Fixed wrong prototype that caused some tests to fail on 64 bit platforms
      ---
      Disabled compiler warnings mainly for Win 64.
      ---
      Added casts to remove compiler warnings on windows
      Give warnings also for safe_mutex errors found by test system
      Added some warnings from different machines in pushbuild
      ---
      Merge bk-internal.mysql.com:/home/bk/mysql-5.1-marvel
      into  mysql.com:/home/my/mysql-5.1
      ---
      Added escapes for double quotes and parenthesis.
      ---
      Archive db fix plus added non-critical warnings
      in ignore list.
      ---
      Fixed previously added patch and added new ignored warning.
      
      
      client/mysqltest.c:
        Added casts to avoid compiler warnings.
        ---
        Added casts to avoid compiler warnings.
      mysql-test/lib/mtr_report.pl:
        Test run now fails if we have [Warning] and [ERROR] as tags in .err file
        Added list of all common 'not fatal' errors to ignore error list
        ---
        Give warnings also for safe_mutex errors
        Added some warnings from different machines in pushbuild
        ---
        Added escapes for double quotes and parenthesis.
        ---
        Added non-critical warnings to be ignored.
        ---
        Fixed a wrong regexp
        Added new non-critical warning
      mysql-test/mysql-test-run-shell.sh:
        Fixed some wrong startup options
      mysql-test/r/func_misc.result:
        Test case for archive db fix.
      mysql-test/t/disabled.def:
        Disable instance manager tests because they generate warnings (and probably don't read the option files correctly)
      mysql-test/t/func_misc.test:
        Test case for archive db fix.
      mysys/array.c:
        Added casts to avoid compiler warnings.
      mysys/hash.c:
        Added casts to avoid compiler warnings.
      mysys/my_compress.c:
        Added casts to remove compiler warnings on windows
      mysys/my_conio.c:
        To avoid a warning from compiler.
      mysys/my_pread.c:
        Archive db fix.
      mysys/my_quick.c:
        Added cast to avoid compiler warning.
        ---
        Added cast to avoid compiler warning.
      sql/ha_ndbcluster_binlog.cc:
        Ensure we log all binglog errors with the "NDB Binlog" tag
      sql/ha_partition.cc:
        result is type bool, so calculation should be forced to
        that also.
      sql/log.cc:
        Fixed compiler problem on Solaris.
      sql/slave.cc:
        Make errors uniform
      sql/sql_class.cc:
        Added cast to remove compiler warnings on windows
      sql/sql_map.cc:
        Added casts to avoid compiler warnings.
        ---
        Added casts to avoid compiler warnings.
      sql/sql_plugin.cc:
        Fixed wrong type.
        ---
        Don't give warning that readonly variable is forced to be readonly
      sql/stacktrace.c:
        Corrected manual reference
      storage/archive/azio.c:
        Archive db fix.
        ---
        Fixed previously added patch.
      storage/blackhole/ha_blackhole.cc:
        Fixed wrong prototype that caused test to fail on 64 bit platforms
      storage/example/ha_example.cc:
        Fixed wrong prototype that caused test to fail on 64 bit platforms
      strings/ctype-ucs2.c:
        Fixed wrong type.
        ---
        Fixed wrong type.
      support-files/compiler_warnings.supp:
        Added new disabled warnings for Win 64.
      4605d8f2
    • unknown's avatar
      328f3d74
    • unknown's avatar
      Merge mysql.com:/nfsdisk1/lars/bk/mysql-5.0-rpl · bf2e5a88
      unknown authored
      into  mysql.com:/nfsdisk1/lars/bk/mysql-5.1-new-rpl
      
      
      mysql-test/t/disabled.def:
        Manual merge
      bf2e5a88
    • unknown's avatar
      Merge lthalmann@bk-internal.mysql.com:/home/bk/mysql-5.1-runtime · a4ed459f
      unknown authored
      into  mysql.com:/nfsdisk1/lars/bk/mysql-5.1-new-rpl
      
      
      include/config-win.h:
        Auto merged
      mysql-test/t/disabled.def:
        Auto merged
      sql/sql_class.cc:
        Auto merged
      sql/sql_class.h:
        Auto merged
      sql/sql_insert.cc:
        Auto merged
      sql/sql_update.cc:
        Auto merged
      a4ed459f
    • unknown's avatar
      Merge lthalmann@bk-internal.mysql.com:/home/bk/mysql-5.0-runtime · 0bb59671
      unknown authored
      into  mysql.com:/nfsdisk1/lars/bk/mysql-5.0-rpl
      
      
      mysql-test/t/disabled.def:
        Auto merged
      0bb59671
  4. 30 May, 2007 23 commits