Commit Graph

101 Commits

Author SHA1 Message Date
Meng Xu 43d55fb73f AtomicRestore:Fix typo in comments 2020-06-25 13:24:58 -07:00
Meng Xu c13ba7aeb4 FastRestore:Cosmetic code style improvement
Also mute some trace events
2020-06-24 21:25:37 -07:00
Meng Xu a0edd1d4eb FastRestore:Disable addPrefix test 2020-06-24 14:26:33 -07:00
Meng Xu 6eb8dc58b6 FastRestore:addPrefixTest:Fix calling transformRestoredDatabase 2020-06-23 15:02:38 -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 f6954ef038 FastRestore:Test both addPrefix and not add it 2020-06-23 13:09:02 -07:00
Meng Xu b66b8d3c74 FastRestoreTest:run writeKVs concurrently 2020-06-23 12:50:36 -07:00
Meng Xu 142fa5477b Add SevFRTestInfo trace level to control debug info in BackupAndParallelRestoreCorrectness 2020-06-23 10:49:05 -07:00
Meng Xu c20d0120ac BackupAndParallelRestoreCorrectness:Avoid false positive in SanityCheckData
addPrefix can happen to be the prefix of valid backup data. So we cannot
enforce the final data in DB does not have addPrefix as prefix
2020-06-23 07:40:43 -07:00
Meng Xu d9610fe745 BackupAndParallelRestoreCorrectness:Fix memory leak that cause nondeterminism error 2020-06-23 00:13:48 -07:00
Meng Xu 44af9273cd BackupAndParallelRestoreCorrectnessWorkload:Change unnecessary Key to KeyRef 2020-06-22 23:39:46 -07:00
Meng Xu c4ac68ef1e FastRestore:CorrectnessTest:Fix writeKVs
runRYWTransaction() should not modify states whose lifetime is outside of the funtion.
Otherwise, the retry in runRYWTransaction() will be wrong.
2020-06-22 23:00:57 -07:00
Meng Xu dd5c1ec416 FastRestore:Add debug trace
The bug behavior is:
In transformDatabaseContents(), we write all new kvs into the DB in 100 keys batch.
We immediately read these keys out.
There are 100 keys missing.
2020-06-22 19:47:21 -07:00
Meng Xu b122575dda BackupAndParallelRestoreWithAtomicOp:Turn on debug options 2020-06-22 16:53:43 -07:00
Meng Xu f16381c7e8 FastRestore:Clean backup ranges 2020-06-22 11:43:24 -07:00
Meng Xu 3d6f69c8e2 FastRestore:addPrefix:Transform must clear both orignal and transformed range
Otherwise, anything left in the range can interfer with the result.
2020-06-21 22:18:12 -07:00
Meng Xu 9318ec033d FastRestore:FixTest:Remove unnecessary read 2020-06-20 20:07:18 -07:00
Meng Xu 11af1a6916 FastRestore:Transform only backup ranges when addPrefix and removePrefix exist 2020-06-20 19:21:16 -07:00
Meng Xu faec3cc556 FastRestore:Fix attempt:Seg fault 2020-06-19 16:07:09 -07:00
Meng Xu 6eb00763bf FastRestore:Clear intermediate keys
Otherwise, the intermediate keys (keys with the addPrefix and removePrefix) will
change the DB final state and affect the consistency check.
2020-06-19 14:25:44 -07:00
Meng Xu 113f86d003 FastRestore:Fix:Transform restored keys with prefix back to original keys 2020-06-18 20:59:03 -07:00
Meng Xu a59044150f FastRestore:Transform keys when DB is locked 2020-06-18 17:51:47 -07:00
Meng Xu 8d59568dc7 FastRestore:Fix:Forgot to assign transformed key to mutations
The earlier change in restore logic did not really take effect.
This commit fix it and confirm the addPrefix test does cause expected
failures if we do not transform the keys at the end of the test.
2020-06-18 17:40:16 -07:00
Meng Xu 1873ba6f90 FastRestore:Minor change on trace events 2020-06-18 16:09:18 -07:00
Meng Xu 71d76e5c7c FastRestore:Fix testing on addPrefix 2020-06-18 15:54:19 -07:00
Meng Xu 21ced91e64 FastRestore:Evaluate addPrefix test is used 2020-06-18 13:43:33 -07:00
Meng Xu 3a2ae7cb0e FastRestore:Test:Generate random addPrefix 2020-06-18 12:45:18 -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
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
Jingyu Zhou 4315af25e7 Fix unfinished restore tests
Because backup worker is disabled before performing the restore, we can't allow
a new backup of the new type running.
2020-05-19 15:18:45 -07:00
tclinken 943e8e7e84 More fixes for OPEN_FOR_IDE build 2020-05-01 23:04:12 -07:00
Jingyu Zhou 0e54f1ed31 Fix a test failure
minRestorableVersion may be decided by snapshot version and is larger than
contiguousLogEnd version.
2020-04-20 22:26:42 -07:00
Meng Xu 916d361587 BackupAndParallelRestoreCorrectness:Remove unnecessary checking optional variable 2020-04-17 18:32:14 -07:00
Meng Xu 14406ad940 BackupAndParallelRestoreCorrectness:Assert on backup validity 2020-04-17 13:51:39 -07:00
Meng Xu 52dba96f07 Fix:Segmentation fault when get status in BackupAndParallelRestore workload 2020-04-17 13:40:32 -07:00
Jingyu Zhou 4e128328f7 Stop backup workers before clearing DB in parallel restore workload
This is because the clearing of DB can be picked up by backup workers and be
applied during restore, causing restore failures.
2020-04-11 10:26:08 -07:00
Jingyu Zhou db2cef844b Write mutation log type as a backup property
This can solve the problem when listing log files returns empty results.
2020-04-09 09:29:24 -07:00
Jingyu Zhou 0cf6013357 Refactor to remove describePartitionedBackup()
The backup container can figure out if partitioned logs are used by looking at
mutation logs, thus consolidating the API to a single describeBackup() as
before.
2020-04-08 15:59:37 -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
Meng Xu 75fc9af5c8 Apply clang format 2020-03-27 16:55:52 -07:00
Meng Xu 32b0ba1822 Merge branch 'master' into mengxu/parallel-range-log-file-loading-PR 2020-03-27 12:13:47 -07:00
Meng Xu 113d0fb48b Remove incorrect assertion 2020-03-27 12:13:30 -07:00
Jingyu Zhou 6be913a430 Add partitioned logs option to AtomicRestore workload 2020-03-26 13:04:00 -07:00
Jingyu Zhou aca458cd96 Set 50% chance to restore old backup files for fast restore 2020-03-26 13:04:00 -07:00
Jingyu Zhou 772ab70aee Add an option for fast restore to restore old backups
If "usePartitionedLogs" is set to false, then the workload uses old backups for
restore.
2020-03-26 13:04:00 -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