Meng Xu
8d6f511816
FastRestore:Resolve review comment
...
Filter out range mutations that do not overlap with the restore range.
Small changes on format.
2019-12-22 20:09:10 -08:00
Meng Xu
ddcf3fdd80
FastRestore:Apply clang format
2019-12-20 22:00:36 -08:00
Meng Xu
d888e3100b
FastRestore:Applier:Add invariant
2019-12-20 19:34:28 -08:00
Meng Xu
e98b2a0d1c
FastRestore:Introduce RestoreAsset
2019-12-20 18:00:10 -08:00
Meng Xu
1371db4cdc
FastRestore:Self code review and cleanup
...
1. Review memory use cases and improve:
Ensure state varialble is initialized and
change unnecessary state variable to variable.
2. Remove debug code that is no longer useful;
3. Mute verbose debug.
2019-12-11 16:37:33 -08:00
Meng Xu
feb2a8c70c
FastRestore Change RestoreSendMutationVectorVersionedRequest name
...
Change RestoreSendMutationVectorVersionedRequest to
RestoreSendVersionedMutationsRequest for better naming
2019-12-10 17:23:40 -08:00
Meng Xu
39a4f2372f
Change FASTRESTORE_SAMPLING_PERCENT to 0 to 100
2019-12-04 21:26:27 -08:00
Meng Xu
c6b36dbffb
FastRestore:Sampling:Resolve review comments
2019-12-04 17:35:11 -08:00
Meng Xu
2b987d1945
FastRestore:typedef Standalone<VectorRef<MutationRef>> MutationsVec
2019-12-04 11:39:55 -08:00
Meng Xu
9383c3f0a6
FastRestore:Sampling:Apply clang format
2019-12-03 21:27:06 -08:00
Meng Xu
3310f67e9e
Merge branch 'mengxu/fast-restore-fix-valgrind-PR' into mengxu/fast-restore-sampling-PR
2019-12-03 16:24:40 -08:00
Meng Xu
530b689299
Move state variable to the start of function
2019-11-26 11:17:59 -08:00
Meng Xu
474f0067c4
Remove unneeded state
2019-11-25 23:10:14 -08:00
Meng Xu
bb97307f08
FastRestore:Applier:Move state variables at the start of actor
2019-11-25 21:25:14 -08:00
Jingyu Zhou
ae7e42face
Merge pull request #2313 from xumengpanda/mengxu/fastrestore-applyToDB-bugfix-PR
...
Performant restore [8/XX]: Fix bugs in applyToDB logic and add more tests
2019-11-12 08:50:23 -08:00
Meng Xu
630c29d160
FastRestore:resolve review comments
...
1) wait on whenAtLeast;
2) Put BigEndian64 into the function call and the decoder to prevent
future people from making the same mistake.
2019-11-11 17:00:16 -08:00
Meng Xu
eb67886b75
FastRestore:Move comment to func definition
...
Resolve review comments.
2019-11-11 15:10:27 -08:00
Meng Xu
e345c9061f
FastRestore:Refine debug messages
2019-11-04 11:47:38 -08:00
Meng Xu
27c7ef09a3
FastRestore:Revise code in self review
...
When we read the txnId from decodeRestoreApplierKey func,
we should convert the integer to little endian.
2019-11-03 20:43:17 -08:00
Meng Xu
58aa6711e4
FastRestore:ApplyToDB:BugFix:Serialize integer as bigEndian to ensure lexico order
2019-11-03 17:26:07 -08:00
Meng Xu
c53f817c5e
FastRestore:Convert handleInitVersionBatchRequest to plain func
2019-10-24 13:06:50 -07:00
Meng Xu
b1881a7c1c
FastRestore:Apply clang-format
2019-10-23 20:49:14 -07:00
Meng Xu
bae0c907a6
FastRestore:Convert unnecessary actor function to plain function
2019-10-23 15:10:34 -07:00
Meng Xu
ba7e499efe
FastRestore:AtomicOpTest:Limit 1 actor per client
2019-10-23 14:04:14 -07:00
Meng Xu
41f0cd624b
FastRestore:Applier:Use shouldCommit to replace the duplicate code
2019-10-23 13:36:19 -07:00
Meng Xu
96d463bab6
FastRestore:Fix bug in applying mutations and increase atomicOp test worload
...
When Applier applies mutations to the destination cluster, it advances the
mutation cursor twice when it should only advance it once.
This makes restore miss some mutations when the applying txn includes
more than 1 mutations.
2019-10-22 23:24:23 -07:00
Meng Xu
2dbbce55a8
FastRestore:Applier:Mute debug trace
2019-10-21 14:36:07 -07:00
Meng Xu
4af69fd94f
Merge branch 'master' into mengxu/fastrestore-multifiles-has-sameversion-mutations-PR-testPR
2019-10-21 14:35:04 -07:00
Meng Xu
f08ad48b7b
FastRestore:Applier:handleSendMutationVectorRequest:Add comment
2019-10-21 14:31:21 -07:00
Meng Xu
4efddc9b89
FastRestore:Applier:Reduce LoC
...
When a key does not exist in a map, it is created by default when it is accessed by []
2019-10-21 14:31:21 -07:00
Meng Xu
6f1ecd1b11
FastRestore:handleSendMutationVectorRequest:Receive mutations in order of versions
2019-10-21 14:31:21 -07:00
Meng Xu
ab946eb24f
FastRestore:Applier:Turn on debug
2019-10-19 17:07:31 -07:00
Meng Xu
0fe0a14987
FastRestore:handleSendMutationVectorRequest:Receive mutations in order of versions
2019-10-17 17:21:00 -07:00
Meng Xu
af8047e79b
FastRestore:ApplyToDB:Change state variable to variable
2019-10-14 16:38:01 -07:00
Meng Xu
0c8de91932
FastRestore:applyToDB:Add functions to DBApplyProgress for encapsulation
2019-10-14 16:24:36 -07:00
Meng Xu
f89b5586df
FastRestore:applyToDB:Record applyToDB progress in DBApplyProgress struct
...
This avoids repetitive code
2019-10-14 14:57:17 -07:00
Meng Xu
7b36fee38f
FastRestore:applyToDB:Cosmic change for review comments
...
No functional change.
2019-10-14 12:52:32 -07:00
Meng Xu
71509a5157
FastRestore:Applier:applyToDB:Clang format
2019-10-10 17:36:38 -07:00
Meng Xu
48e0620e5f
FastRestore:Applier:applyToDB:Handle txn with errors
2019-10-10 17:24:07 -07:00
Meng Xu
d160810662
FastRestore:Resolve review comments
2019-09-04 16:48:43 -07:00
Meng Xu
3b54363780
FastRestore:Apply Clang-format
2019-08-01 18:09:12 -07:00
Meng Xu
b0c31f28af
FastRestore:Fix bug that blocks restore
...
1) Should recruit only configured number of roles;
2) Should never register a restore master interface as a restore worker (loader or applier) interface.
2019-07-25 17:55:37 -07:00
Meng Xu
45083edf74
Merge branch 'master' into mengxu/performant-restore-PR
...
Fix conflicts as well.
2019-07-25 10:46:11 -07:00
Meng Xu
f1741aa90d
FastRestore: Resolve review comments
...
1) Do not keep restore role data (e.g., masterData) in restore worker;
2) Change function parameter list by only passing in the needed variables in role data;
3) Remove unneccessary files vector from masterData;
4) Change typos in comments and some functions name.
2019-07-24 17:51:53 -07:00
Meng Xu
022b555b69
FastRestore:Fix bug in finish restore
...
RestoreMaster may not receive all acks. for the last command, i.e., finishRestore,
because RestoreLoaders and RestoreAppliers exit immediately after sending the ack.
If the ack is lost, it will not be resent.
This commit also removes some unneeded code.
This commit passes 50k random tests without errors.
2019-06-05 20:07:18 -07:00
Meng Xu
3fcb6ec0a1
FastRestore:Refactor RestoreLoader and fix bugs
...
Refactor RestoreLoader code and
Fix a bug in notifying restore finish.
2019-06-04 21:53:31 -07:00
Meng Xu
477fd152c0
FastRestore:Refactor code
...
1) Use the runRYWTransaction for simple DB access
2) Replace some printf with TraceEvent
3) Remove printf not used in debugging
4) Avoid wait inside the condition in loop-choose-when for
the core routine of restore worker, loader and applier.
5) Rename Restore.actor.cpp to RestoreWorker.actor.cpp since
the file only has functionalities related to restore worker.
Passed correctness test
2019-06-04 11:22:47 -07:00
Meng Xu
450bda9a01
FastRestore:Refactor parsing backup file code
...
Refactor _parseRangeFileToMutationsOnLoader and
_parseLogFileToMutationsOnLoader functions and their callees
2019-05-30 14:01:48 -07:00
Meng Xu
a3f61e6df7
FastRestore:Rafctor:Reduce code size
...
1) Use runRYWTransaction to replace the loop-try style;
2) Remove unnecessary printf
3) Do not mistakenly send reply twice.
2019-05-29 17:03:50 -07:00
Meng Xu
9e1216af1c
FastRestore:Remove CMDUID
2019-05-29 13:48:04 -07:00