LazyCommits Specification - #429
Conversation
9dab93f to
8c07a26
Compare
| ``` | ||
| <graph-path>/ | ||
| info | ||
| type |
There was a problem hiding this comment.
We have a type file to help identify if we are looking at a turingDB binary
|
|
||
| #### Ownership | ||
|
|
||
| `VersionController` owns the commit log as `std::vector<CommitLog>`. This |
There was a problem hiding this comment.
I think we need to disambiguate CommitLogRecord and CommitLog itself
There was a problem hiding this comment.
Actually I think the spec needs to change a bit given we don't implement the commit history this way.
| | `GraphReader::isNodeDeleted` | Accesses `commits().back().tombstones()` | Access tombstones directly from CommitData | | ||
| | `CommitBuilder` | Accesses `commits().back()` for prev | Receives previous commit reference explicitly | | ||
|
|
||
| After this refactoring, `CommitHistory` retains only: |
There was a problem hiding this comment.
Does it mean that CommitHistory continues to exist?
There was a problem hiding this comment.
CommitHistory previously contained all the dataparts of the a Commit + the vector of commit views representing the commit history. I think the CommitHistory name should be changed now.
8c07a26 to
4548c06
Compare
| - Load only the data required for the commits that are actually accessed. | ||
| - Eagerly load HEAD at startup (since most operations target it). | ||
| - Keep all other commits as lightweight stubs that can be hydrated on demand. | ||
| - Introduce a graph-level commitlog file that provides fast commit history |
| `Commit` object for each hash. For each stub: | ||
| - `_prevCommit` is wired to the previously created stub. | ||
| - The commit's `metadata` file is read to populate `_numNodes`, `_numEdges`, | ||
| and `_numDataParts` on the stub, and to cache the `DataPartID` list for |
There was a problem hiding this comment.
Change this info about datapartID list. We only create this when we hydrate a commit and come across dataparts.
|
|
||
| The runtime write path is unaffected: | ||
|
|
||
| - `Commit::createNextCommit` continues to call |
No description provided.