Commit Graph

288 Commits

Author SHA1 Message Date
Meng Xu f10e9ea679 FastRestoreApplier:Add write conflict range 2020-09-09 12:12:14 -07:00
Meng Xu e69ee87f33 Refactor blob failure to simulateBlobFailure function 2020-09-09 10:54:21 -07:00
Meng Xu 20733ae1eb Simulate throwing blob http error immediately after read blob file 2020-09-09 06:47:19 -07:00
Meng Xu cffb54ba0b Buggify decodeLogFileBlock with blob http error 2020-09-09 06:44:02 -07:00
Meng Xu f3986d201d Buggify backup decodeRangeFileBlock with blob connection error 2020-09-09 06:40:41 -07:00
KoukiNishihara ab3de8700e Rename fastRestoreAgent to fastRestoreTool 2020-07-03 00:16:39 +09:00
Meng Xu c13ba7aeb4 FastRestore:Cosmetic code style improvement
Also mute some trace events
2020-06-24 21:25:37 -07:00
Meng Xu 94b1e17a96 FastRestore:Fix:Avoid reset txn backoff time in sanity check 2020-06-24 21:10:47 -07:00
Meng Xu d2b71e77c2 FastRestore:Fix:checkDatabaseLock tr should not reset 2020-06-24 20:21:49 -07:00
Meng Xu b69c36f0d6 transformDatabaseContents:cosmetic change 2020-06-23 19:27:58 -07:00
Meng Xu 198696bc1e Move transformRestoredDatabase from server to client
AtomicRestore workload turns out to rely on the FileBackupAgent
client. Keeping transformRestoredDatabase in server makes linking harder.
2020-06-23 15:48:43 -07:00
Meng Xu 6eb8dc58b6 FastRestore:addPrefixTest:Fix calling transformRestoredDatabase 2020-06-23 15:02:38 -07:00
Meng Xu 84a640e4ee AtomicRestore:Add addPrefix test for fast restore 2020-06-23 14:52:27 -07:00
Meng Xu 4e27fd34e5 Refactor transformDatabaseContents into RestoreCommon
Prepare to enable addPrefix for atomicRestore
2020-06-23 14:33:13 -07:00
Meng Xu 2fcef90cbc FastRestore:Add addPrefix and removePrefix feature 2020-06-18 11:58:42 -07:00
Meng Xu d7a8e554ed FastRestore:Test for addPrefix and removePrefix
Add the skeleton code to test;
addPrefix and removePrefix are all empty for now.
2020-06-17 20:36:53 -07:00
Meng Xu 164814cd23 Merge branch 'release-6.3' into mengxu/fr-addPrefix-PR
Also remove the unnecessary try catch block for unlockDatabase() in
parallelRestoreFinish actor
2020-06-09 22:04:19 -07:00
Jingyu Zhou df064ac922
Merge pull request #3321 from xumengpanda/mengxu/fr-restore-ranges-PR
Fast Restore: Support restoring sub ranges in the framework
2020-06-09 21:01:39 -07:00
Meng Xu dd8af487ec FileBackupAgent:parallelRestoreFinish:verify if operation_cancelled error ever happens 2020-06-09 17:08:57 -07:00
Meng Xu 8533daac50 parallelRestoreFinish:fix used_during_commit error 2020-06-09 15:40:24 -07:00
Meng Xu e5e4cb5c90 parallelRestoreFinish:separate check restore finished and clear restoreRequestDoneKey 2020-06-09 11:32:20 -07:00
Meng Xu d85dc5a4d3 FastRestore:Only clear ranges that will be restored
Instead of clearning the entire normal key space.

This commit also removes some unnecessary tr->reset() which can invalid the txn backoff time.
2020-06-08 22:41:49 -07:00
Meng Xu e7fdd614fe Remove assert on error_code_key_not_found in previous commit
Correctnss shows the assert does not hold in all scenarios
2020-06-08 19:02:56 -07:00
Meng Xu 5022566b35 Validate if key_not_found error ever happens 2020-06-08 16:59:00 -07:00
Jingyu Zhou a833724322
Merge pull request #3078 from xumengpanda/mengxu/fr-circus-stall-PR
Performant restore: Various improvements based on circus test
2020-05-07 20:07:23 -07:00
Meng Xu 7b5d43da9c FastRestore:Remove unused field in RestoreRequest 2020-05-03 20:59:47 -07:00
tclinken 494d1d3518 Fixed unused variable warning in atomicParallelRestore 2020-05-01 18:14:51 -07:00
Meng Xu a998fa1e1a
Merge pull request #3053 from xumengpanda/mengxu/fr-bc-fix-PR
Fix performant restore bug introduced in PR 3041
2020-04-29 17:09:26 -07:00
Meng Xu 3f510d0653
Merge pull request #3036 from jzhou77/backup-cmd
Several bug fixes for new backups
2020-04-29 16:34:59 -07:00
Jingyu Zhou 9da76c35ea Fix a memory corruption error
The backup container URL should be Key instead of KeyRef.
2020-04-29 15:55:34 -07:00
Meng Xu 33dedaab35 FastRestore:Fix submitParallelRestore when targetVersion is unset 2020-04-29 15:44:54 -07:00
Jingyu Zhou 364142d02c Fix backupWorkerEnabled flag not set bug for first backup
This can cause restore failures because the latestLogEndVersion could be wrong.
2020-04-28 15:39:24 -07:00
Jingyu Zhou 7d59e53349 Consolidate makePadding() 2020-04-28 15:39:23 -07:00
Meng Xu f5e8345496 FastRestoreAgent:Use atomicParallelRestore to kick off restore
Replace the handcrafted version with atomicParallelRestore actor
which is simulation tested
2020-04-27 22:15:00 -07:00
Jingyu Zhou 3063611355 Write range files' begin & end keys to manifest file
This information can be very useful in knowing the content in these files,
especially for restores.
2020-04-20 22:26:42 -07:00
Jingyu Zhou 60407bdee3 Use LiteralStringRef for backup paused key 2020-04-07 16:02:25 -07:00
Jingyu Zhou 9fb3fb9d82 Add pause/resume for new backups
To pause/resume the backup workers, the fdbbackup command will write to the
backupPausedKey. Then backup workers noticed the value of the key has been
changed and stops/resumes pulling from TLog.
2020-04-06 14:29:46 -07:00
Jingyu Zhou efbd01894d Really fix the stuck of backup 2020-03-28 17:38:02 -07:00
Jingyu Zhou f0d0c863e6 Attempt to fix 2020-03-28 17:38:02 -07:00
Jingyu Zhou 78f74ed6fe Skip copying inside BackupLogsDispatchTask 2020-03-28 17:38:02 -07:00
Jingyu Zhou a2b8be5dc6 Switch off old mutation logging on proxies for new backups
Specifically, stop writing LogRange mutation for new backup jobs.
2020-03-28 17:38:02 -07:00
Jingyu Zhou 9a9af7d8a8 Add more trace event details on partitioned log 2020-03-26 13:57:31 -07:00
Jingyu Zhou feedab02a0
Merge pull request #2855 from xumengpanda/mengxu/fr-api-atomicrestore-PR
Add ApiCorrectnessAtomicRestore workload for the new performant restore
2020-03-25 18:05:26 -07:00
Meng Xu 495afe2e0b Improve how to wati for restore to finish
Remove default parameter for atomicRestore as suggested in review.
2020-03-25 13:54:21 -07:00
Meng Xu 1ba11dc74b Apply clang format 2020-03-25 11:20:17 -07:00
Meng Xu 120272f025 Change unlockDB from RestoreMaster to Agent 2020-03-25 11:04:49 -07:00
Meng Xu 130b91c820 Fix segmentation fault in submitParallelRestore 2020-03-24 23:52:34 -07:00
Meng Xu ca8966a28b Move lockDB into submitRestore request from restore worker
AtomicRestore needs to lock DB before we start the restore worker.
So we cannot lock DB in restore worker with a different randomUID.
2020-03-24 23:39:35 -07:00
Meng Xu e59becdec8 Refactor atomicRestore for atomicParallelRestore 2020-03-24 22:37:12 -07:00
Meng Xu 241c2703c8 Fix atomicParallelRestore interface 2020-03-24 17:00:55 -07:00