1. 02 Jul, 2007 1 commit
    • unknown's avatar
      Bug#21074 Large query_cache freezes mysql server sporadically under heavy load · 289cc26c
      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.
      289cc26c
  2. 01 Jun, 2007 11 commits
    • unknown's avatar
      Merge bodhi.(none):/opt/local/work/mysql-5.0-runtime · 0484d44e
      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
      0484d44e
    • unknown's avatar
      Fix more mysqltest warnings. · e2107646
      unknown authored
      e2107646
    • unknown's avatar
      Merge bodhi.(none):/opt/local/work/mysql-5.0-runtime · 3df461e5
      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.
      3df461e5
    • unknown's avatar
      a00e5c68
    • unknown's avatar
      Fix a typo in the test case. · 68cc0a34
      unknown authored
      
      mysql-test/r/rpl_loaddata.result:
        Update result.
      mysql-test/t/rpl_loaddata.test:
        Fix a typo in the test file.
      68cc0a34
    • unknown's avatar
      A post-merge fix. · 82047fab
      unknown authored
      82047fab
    • unknown's avatar
      Merge bodhi.(none):/opt/local/work/mysql-5.0-runtime · b21f87e8
      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
      b21f87e8
    • unknown's avatar
      Fix some mysqltest warnings. · d8cd88cd
      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
      d8cd88cd
    • unknown's avatar
      Fix a warning. · 108429c9
      unknown authored
      
      sql/sp.cc:
        Fix a warning "field precision should have type "int", 
        but argument 2 has type "size_t"
      108429c9
    • unknown's avatar
      A post-merge fix. · 0519057a
      unknown authored
      0519057a
    • unknown's avatar
      Merge bk-internal.mysql.com:/home/bk/mysql-5.1 · 63791f4c
      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.
      63791f4c
  3. 31 May, 2007 5 commits
    • unknown's avatar
      Added casts to avoid compiler warnings and fixed a wrong type. · c6ff8a65
      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.
      c6ff8a65
    • unknown's avatar
      80af30ef
    • unknown's avatar
      Merge mysql.com:/nfsdisk1/lars/bk/mysql-5.0-rpl · baa8bdad
      unknown authored
      into  mysql.com:/nfsdisk1/lars/bk/mysql-5.1-new-rpl
      
      
      mysql-test/t/disabled.def:
        Manual merge
      baa8bdad
    • unknown's avatar
      Merge lthalmann@bk-internal.mysql.com:/home/bk/mysql-5.1-runtime · f527c0c9
      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
      f527c0c9
    • unknown's avatar
      Merge lthalmann@bk-internal.mysql.com:/home/bk/mysql-5.0-runtime · eb056fb8
      unknown authored
      into  mysql.com:/nfsdisk1/lars/bk/mysql-5.0-rpl
      
      
      mysql-test/t/disabled.def:
        Auto merged
      eb056fb8
  4. 30 May, 2007 23 commits