Bug #44115 purge_relay_logs doesn't return an error when count_relay_log_space fails

Submitted: 6 Apr 2009 17:01 Modified: 13 Jul 2009 11:58
Reporter: Mark Callaghan Email Updates:
Status: Closed Impact on me:
None 
Category:MySQL Server: Replication Severity:S3 (Non-critical)
Version:5.0,5.1,6.0 OS:Any
Assigned to: Andrei Elkin CPU Architecture:Any
Tags: replication

[6 Apr 2009 17:01] Mark Callaghan
Description:
Is this by design? In 5.1, purge_relay_logs has this code that branches to 'err:' without setting 'error=1'. Earlier in purge_relay_logs, code that branches to 'err:' sets 'error=1'. When not set here, purge_relay_logs returns 0 even though count_relay_log_space failed.

  if (count_relay_log_space(rli))
  {
    *errmsg= "Error counting relay log space";
    goto err;
  }
<snip>
err:
#ifndef DBUG_OFF
  char buf[22];
#endif
  DBUG_PRINT("info",("log_space_total: %s",llstr(rli->log_space_total,buf)));
  pthread_mutex_unlock(&rli->data_lock);
  DBUG_RETURN(error);
}

How to repeat:
NA
[6 Apr 2009 17:11] Valeriy Kravchuk
Thank you for the bug report. Verified by code review. Indeed, looks like assignment to local variable error is just missed in sql/slave.cc (5.0) and sql/rpl_rli.cc (5.1) for this case.
[9 Jul 2009 7:08] Andrei Elkin
The issue is actually fixed in 6.0 as combination of
alfranio.correia@sun.com-20090402161414-apde4ev9rhlxcuet
and a patch for Bug#41902.
[9 Jul 2009 7:33] 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/78264

3015 Andrei Elkin	2009-07-09
      Bug #44115 purge_relay_logs doesn't return an error when count_relay_log_space fails
      
      purge_relay_logs() did not propagate an error happend in count_relay_log_space().
      
      Fixed with the suggestesd setting the error= true.
      Note, propagation generally out of purge_relay_logs() was fixed for Bug #44179,
      and the issue does not exist in 6.0 thanks to a patch for WL#2775.
[10 Jul 2009 11:20] Bugs System
Pushed into 5.4.4-alpha (revid:anozdrin@bk-internal.mysql.com-20090710111017-bnh2cau84ug1hvei) (version source revid:alfranio.correia@sun.com-20090709115409-5lav77omuqx8hc0n) (merge vers: 5.4.4-alpha) (pib:11)
[13 Jul 2009 11:58] Jon Stephens
Documented bugfix in the 5.4.4 changelog as follows:

      The internal function purge_relay_logs() did not propagate an error
      occurring in another internal function count_relay_log_space().
[13 Jul 2009 17:48] Bugs System
Pushed into 5.1.37 (revid:joro@sun.com-20090713174543-cd2x7q1gi1hzoand) (version source revid:staale.smedseng@sun.com-20090710151930-6e6kq5tp7ux1rtbh) (merge vers: 5.1.37) (pib:11)
[12 Aug 2009 22:01] Paul DuBois
Noted in 5.4.2 changelog because next 5.4 version will be 5.4.2 and not 5.4.4.
[14 Aug 2009 22:51] Paul DuBois
Ignore previous comment about 5.4.2.
[26 Aug 2009 13:45] Bugs System
Pushed into 5.1.37-ndb-7.0.8 (revid:jonas@mysql.com-20090826132541-yablppc59e3yb54l) (version source revid:jonas@mysql.com-20090826132541-yablppc59e3yb54l) (merge vers: 5.1.37-ndb-7.0.8) (pib:11)
[26 Aug 2009 13:46] Bugs System
Pushed into 5.1.37-ndb-6.3.27 (revid:jonas@mysql.com-20090826105955-bkj027t47gfbamnc) (version source revid:jonas@mysql.com-20090826105955-bkj027t47gfbamnc) (merge vers: 5.1.37-ndb-6.3.27) (pib:11)
[26 Aug 2009 13:48] Bugs System
Pushed into 5.1.37-ndb-6.2.19 (revid:jonas@mysql.com-20090825194404-37rtosk049t9koc4) (version source revid:jonas@mysql.com-20090825194404-37rtosk049t9koc4) (merge vers: 5.1.37-ndb-6.2.19) (pib:11)
[27 Aug 2009 16:32] Bugs System
Pushed into 5.1.35-ndb-7.1.0 (revid:magnus.blaudd@sun.com-20090827163030-6o3kk6r2oua159hr) (version source revid:jonas@mysql.com-20090826132541-yablppc59e3yb54l) (merge vers: 5.1.37-ndb-7.0.8) (pib:11)
[7 Oct 2009 1:48] Paul DuBois
The 5.4 fix has been pushed into 5.4.2.

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

Page generated in 0.078 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.