| Bug #43221 | Test backup_logs fails on powermac platform. | ||
|---|---|---|---|
| Submitted: | 26 Feb 2009 10:55 | Modified: | 28 Oct 2009 22:28 | 
| Reporter: | Rafal Somla | Email Updates: | |
| Status: | Closed | Impact on me: | |
| Category: | MySQL Server: Backup | Severity: | S3 (Non-critical) | 
| Version: | OS: | Any | |
| Assigned to: | Chuck Bell | CPU Architecture: | Any | 
| Tags: | pushbuild failure | ||
   [26 Feb 2009 10:55]
   Rafal Somla        
  
 
   [13 Jun 2009 9:59]
   Patrick Crews        
  It should be noted that this test passes on my Intel Mac running 10.5.
   [12 Aug 2009 21:58]
   Sveta Smirnova        
  This is still repeatable on powermacg5
   [14 Aug 2009 1:17]
   Chuck Bell        
  I've run across this before in BUG#40807. That bug was subsequently closed as 'cannot repeat' because a subsequent pull from main fixed it. The problem then was the timezone value was incorrect on powermac and caused the calculation in the following to fail. (image_info.h @905) return mktime(&time) - (time_t)timezone; My suspicion is this problem has returned. Note also that the backup code is the only part of the system that is using this variable/definition and it is my recommendation that the code be changed to use the same operations as the rest of the server -- specifically, getting the current timezone from the THD class. This may require changing or eliminating the backup-specific time structure.
   [9 Sep 2009 19:10]
   Chuck Bell        
  From the 8 September backup meeting ----------------------------------- We decided to change the internal storage of the time from the backup-specific broken out time (which requires conversion to/from other formats) to simply storing time_t in the backup code and backup image. This worklog then should effect that change and thus solve the bug report.
   [11 Sep 2009 17:13]
   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/83078 2868 Chuck Bell 2009-09-11 BUG#43221 : Test backup_logs fails on powermac platform The backup_logs test fails on the powermac platform because the timezone variable is not set correctly thus the timezone calculation in the backup code in image_info.h (see below) fails. return mktime(&time) - (time_t)timezone; It was decided on 8 September 2009 to change the internal format for time in the backup stream from bstream_time_t which was a special segmented format to the standard time_t format. This patch effects this change and renenables the backup_logs test. Note: This is a patch 1 of 2 as it is necessary to apply this patch first with the backup_xpfm_compat_restore* tests disabled then submit a second patch that replaces the backup image files needed in those tests and reenable them. Note: This patch changes the backup image format. @ client/mysqlbackup.cc Corrected time printout using time_t conversion to time. @ mysql-test/suite/backup/r/backup_logs.result Corrected result file (we are storing 4 extra bytes for time values). @ mysql-test/suite/backup/t/backup_logs.test Reenable test for Mac platforms. @ mysql-test/suite/backup/t/disabled.def Added the bacup_xpfm_compat_restore* tests. This is necessary so that the backup_xpfm_backup* tests can generate the new backup image files needed for the restore tests. A new patch will be created once PB is finished that will reenable the tests and supply a new set of backup image files. @ sql/backup/image_info.h Remove bstream_time_t and related structures. @ sql/backup/stream_v1.c Add new methoda to read/write time from/to backup image. Change to time_t type for all time values. @ sql/backup/stream_v1.h Remove bstream_time_t and related structures. Add new method to read time from backup image. Change to time_t type for all time values.
   [11 Sep 2009 17:16]
   Chuck Bell        
  The solution for this bug requires a two-pass effort to correctly fix the tests in pushbuild. This is because there are a set of backup image files used for the backup_xpfm_compat_restore* tests that must be replaced. But they cannot be regenerated until the patch that effects the time_t change. Thus, there will be two patches -- the first to effect the time_t change and disable the restore tests, the second to fix the backup image files and reenable the restore tests. Documentation Notice: This patch changes the backup image format. The new code will not be able to restore backup images made by releases prior to this.
   [12 Sep 2009 15:42]
   Ingo Strüwing        
  Approved pending changes. Please see email.
   [14 Sep 2009 19:34]
   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/83212 2868 Chuck Bell 2009-09-14 BUG#43221 : Test backup_logs fails on powermac platform The backup_logs test fails on the powermac platform because the timezone variable is not set correctly thus the timezone calculation in the backup code in image_info.h (see below) fails. return mktime(&time) - (time_t)timezone; It was decided on 8 September 2009 to change the internal format for time in the backup stream from bstream_time_t which was a special segmented format to the standard time_t format. This patch effects this change and renenables the backup_logs test. Note: This is a patch 1 of 2 as it is necessary to apply this patch first with the backup_xpfm_compat_restore* tests disabled then submit a second patch that replaces the backup image files needed in those tests and reenable them. Note: This patch changes the backup image format. @ client/mysqlbackup.cc Corrected time printout using time_t conversion to time. @ mysql-test/suite/backup/r/backup_logs.result Corrected result file (we are storing 4 extra bytes for time values). @ mysql-test/suite/backup/t/backup_logs.test Reenable test for Mac platforms. @ mysql-test/suite/backup/t/disabled.def Added the bacup_xpfm_compat_restore* tests. This is necessary so that the backup_xpfm_backup* tests can generate the new backup image files needed for the restore tests. A new patch will be created once PB is finished that will reenable the tests and supply a new set of backup image files. @ sql/backup/image_info.h Remove bstream_time_t and related structures. @ sql/backup/stream_v1.c Add new methoda to read/write time from/to backup image. Change to time_t type for all time values. @ sql/backup/stream_v1.h Remove bstream_time_t and related structures. Add new method to read time from backup image. Change to time_t type for all time values.
   [14 Sep 2009 20:06]
   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/83215 2868 Chuck Bell 2009-09-14 BUG#43221 : Test backup_logs fails on powermac platform The backup_logs test fails on the powermac platform because the timezone variable is not set correctly thus the timezone calculation in the backup code in image_info.h (see below) fails. return mktime(&time) - (time_t)timezone; It was decided on 8 September 2009 to change the internal format for time in the backup stream from bstream_time_t which was a special segmented format to the standard time_t format. This patch effects this change and renenables the backup_logs test. Note: This is a patch 1 of 2 as it is necessary to apply this patch first with the backup_xpfm_compat_restore* tests disabled then submit a second patch that replaces the backup image files needed in those tests and reenable them. Note: This patch changes the backup image format. @ client/mysqlbackup.cc Corrected time printout using time_t conversion to time. @ mysql-test/suite/backup/r/backup_logs.result Corrected result file (we are storing 4 extra bytes for time values). @ mysql-test/suite/backup/t/backup_logs.test Reenable test for Mac platforms. Added note about printing out datetime in local time once WL#5051 is fixed. @ mysql-test/suite/backup/t/disabled.def Added the bacup_xpfm_compat_restore* tests. This is necessary so that the backup_xpfm_backup* tests can generate the new backup image files needed for the restore tests. A new patch will be created once PB is finished that will reenable the tests and supply a new set of backup image files. @ sql/backup/image_info.h Remove bstream_time_t and related structures. @ sql/backup/stream_v1.c Add new methoda to read/write time from/to backup image. Change to time_t type for all time values. @ sql/backup/stream_v1.h Remove bstream_time_t and related structures. Add new method to read time from backup image. Change to time_t type for all time values.
   [15 Sep 2009 7:45]
   Jørgen Løland        
  Good to push
   [15 Sep 2009 15:03]
   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/83301 2868 Chuck Bell 2009-09-15 BUG#43221 : Test backup_logs fails on powermac platform The backup_logs test fails on the powermac platform because the timezone variable is not set correctly thus the timezone calculation in the backup code in image_info.h (see below) fails. return mktime(&time) - (time_t)timezone; It was decided on 8 September 2009 to change the internal format for time in the backup stream from bstream_time_t which was a special segmented format to the standard time_t format. This patch effects this change and renenables the backup_logs test. Note: This is a patch 1 of 2 as it is necessary to apply this patch first with the backup_xpfm_compat_restore* tests disabled then submit a second patch that replaces the backup image files needed in those tests and reenable them. Note: This patch changes the backup image format. @ client/mysqlbackup.cc Corrected time printout using time_t conversion to time. @ mysql-test/suite/backup/r/backup_logs.result Corrected result file (we are storing 4 extra bytes for time values). @ mysql-test/suite/backup/t/backup_logs.test Reenable test for Mac platforms. Added note about printing out datetime in local time once WL#5051 is fixed. @ mysql-test/suite/backup/t/disabled.def Added the bacup_xpfm_compat_restore* tests. This is necessary so that the backup_xpfm_backup* tests can generate the new backup image files needed for the restore tests. A new patch will be created once PB is finished that will reenable the tests and supply a new set of backup image files. @ sql/backup/image_info.h Remove bstream_time_t and related structures. @ sql/backup/stream_v1.c Add new methoda to read/write time from/to backup image. Change to time_t type for all time values. @ sql/backup/stream_v1.h Remove bstream_time_t and related structures. Add new method to read time from backup image. Change to time_t type for all time values.
   [15 Sep 2009 15:05]
   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/83302 2869 Chuck Bell 2009-09-15 [merge] Local merge prior to push of BUG#43221 patch 1 of 2
   [15 Sep 2009 18:48]
   Chuck Bell        
  Patch 1 of 2 pushed.
   [28 Sep 2009 15:51]
   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/84893
   [28 Sep 2009 16:42]
   Ingo Strüwing        
  Patch 2 of 2 queued to mysql-6.0-backup.
   [25 Oct 2009 13:38]
   Bugs System        
  Pushed into 6.0.14-alpha (revid:alik@sun.com-20091025133616-ca4inerav4vpdnaz) (version source revid:ingo.struewing@sun.com-20090929164722-2bz8vvmf4of66g3t) (merge vers: 6.0.14-alpha) (pib:13)
   [28 Oct 2009 22:28]
   Paul DuBois        
  Noted in 6.0.14 changelog. Time zone calculation for backups was not correct on the powermac platform because the timezone variable was not set correctly. This fix involves a change to the internal format of times in backup image files, so backups made prior to this release cannot be restored using the current backup code.

