Bug #27638 slow logging to CSV table inserts bad query_time and lock_time values

Submitted: 4 Apr 2007 7:28 Modified: 7 Apr 2007 18:29
Reporter: Timothy Smith Email Updates:
Status: Closed Impact on me:
None 
Category:MySQL Server: Logging Severity:S3 (Non-critical)
Version:5.1.18-bk OS:Any
Assigned to: Timothy Smith CPU Architecture:Any

[4 Apr 2007 7:28] Timothy Smith
Description:
Log_to_csv_event_handler::log_slow() tries to store the number of seconds (for query_time or lock_time) directly in a TIME field via Field_time::store(longlong, bool).  However, that function expects a number in the format HHHMMSS, not a number of seconds.

How to repeat:
Noticed due to valgrind failure in count_distinct3 and multi_update tests, with slow log running.  Valgrind failure is a separate problem with pushing errors inside logging functions, not directly related to this bug.

Suggested fix:
Call calc_time_from_sec() and Field_time::store_time().
[4 Apr 2007 9:11] Bugs System
A patch for this bug has been committed. After review, it may
be pushed to the relevant source trees for release in the next
version. You can access the patch from:

  http://lists.mysql.com/commits/23761

ChangeSet@1.2559, 2007-04-04 11:11:18+02:00, tsmith@quadxeon.mysql.com +2 -0
  Bug #27638: slow logging to CSV table inserts bad query_time and lock_time values
  
  When MySQL logged slow query information to a CSV table, it stored the
  query_time and lock_time values with an incorrect formula.
  
  If the time was over 59 seconds, this caused incorrect statistics (either the
  slow query was not logged, or the time was far from correct).  This change
  fixes the method used to store those TIME values in the slow_log table.
[4 Apr 2007 17:12] Timothy Smith
Updated patch:
http://lists.mysql.com/commits/23817

(to->neg can't be cleared in calc_time_from_sec(), see for example Item_func_timediff::val_str())
[4 Apr 2007 19:41] Bugs System
A patch for this bug has been committed. After review, it may
be pushed to the relevant source trees for release in the next
version. You can access the patch from:

  http://lists.mysql.com/commits/23833

ChangeSet@1.2559, 2007-04-04 21:40:47+02:00, tsmith@quadxeon.mysql.com +6 -0
  Bug #27638: slow logging to CSV table inserts bad query_time and lock_time values
  
  When MySQL logged slow query information to a CSV table, it stored the
  query_time and lock_time values with an incorrect formula.
  
  If the time was over 59 seconds, this caused incorrect statistics (either the
  slow query was not logged, or the time was far from correct).  This change
  fixes the method used to store those TIME values in the slow_log table.
[6 Apr 2007 17:25] Bugs System
Pushed into 5.1.18-beta
[7 Apr 2007 18:29] Paul DuBois
Noted in 5.1.18 changelog.

Portions of this website are copyright © 2001, 2002 The PHP Group

Page generated in 0.060 sec. using MySQL 8.4.7-u6-cloud

Timestamp references displayed by the system are UTC.
Content reproduced on this site is the property of the respective copyright holders.
It is not reviewed in advance by Oracle and does not necessarily represent the opinion of Oracle or any other party.