David Steele
7248795b91
Work on issue #48 : Abandon threads and go to processes
...
Replaced IPC::System::Simple and Net::OpenSSH with IPC::Open3 to eliminate CPAN dependency for multiple distros. Using open3 will also be used for local processes so it make sense to switch now.
2015-06-29 22:07:42 -04:00
David Steele
61dfeca3c1
Fixed issue #108 : Incompatibility with Perl 5.10.1
2015-06-21 12:06:13 -04:00
David Steele
0b6f81a812
Implemented issue #50 : Reverse ordering by file size.
2015-06-14 09:36:58 -04:00
David Steele
148836fe44
Implemented issue #26 : Info command.
...
* Includes updating the manifest to format 4. It turns out the manifest and .info files were not very good for providing information. A format update was required anyway so worked through the backlog of changes that would require a format change.
* Multiple database versions are now supported in the archive. Does't actually work yet but the structure should be good.
* Tests use more constants now that test logs can catch name regressions.
2015-06-13 18:25:49 -04:00
David Steele
ca0c866d3b
Implement issue #71 : log a message when waiting for a checkpoint
...
Some other log improvements
2015-05-26 12:26:59 -04:00
David Steele
d5335b40e8
Fix for issue #80 : enabling archive-copy causes failing differential & incremental backups
2015-05-22 14:49:14 -04:00
David Steele
095a9a0b83
Added resume setting to allow disabling resume feature.
2015-05-07 10:29:30 -06:00
David Steele
328c2ca5c0
Much better resume:
...
1) Re-checksums files that have checksums in the manifest
2) Recopies files that do not have a checksum
3) Saves the manifest at regular intervals to preserve checksums
4) Unit tests for all cases (that I can think of)
2015-05-06 18:24:34 -06:00
David Steele
56588f6fdd
Log testing can now be enabled for certain deterministic tests. This works by comparing the generated logs against a previous copy. Currently only enabled for the backup/synthetic tests.
2015-05-05 11:08:48 -06:00
David Steele
f1cc1d6123
Refactored backup manifest update by centralizing the code.
2015-04-11 15:02:04 -04:00
David Steele
7081c8b867
New model where threads are created early and destroyed late.
...
Backups now work like restores in terms of how jobs are queued.
Split out BackupFile and RestoreFile for easier multi-threading/processing.
2015-04-07 07:34:37 -04:00
David Steele
984fceea67
Moved archive functions from pg_backrest.pl and Backup.pl to Archive.pm.
...
Moved Remote code from pg_backrest.pl to Config.pm.
Added version specific code to regression tests and Db.pm.
archive-push checks for duplicate WAL in the archive.
archive-push reads the db sys id to match up WAL to the correct archive.
2015-04-01 15:58:33 -04:00
David Steele
58d6c37f4a
Changed permission to mode in manifest.
2015-03-23 17:17:43 -04:00
David Steele
8a3c6388b2
Removed WAL from some option names - still waffling on this naming thing.
2015-03-23 16:01:15 -04:00
David Steele
1729fa1c51
Added unit tests for expiration.
2015-03-17 18:31:05 -04:00
David Steele
f4f31302f0
Broke archive-required into two options: backup-wal-check and backup-wal-store.
2015-03-16 14:45:53 -04:00
David Steele
882f068254
All config options can now be provided on the command-line.
...
Lots of name changes, but more thought needed there.
Still needs cleanup.
2015-03-12 12:15:19 -04:00
David Steele
ae6bdecfaf
Split command-line parameter processing out into a separate file. This is in preparation allowing all parameters to be specified/overridden on the command line, with pg_backrest.conf being option.
2015-03-08 13:26:09 -04:00
David Steele
d19baefdb9
Removed db-timestamp-start and stop from manifest. Better to get these values from
2015-03-03 22:33:41 -05:00
David Steele
3d0d308a98
Made all warnings FATAL.
...
Fixed one bug that was exposed.
2015-03-03 00:57:20 -05:00
David Steele
0df1b7c473
Changed file sizes are now detected and stored in the manifest.
...
Remove thread file minimums - they are unrealistic for a real db and hinder unit tests.
2015-03-01 22:43:32 -05:00
David Steele
76391dde90
Archive checksums are not calculated in stream.
2015-03-01 16:42:27 -05:00
David Steele
7ede058b45
Backup checksums are no longer optional.
2015-02-28 20:31:56 -05:00
David Steele
28326d6b4c
File->copy now returns hash and size in all cases, though the local copies are not optimal. They just call hash_size().
2015-02-28 19:07:29 -05:00
David Steele
f93c6caec2
Backup/restore copy will be run in the main process when thread-max=1. I've resisted this change because it adds complexity, but I have to accept that threads are not stable on all platforms. Or maybe any platform.
2015-02-28 10:23:33 -05:00
David Steele
d2602a5c07
Tracking down a lockup in the restore threads. It doesn't happen in backup - they are the same except that restore uses the ThreadGroup object. I'm beginning to think that threads and objects don't play together very nicely. Objects in threads seems OK, but threads in objects, not so much.
2015-02-03 20:33:33 -05:00
David Steele
d4aae88bec
Try non-blocking dequeue in backup.
2015-02-02 20:11:32 -05:00
David Steele
bde8943517
Fixes to restore compare unit tests.
2015-02-02 18:33:11 -05:00
David Steele
018a2afaca
Moved bNoStartStop tablespace mapping to Manifest object.
2015-01-31 18:23:37 -05:00
David Steele
d7b669d560
Moved manifest build to manifest object.
2015-01-31 18:15:08 -05:00
David Steele
0c9da6a5ab
Removed version file - redundant to the version in backup.manifest.
2015-01-31 15:06:53 -05:00
David Steele
e524c4dd1a
Timeline unit tests are working.
...
Options from config file are being written to recovery.conf.
Fixed issue with .history files not being picked up by archive-xfer.
2015-01-31 13:48:09 -05:00
David Steele
cd9df8b4f8
Renamed uninit to cleanup.
2015-01-31 09:05:05 -05:00
David Steele
11c257296a
In the end it was a single non-undefed reference holding up the show. The Backup file should be split into Archive, Backup, Expire, and made into objects. That would cut down on this kind of nastiness.
2015-01-30 20:16:21 -05:00
David Steele
50e015a838
Revert "Abortive attempt at cleaning up some thread issues - I realized the issue is in mixing threads and objects too liberally. Trying another approach but want to keep this code for historical and reference purposes."
...
This reverts commit e95631f82a
.
2015-01-30 18:58:49 -05:00
David Steele
e95631f82a
Abortive attempt at cleaning up some thread issues - I realized the issue is in mixing threads and objects too liberally. Trying another approach but want to keep this code for historical and reference purposes.
2015-01-30 14:55:55 -05:00
David Steele
13544d51bf
Recovery is working for none and default, but unit tests are not complete.
2015-01-27 11:44:23 -05:00
David Steele
f59aae101d
Ready to start writing recovery unit tests.
2015-01-26 14:59:58 -05:00
David Steele
6db49e1083
Cleaned up some time functions.
2015-01-25 12:20:12 -05:00
David Steele
82969eb497
Wrote some helper functions to make backup unit tests simpler.
...
Fixed an issue with checksum generation in resume.
2015-01-22 17:43:19 -05:00
David Steele
b53cb9f64e
Unit tests for backup resume.
...
Improved warning message when a backup cannot be resumed.
2015-01-22 10:54:02 -05:00
David Steele
fc2838d60f
All references to old-style manifest eliminated (hopefully).
2015-01-21 18:37:49 -05:00
David Steele
ba7a939798
More migration to manifest object.
2015-01-21 10:44:08 -05:00
David Steele
a938813c01
More migration to manifest object.
2015-01-20 19:04:45 -05:00
David Steele
c33bc1e899
More migration to manifest object.
2015-01-20 18:00:03 -05:00
David Steele
44fad1f4a4
Improvements to manifest save.
2015-01-20 14:42:22 -05:00
David Steele
8a7ee1bb1f
Integration of new Manifest object.
2015-01-20 14:13:35 -05:00
David Steele
2e09df2cec
More work on new manifest object.
2015-01-08 12:04:56 -05:00
David Steele
4f5ad8496d
Integrating new manifest object.
2015-01-07 10:59:43 -05:00
David Steele
d6d57e654e
Fixed the way wait was done after the manifest is created. Previously, waits were done for base and each tablespace which is not very efficient. Now one wait is done after the entire manifest is built. Also storing the exact time that copy began.
2015-01-06 13:08:56 -05:00