1. 11 Nov, 2011 1 commit
    • Luis Soares's avatar
      BUG#11760927: 53375: RBR + NO PK => HIGH LOAD ON SLAVE (TABLE · 595a007d
      Luis Soares authored
                    SCAN/CPU) => SLAVE FAILURE
      
      When a statement containing a large amount of ROWs to be applied on
      the slave, and the slave's table does not contain a PK, it can take a
      considerable amount of time to find and change all the rows that are
      to be changed.
      
      The proper slave enhancement will be implemented in WL 5597. However,
      in this bug we are making it clear to the user what the problem is, by
      printing a message to the error log if the execution time, for a given
      statement in RBR, takes more than LONG_FIND_ROW_THRESHOLD (set to 60
      seconds). This shall help the DBA to diagnose what's happening when
      facing a slave server that is quiet for no apparent reason...
      
      The note is only printed to the error log if log_warnings is set to be
      greater than 1.
      595a007d
  2. 01 Nov, 2011 2 commits
  3. 31 Oct, 2011 2 commits
  4. 28 Oct, 2011 2 commits
    • Andrei Elkin's avatar
      BUG#11763573 · e0660442
      Andrei Elkin authored
      post-push fixes for show_slave_io_error= 1 of wait_for_slave_io_error.inc;
      Unix and win format path specifically so few tests have to change show_slave_io_error
      to zero.
      e0660442
    • Andrei Elkin's avatar
      merge from 5.5 to local tree. · 9c255bda
      Andrei Elkin authored
      9c255bda
  5. 27 Oct, 2011 5 commits
  6. 26 Oct, 2011 2 commits
  7. 24 Oct, 2011 2 commits
  8. 23 Oct, 2011 1 commit
    • Dmitry Lenev's avatar
      Fix for bug #13116518 - "OPEN_TABLES() SHOULD NOT ALLOCATE AND FREE · 45526450
      Dmitry Lenev authored
      NEW_FRM_MEM WITHOUT NEEDING TO".
      
      During the process of opening tables for a statement, we allocated
      memory which was used only during view loading even in cases when the
      statement didn't use any views. Such an unnecessary allocation (and
      corresponding freeing) might have caused significant performance
      overhead in some workloads. For example, it caused up to 15% slowdown
      in a simple stored routine calculating Fibonacci's numbers.
      
      This memory was pre-allocated as part of "new_frm_mem" MEM_ROOT
      initialization at the beginning of open_tables(). 
      
      This patch addresses this issue by turning off memory pre-allocation
      during initialization for this MEM_ROOT. Now, memory on this root
      will be allocated only at the point when the first .FRM for a view is 
      opened.
      
      The patch doesn't contain a test case since it is hard to test the
      performance improvements or the absence of memory allocation in our
      test framework.
      45526450
  9. 22 Oct, 2011 1 commit
  10. 21 Oct, 2011 7 commits
  11. 20 Oct, 2011 1 commit
    • Sergey Vojtovich's avatar
      BUG#11757032 - 49030: OPTIMIZE TABLE BREAKS MYISAM TABLE WHEN · 3e0491c7
      Sergey Vojtovich authored
                     USING MYISAM_USE_MMAP ON WINDOWS
      
      When OPTIMIZE/REPAIR TABLE is switching to new data file,
      old data file is removed while memory mapping is still
      active.
      
      With 5.1 implementation of nt_share_delete() it is not
      permitted to remove mmaped file.
      
      This fix disables memory mapping for mi_repair() operations.
      3e0491c7
  12. 19 Oct, 2011 4 commits
  13. 18 Oct, 2011 2 commits
  14. 17 Oct, 2011 2 commits
  15. 14 Oct, 2011 1 commit
  16. 13 Oct, 2011 2 commits
  17. 12 Oct, 2011 3 commits
    • Sergey Glukhov's avatar
      automerge · 9e8c23a0
      Sergey Glukhov authored
      9e8c23a0
    • Sergey Glukhov's avatar
      Bug#11750518 41090: ORDER BY TRUNCATES GROUP_CONCAT RESULT · b195e6f9
      Sergey Glukhov authored
      When temporary tables is used for result sorting
      result field for gconcat function is created using
      group_concat_max_len size. It leads to result truncation
      when character_set_results is multi-byte character set due
      to insufficient tmp table field size.
      The fix is to increase temporary table field size for
      gconcat. Method make_string_field() is overloaded
      for Item_func_group_concat class and uses
      max_characters * collation.collation->mbmaxlen size for
      result field. max_characters is maximum number of characters
      what can fit into max_length size.
      b195e6f9
    • Marko Mäkelä's avatar
      Merge mysql-5.1 to mysql-5.5. · 7667e8f9
      Marko Mäkelä authored
      7667e8f9