| Bug #43324 | Wrong table count per snapshot stored in backup image | ||
|---|---|---|---|
| Submitted: | 3 Mar 9:45 | Modified: | 26 Apr 2:04 |
| Reporter: | Rafal Somla | ||
| Status: | Closed | ||
| Category: | Server: Backup | Severity: | S3 (Non-critical) |
| Version: | 6.0 | OS: | Any |
| Assigned to: | Chuck Bell | Target Version: | 6.0-beta |
| Triage: | Triaged: D2 (Serious) | ||
[3 Mar 9:45]
Rafal Somla
[3 Mar 18:01]
Chuck Bell
Is this a problem in the backup code or the mysqlbackup utility? Please specify and provide any ideas/suggestions for fixes.
[4 Mar 7:36]
Rafal Somla
This is not a problem in mysqlbackup utility, but the number stored in the image is
wrong.
I think the developer who gets assigned to this bug will investigate it and then can
suggest a solution. I have no ideas right now. I would start looking at methods
Logger::report_stats_{pre,post} in logger.c and how they are called from kernel.cc.
[14 Apr 23:09]
Chuck Bell
The problem is here:
/**
Return number of entries in the dynamic array.
@note Some of the entries can store NULL pointers as no mapping was
defined for them.
*/
template<class T>
inline
ulong Map<uint,T>::count() const
{ return Base::array.elements; }
elements is always 1.
[15 Apr 0:13]
Chuck Bell
Have solution. Checking with reviewer for design approval.
[15 Apr 22:25]
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/72218 2797 Chuck Bell 2009-04-15 BUG#43324 : Wrong table count per snapshot stored in backup image The wrong table count is being written to the stream. When the backup client reads the stream it produces the wrong output. The table count always returned 1. This is because the code was counting the tables in the add_snapshot() method which is only called once. This patch moves the table counting code to allow proper counting of the tables in the snapshot. As a result, the backup client test results have been corrected as well. modified: mysql-test/suite/backup/r/backup_client.result mysql-test/suite/backup/r/backup_client_binlog.result sql/backup/image_info.cc
[16 Apr 7:14]
Rafal Somla
Good to push.
[16 Apr 21:01]
Ingo Strüwing
Approved. No comments.
[23 Apr 9:18]
Bugs System
Pushed into 6.0.11-alpha (revid:alik@sun.com-20090423070920-e5lq3vrrqi016z2c) (version source revid:alik@sun.com-20090423070920-e5lq3vrrqi016z2c) (merge vers: 6.0.11-alpha) (pib:6)
[26 Apr 2:04]
Paul DuBois
Noted in 6.0.11 changelog. BACKUP DATABASE stored incorrect table counts in the backup image.
