Bug #39528 No progress bar for backup/restore operation
Submitted: 19 Sep 2008 1:38 Modified: 29 Jun 16:41
Reporter: Hema Sridharan
Status: Closed
Category:Server: Backup Severity:S4 (Feature request)
Version:mysql-6.0-backup OS:Linux
Assigned to: Chuck Bell Target Version:6.0-rc
Triage: Triaged: D3 (Medium)

[19 Sep 2008 1:38] Hema Sridharan
Description:
1)Percentage completion status of backup and restore is missing.

2) For a huge BACKUP or RESTORE operation(of say 10GB database which will take around
10-15mins), it would be handy to know the percentage of completion listed below (just
like secured copy in an UNIX shell). Here it enables the customer to estimate the BACKUP
/ RESTORE operation and plan accordingly.

3)Though the progress column is shown via backup_progress logs, it is not completely
affable(user friendly) and doesn't show the progress properly. A clear depiction in terms
of percentage completed would be handy for the users. 

How to repeat:
mysql> select * from mysql.backup_progress\G
*************************** 22. row ***************************
  backup_id: 256
     object: backup kernel
 start_time: 0000-00-00 00:00:00
  stop_time: 0000-00-00 00:00:00
total_bytes: 0
   progress: 0
  error_num: 0
      notes: starting
*************************** 23. row ***************************
  backup_id: 256
     object: backup kernel
 start_time: 0000-00-00 00:00:00
  stop_time: 0000-00-00 00:00:00
total_bytes: 0
   progress: 0
  error_num: 0
      notes: running
*************************** 24. row ***************************
  backup_id: 256
     object: backup kernel
 start_time: 0000-00-00 00:00:00
  stop_time: 0000-00-00 00:00:00
total_bytes: 0
   progress: 0
  error_num: 0
      notes: validity point
*************************** 25. row ***************************
  backup_id: 256
     object: backup kernel
 start_time: 2008-09-18 23:33:51
  stop_time: 0000-00-00 00:00:00
total_bytes: 0
   progress: 0
  error_num: 0
      notes: vp time
*************************** 26. row ***************************
  backup_id: 256
     object: backup kernel
 start_time: 0000-00-00 00:00:00
  stop_time: 0000-00-00 00:00:00
total_bytes: 0
   progress: 0
  error_num: 0
      notes: running
*************************** 27. row ***************************
  backup_id: 256
     object: backup kernel
 start_time: 0000-00-00 00:00:00
  stop_time: 0000-00-00 00:00:00
total_bytes: 0
   progress: 0
  error_num: 0
      notes: complete

we can notice that progress is always indicated as '0' in all notes of backup.
[29 Apr 21:05] Chuck Bell
The problem is the backup kernel and the drivers do not agree on what is being reported as
percent complete. Is it bytes read, records read, objects read, etc.?

A more thorough change in the underlining backup drivers is needed to fully support
progress tracking with any accuracy. Furthermore, the level of changes may require
redesign of the progress log and progress reporting in general inside the backup code.
Thus, this bug should be reevaluated as a 6.1 feature request.
[13 May 23:40] Chuck Bell
After review of this bug, there is only one clear solution. We must removed these unused
columns until WL#4815 is completed. Thus, the patch for this bug shall remove the
following columns from the logs, code, and tests. The existing worklog shall be were the
redesign for how the progress of backup and restore operations are recorded.
[13 May 23:45] Chuck Bell
These are the columns removed:

ALTER TABLE backup_progress DROP COLUMN start_time;
ALTER TABLE backup_progress DROP COLUMN stop_time;
ALTER TABLE backup_progress DROP COLUMN total_bytes;
ALTER TABLE backup_progress DROP COLUMN progress;
[14 May 15:55] 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/74061

2810 Chuck Bell	2009-05-14
      BUG#39528 : No progress bar for backup/restore operation
      
      There are several unused columns in the backup progress log. These columns
      include start_time, stop_time, total_bytes, and progress. All of these are
      set to 0 by default and except for when the validity point is reported
      (only start_time gets set), none of these columns are set. 
      
      This is confusing for the users who expect to see progress reported.
      
      WL#4815 was created to address this problem and to design a clear 
      progress tracking mechanism for MySQL Backup. Until that work is completed,
      these extra columns must be removed. 
      
      This patch removes the extra columns from the log and source code.
      modified:
        mysql-test/suite/backup/r/backup_logs.result
        mysql-test/suite/backup/r/backup_logs_purge.result
        mysql-test/suite/backup/t/backup_logs.test
        scripts/mysql_system_tables.sql
        scripts/mysql_system_tables_fix.sql
        sql/log.cc
        sql/log.h
[14 May 16:01] 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/74063

2810 Chuck Bell	2009-05-14
      BUG#39528 : No progress bar for backup/restore operation
      
      There are several unused columns in the backup progress log. These columns
      include start_time, stop_time, total_bytes, and progress. All of these are
      set to 0 by default and except for when the validity point is reported
      (only start_time gets set), none of these columns are set. 
      
      This is confusing for the users who expect to see progress reported.
      
      WL#4815 was created to address this problem and to design a clear 
      progress tracking mechanism for MySQL Backup. Until that work is completed,
      these extra columns must be removed. 
      
      This patch removes the extra columns from the log and source code.
      modified:
        mysql-test/suite/backup/r/backup_logs.result
        mysql-test/suite/backup/r/backup_logs_purge.result
        mysql-test/suite/backup/t/backup_logs.test
        scripts/mysql_system_tables.sql
        scripts/mysql_system_tables_fix.sql
        sql/log.cc
        sql/log.h
[15 May 17:48] Hema Sridharan
Patch approved.
[19 May 21:26] Jorgen Loland
Patch approved
[19 May 23:50] 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/74528

2700 Chuck Bell	2009-05-19
      BUG#39528 : No progress bar for backup/restore operation
      
      There are several unused columns in the backup progress log. These columns
      include start_time, stop_time, total_bytes, and progress. All of these are
      set to 0 by default and except for when the validity point is reported
      (only start_time gets set), none of these columns are set. 
      
      This is confusing for the users who expect to see progress reported.
      
      WL#4815 was created to address this problem and to design a clear 
      progress tracking mechanism for MySQL Backup. Until that work is completed,
      these extra columns must be removed. 
      
      This patch removes the extra columns from the log and source code.
      modified:
        mysql-test/suite/backup/r/backup_logs.result
        mysql-test/suite/backup/r/backup_logs_purge.result
        mysql-test/suite/backup/t/backup_logs.test
        scripts/mysql_system_tables.sql
        scripts/mysql_system_tables_fix.sql
        sql/log.cc
        sql/log.h
[20 May 14:14] 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/74591

2701 Chuck Bell	2009-05-20
      BUG#39528 : No progress bar for backup/restore operation
      
      There are several unused columns in the backup progress log. These columns
      include start_time, stop_time, total_bytes, and progress. All of these are
      set to 0 by default and except for when the validity point is reported
      (only start_time gets set), none of these columns are set. 
      
      This is confusing for the users who expect to see progress reported.
      
      WL#4815 was created to address this problem and to design a clear 
      progress tracking mechanism for MySQL Backup. Until that work is completed,
      these extra columns must be removed. 
      
      This patch removes the extra columns from the log and source code.
      modified:
        mysql-test/suite/backup/r/backup_logs.result
        mysql-test/suite/backup/r/backup_logs_purge.result
        mysql-test/suite/backup/t/backup_logs.test
        scripts/mysql_system_tables.sql
        scripts/mysql_system_tables_fix.sql
        sql/log.cc
        sql/log.h
[3 Jun 9:18] Jorgen Loland
Merged to azalea June 2
[29 Jun 16:41] Paul DuBois
No changelog entry needed. Not in any released version.