Commit 25f10dc
authored
Single state machine across main and object stores (microsoft#1077)
* Simpler state machine for checkpointing
* cleanup
* updates
* remove dead code
* updates
* updates
* updates
* update
* kill code
* updates
* simplify LightEpoch
* move epvs to test
* nits
* updates
* updates
* formatting
* fix garnet
* nit
* comments
* remove manualLockingActive
* update the barrier condition and remove checkpoint version switch barrier flag.
* remove INTERMEDIATE state
* Remove CPR_SHIFT_DETECTED and LartchDestination.Retry
* add black box test for checkpointing version switch state machine
remove deprecated white box test
* add transaction test
* clean the test
* cleanup
* Refactor the phases of various machines
* format
* initial commit
* remove sessionName
* update LightEpoch based on PR comment
* fix break
* Use session-local isAcquiredLockable as signal for threads to decide whether to spin or operate in PREPARE phase. Moved isAcquiredLockable to Ctx. This commit also removes a race that will re-establish the invariant that no threads are operating in PREPARE while any thread is operating in IN_PROGRESS phase.
* address review comments
* nit
* minor code move
* use shared epoch across stores
* nit
* add unified checkpointing logic to garnet
* nit
* fix
* use correct SMD
* nit
* fix
* nit
* fix test as versions are different due to unified ckpt
* add comment
* remove targetVersion from checkpoint API, versions always progress by 1.
* non-working state
* updates
* nits
* fix state machine
* fixes
* fixes
* fix
* format
* add assert for safe index growth with locks
* Reinstating cpr_shift_detected instead of barrier'ing threads on PREPARE.
* fixes based on fuzz test
* improve SMD test to use timing fuzzing
* add test for index grow, fix bugs
* updates and clean up, improve the test to be multi-iteration.
* fix test
* remove isAsync, clarify comment
* sigh, fix format.
* nit
* Update cluster logic to handle { checkpoint_start, (v) and (v+1) records, checkpoint_end } in the AOF.
* update comment
* address comment
* nit
* add comment
* fix comment
* delete checkpoints only after both stores commit
check that main and object stores recovered to the same version
* recover to least common version.
* handle the case where object store was disabled at checkpointing time1 parent 3ba2785 commit 25f10dc
File tree
64 files changed
+1171
-791
lines changed- libs
- cluster/Server
- Replication
- PrimaryOps/DisklessReplication
- ReplicaOps
- host
- server
- AOF
- Lua
- Resp
- Servers
- Storage/Session
- Transaction
- storage/Tsavorite/cs
- src/core
- Allocator
- ClientSession
- Index
- CheckpointManagement
- Checkpointing
- Common
- Recovery
- Tsavorite
- Implementation
- test
- test/Garnet.test.cluster/ReplicationTests
Some content is hidden
Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.
64 files changed
+1171
-791
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1301 | 1301 | | |
1302 | 1302 | | |
1303 | 1303 | | |
| 1304 | + | |
1304 | 1305 | | |
1305 | 1306 | | |
1306 | 1307 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
201 | 201 | | |
202 | 202 | | |
203 | 203 | | |
204 | | - | |
| 204 | + | |
| 205 | + | |
| 206 | + | |
| 207 | + | |
| 208 | + | |
| 209 | + | |
| 210 | + | |
205 | 211 | | |
206 | 212 | | |
207 | 213 | | |
| |||
Lines changed: 0 additions & 4 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
194 | 194 | | |
195 | 195 | | |
196 | 196 | | |
197 | | - | |
198 | | - | |
199 | | - | |
200 | | - | |
201 | 197 | | |
202 | 198 | | |
203 | 199 | | |
| |||
Lines changed: 5 additions & 1 deletion
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
60 | 60 | | |
61 | 61 | | |
62 | 62 | | |
63 | | - | |
| 63 | + | |
| 64 | + | |
| 65 | + | |
| 66 | + | |
| 67 | + | |
64 | 68 | | |
65 | 69 | | |
66 | 70 | | |
| |||
Lines changed: 7 additions & 5 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
25 | 25 | | |
26 | 26 | | |
27 | 27 | | |
28 | | - | |
| 28 | + | |
| 29 | + | |
29 | 30 | | |
30 | 31 | | |
31 | 32 | | |
32 | | - | |
33 | | - | |
34 | | - | |
35 | | - | |
| 33 | + | |
| 34 | + | |
| 35 | + | |
| 36 | + | |
| 37 | + | |
36 | 38 | | |
37 | 39 | | |
38 | 40 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
53 | 53 | | |
54 | 54 | | |
55 | 55 | | |
| 56 | + | |
| 57 | + | |
| 58 | + | |
| 59 | + | |
| 60 | + | |
| 61 | + | |
56 | 62 | | |
57 | 63 | | |
58 | 64 | | |
| |||
112 | 118 | | |
113 | 119 | | |
114 | 120 | | |
115 | | - | |
| 121 | + | |
| 122 | + | |
116 | 123 | | |
117 | | - | |
| 124 | + | |
| 125 | + | |
| 126 | + | |
| 127 | + | |
118 | 128 | | |
119 | 129 | | |
120 | 130 | | |
| |||
157 | 167 | | |
158 | 168 | | |
159 | 169 | | |
160 | | - | |
| 170 | + | |
| 171 | + | |
| 172 | + | |
| 173 | + | |
| 174 | + | |
| 175 | + | |
| 176 | + | |
| 177 | + | |
| 178 | + | |
| 179 | + | |
| 180 | + | |
| 181 | + | |
| 182 | + | |
| 183 | + | |
| 184 | + | |
| 185 | + | |
| 186 | + | |
| 187 | + | |
| 188 | + | |
| 189 | + | |
| 190 | + | |
161 | 191 | | |
162 | 192 | | |
163 | 193 | | |
164 | | - | |
165 | | - | |
166 | | - | |
167 | | - | |
| 194 | + | |
| 195 | + | |
| 196 | + | |
| 197 | + | |
| 198 | + | |
| 199 | + | |
| 200 | + | |
| 201 | + | |
| 202 | + | |
| 203 | + | |
| 204 | + | |
| 205 | + | |
| 206 | + | |
| 207 | + | |
168 | 208 | | |
169 | 209 | | |
170 | 210 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
227 | 227 | | |
228 | 228 | | |
229 | 229 | | |
| 230 | + | |
230 | 231 | | |
231 | 232 | | |
232 | 233 | | |
| |||
324 | 325 | | |
325 | 326 | | |
326 | 327 | | |
327 | | - | |
| 328 | + | |
328 | 329 | | |
329 | 330 | | |
330 | 331 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
42 | 42 | | |
43 | 43 | | |
44 | 44 | | |
45 | | - | |
| 45 | + | |
46 | 46 | | |
47 | | - | |
| 47 | + | |
48 | 48 | | |
49 | | - | |
| 49 | + | |
50 | 50 | | |
51 | | - | |
52 | | - | |
53 | | - | |
54 | | - | |
55 | | - | |
| 51 | + | |
56 | 52 | | |
57 | | - | |
58 | | - | |
59 | | - | |
60 | | - | |
61 | | - | |
| 53 | + | |
62 | 54 | | |
63 | 55 | | |
64 | 56 | | |
65 | | - | |
| 57 | + | |
66 | 58 | | |
67 | 59 | | |
68 | 60 | | |
69 | | - | |
| 61 | + | |
70 | 62 | | |
71 | 63 | | |
72 | 64 | | |
73 | | - | |
| 65 | + | |
74 | 66 | | |
75 | 67 | | |
76 | 68 | | |
77 | 69 | | |
78 | 70 | | |
79 | 71 | | |
| 72 | + | |
80 | 73 | | |
81 | 74 | | |
82 | 75 | | |
| |||
85 | 78 | | |
86 | 79 | | |
87 | 80 | | |
| 81 | + | |
| 82 | + | |
| 83 | + | |
| 84 | + | |
| 85 | + | |
| 86 | + | |
| 87 | + | |
| 88 | + | |
| 89 | + | |
| 90 | + | |
| 91 | + | |
88 | 92 | | |
89 | 93 | | |
90 | 94 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
12 | 12 | | |
13 | 13 | | |
14 | 14 | | |
15 | | - | |
| 15 | + | |
16 | 16 | | |
17 | 17 | | |
18 | 18 | | |
| |||
0 commit comments