Commit Graph

11009 Commits

Author SHA1 Message Date
Meng Xu 4b35685e99 FastRestore:Adjust knob based on circus test 2020-06-29 10:13:18 -07:00
Meng Xu 82dfb5ce3f FastRestore:Update process metrics for restore master 2020-06-28 12:37:04 -07:00
Meng Xu bc98c84346 RestoreLoader release data early and revert Lower priority for RestoreApplierReceiveMutations actor
A quick evalution shows lowering priority for receive mutation actor does not help restore speed but hurt it.
2020-06-28 11:12:06 -07:00
Meng Xu 026a735703 Test perf without gracefully clear memory 2020-06-27 16:15:56 -07:00
Meng Xu d6381de16f RestoreLoader:Clear memory per loading param 2020-06-27 15:51:19 -07:00
Meng Xu ca7beb5a26 Fix compilation 2020-06-27 15:21:06 -07:00
Meng Xu f18a0a242d FastRestore:Loader frees mutation memory immediately after send mutations 2020-06-27 15:19:08 -07:00
Meng Xu e57dba00bd FastRestore:Lower priority for RestoreApplierReceiveMutations actor 2020-06-27 15:16:38 -07:00
Meng Xu 78c45c1200 Knob for txn delay and add back FlowLock to control txn concurrency 2020-06-27 10:13:34 -07:00
Meng Xu ecd2d8b239 FastRestore:Add counters for applier and disable FlowLock on applyStagingKeysBatch 2020-06-27 00:20:54 -07:00
Jingyu Zhou 8f842a66e4
Merge pull request #3397 from xumengpanda/mengxu/fr-addPrefix-PR
Fast Restore: Support and test addPrefix and removePrefix feature
2020-06-25 14:06:39 -07:00
Meng Xu 43d55fb73f AtomicRestore:Fix typo in comments 2020-06-25 13:24:58 -07:00
Steve Atherton af6b141736
Merge pull request #3407 from sfc-gh-tclinkenbeard/fix-vectorref-memory-leaks
Fix memory leaks in VectorRef
2020-06-25 00:54:33 -07:00
Meng Xu 5860a5b4db FastRestore:Suppress or mute spammy trace events 2020-06-24 22:10:54 -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 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
Jingyu Zhou 5cd3dad986
Merge pull request #3409 from sears/assert_strings
Print out the text (to stderr and as trace) of the failed condition o…
2020-06-24 14:58:12 -07:00
Meng Xu a0edd1d4eb FastRestore:Disable addPrefix test 2020-06-24 14:26:33 -07:00
Russell Sears 422003df34 Print out the text (to stderr and as trace) of the failed condition on assert failure 2020-06-24 14:21:48 -07:00
sfc-gh-tclinkenbeard 3f6222a04d Mark DebugEntryRef trivially destructible 2020-06-24 14:08:22 -07:00
sfc-gh-tclinkenbeard 8de70432a6 Fix memory leaks in VectorRef
VectorRef<T> relies on T being trivially destructible, but this was not
yet enforced. By statically asserting that T is trivially destructible,
we avoid leaking memory by not calling the destructor for non-trivially
destructible types
2020-06-24 10:54:19 -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
Evan Tschannen 0000d81595
Merge pull request #3377 from yliucode/fix-recent-requests
Fix GetReadVersionReply.recentRequests to reflect a proxy's number of recent requests in the commit stats.
2020-06-23 15:05:57 -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 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 d0c0d06b1e FastRestore:Avoid calling withPrefix when addPrefix is not set
It help improve performance when addPrefix is not set.
2020-06-23 10:43:35 -07:00
Meng Xu 10e043da9d Format sim2 code a bit 2020-06-23 10:07:39 -07:00
Meng Xu 90861ead6a Reenable all tests in BackupAndParallelRestoreWithAtomicOp 2020-06-23 08:29:31 -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 9cff90fb5f runRYWTransaction:Add comment to remind func should be idempodent 2020-06-22 23:04:09 -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