Commit bf01cde
authored
Implementation of durable incremental backups (#525)
That is a partial fix of issue YTDB-333, the implementation of a new
algorithm for incremental backups.
The detailed design document can be read there
https://youtrack.jetbrains.com/articles/YTDB-A-10/Incremental-backup .
Key points of this change:
1. Incremental backup is made durable by keeping a single backup file's
hash code inside the metadata.
2. The last backup file is checked during the next iteration of the
incremental backup. If the backup is broken, the file is removed, and a
backup is performed since the changes of the previous backup.
3. It is possible to provide a virtual presentation of the file system
by providing lambda functions that implement the required file system
functionality.
4. New methods for public API were introduced:
`YTDBGraphGraphTraversalSource#backup`,
`YTDBGraphGraphTraversalSource#fullBackup` and `YouTrackDB#restore`.File tree
273 files changed
+4289
-5345
lines changed- .github
- workflows
- .idea/inspectionProfiles
- core
- data
- src
- main/java/com/jetbrains/youtrackdb
- api
- config
- gremlin
- embedded
- schema
- tokens
- internal
- common
- console
- log
- serialization/types
- core
- command/script
- config
- db
- config
- tool
- exception
- gremlin
- service
- traversal/strategy/optimization
- index
- iterator
- metadata/schema
- query/live
- record/impl
- security
- serialization/serializer/record/string
- sql
- executor/resultset
- filter
- parser
- query
- storage
- cache
- local
- collection/v2
- config
- disk
- impl/local
- paginated
- atomicoperations
- wal
- cas
- memory
- tx
- util
- remote
- test/java/com/jetbrains/youtrackdb/internal
- common/test
- core
- db
- graph
- record
- tool
- gremlin/gremlintest
- index
- iterator
- metadata
- index
- security
- record/impl
- ridbag
- schedule
- security
- sql
- executor
- metadata
- functions
- graph
- math
- stat
- select
- storage
- cache/chm
- collection
- v2
- disk
- impl/local
- paginated
- index
- edgebtree/btree
- hashindex/local/cache
- sbtree/singlevalue/v3
- tx
- docker-tests/src/test
- java/com/jetbrains/youtrackdb/internal/docker/server/features
- resources/com/jetbrains/youtrackdb/internal/docker/console/scripts
- driver/src/main/java/com/jetbrains/youtrackdb/internal/driver
- gremlin-annotations/src/main/java/com/jetbrains/youtrackdb/internal/annotations/gremlin/dsl
- lucene/src
- main/java/com/jetbrains/youtrackdb/internal
- lucene
- builder
- engine
- functions
- query
- tx
- spatial
- shape
- legacy
- strategy
- test/java/com/jetbrains/youtrackdb/internal
- lucene
- analyzer
- benchmark
- engine
- index
- test
- spatial
- server
- src
- main/java/com/jetbrains/youtrackdb/internal/server
- config
- plugin/gremlin
- test/java/com/jetbrains/youtrackdb/internal/server
- config
- gremlin
- features
- security
- tests/src/test/java/com/jetbrains/youtrackdb/auto
- hooks
Some content is hidden
Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.
273 files changed
+4289
-5345
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
4 | 4 | | |
5 | 5 | | |
6 | 6 | | |
7 | | - | |
8 | 7 | | |
9 | 8 | | |
10 | 9 | | |
11 | | - | |
| 10 | + | |
| 11 | + | |
12 | 12 | | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
141 | 141 | | |
142 | 142 | | |
143 | 143 | | |
144 | | - | |
| 144 | + | |
145 | 145 | | |
146 | 146 | | |
147 | 147 | | |
| |||
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
This file was deleted.
Binary file not shown.
This file was deleted.
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
216 | 216 | | |
217 | 217 | | |
218 | 218 | | |
| 219 | + | |
| 220 | + | |
| 221 | + | |
| 222 | + | |
219 | 223 | | |
220 | 224 | | |
221 | 225 | | |
| |||
Lines changed: 24 additions & 2 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
303 | 303 | | |
304 | 304 | | |
305 | 305 | | |
306 | | - | |
307 | | - | |
| 306 | + | |
| 307 | + | |
| 308 | + | |
| 309 | + | |
| 310 | + | |
| 311 | + | |
| 312 | + | |
| 313 | + | |
| 314 | + | |
| 315 | + | |
| 316 | + | |
308 | 317 | | |
309 | 318 | | |
310 | 319 | | |
| |||
372 | 381 | | |
373 | 382 | | |
374 | 383 | | |
| 384 | + | |
| 385 | + | |
| 386 | + | |
| 387 | + | |
| 388 | + | |
| 389 | + | |
| 390 | + | |
| 391 | + | |
| 392 | + | |
| 393 | + | |
| 394 | + | |
| 395 | + | |
| 396 | + | |
375 | 397 | | |
Lines changed: 10 additions & 13 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
54 | 54 | | |
55 | 55 | | |
56 | 56 | | |
57 | | - | |
58 | | - | |
| 57 | + | |
| 58 | + | |
59 | 59 | | |
60 | | - | |
61 | | - | |
| 60 | + | |
| 61 | + | |
62 | 62 | | |
63 | 63 | | |
64 | 64 | | |
| |||
71 | 71 | | |
72 | 72 | | |
73 | 73 | | |
74 | | - | |
75 | 74 | | |
76 | 75 | | |
77 | 76 | | |
| |||
89 | 88 | | |
90 | 89 | | |
91 | 90 | | |
92 | | - | |
| 91 | + | |
93 | 92 | | |
94 | 93 | | |
95 | 94 | | |
| |||
104 | 103 | | |
105 | 104 | | |
106 | 105 | | |
107 | | - | |
108 | 106 | | |
109 | 107 | | |
110 | 108 | | |
| |||
127 | 125 | | |
128 | 126 | | |
129 | 127 | | |
130 | | - | |
131 | | - | |
| 128 | + | |
| 129 | + | |
132 | 130 | | |
133 | 131 | | |
134 | 132 | | |
135 | 133 | | |
136 | 134 | | |
137 | | - | |
138 | | - | |
139 | | - | |
| 135 | + | |
| 136 | + | |
| 137 | + | |
140 | 138 | | |
141 | 139 | | |
142 | 140 | | |
143 | 141 | | |
144 | | - | |
145 | 142 | | |
146 | 143 | | |
147 | 144 | | |
| |||
Lines changed: 7 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
377 | 377 | | |
378 | 378 | | |
379 | 379 | | |
| 380 | + | |
| 381 | + | |
| 382 | + | |
| 383 | + | |
| 384 | + | |
| 385 | + | |
| 386 | + | |
380 | 387 | | |
381 | 388 | | |
382 | 389 | | |
| |||
0 commit comments