Commit Graph

  • 6d95c0d0f0 Description of work gh-pages Piyush Jain 2020-05-10 16:09:46 -05:00
  • ec76659e20 initial project page commit Piyush Jain 2020-05-09 08:46:14 -05:00
  • 7a4ff37837 Set theme jekyll-theme-cayman master pkj415 2020-05-02 10:04:10 -05:00
  • c8447f2058 Added a comment. Minor fix piyush/gc2 gc2 Piyush Jain 2020-05-01 12:06:15 -05:00
  • 568b9ec7c3 Added a comment Piyush Jain 2020-05-01 08:00:15 -05:00
  • f611655f07 Added a comment Piyush Jain 2020-05-01 07:57:20 -05:00
  • 84a1325ad1 Specified Mark and Repair+Discard phases of GC2. GCInvariant fails as of now, seems like a legit bug based on the code in gc-discard branch of Julio's Kopia repo. TODO - 1. Complete RemoveManifests step 2. Consider eventual consistency at all places, that might expose a lot of bugs. Piyush Jain 2020-04-20 23:51:36 -05:00
  • 9d2b38a7cd 1. Added comment about the meaning of deleted in a content info and how it differs in Vanilla GC and GC2 as of now. 2. Added a comment about the two different ways to merge indices using MergeIndices. Piyush Jain 2020-04-21 15:10:39 -05:00
  • 00334f63b7 Minor fix in GetContentInfoCheck and GetContentInfoCheck2 Piyush Jain 2020-04-21 15:01:55 -05:00
  • b7f2288fd7 Using a simple version of MergeIndices Piyush Jain 2020-04-20 20:07:30 -05:00
  • 40bb5d2f6f Minor fix in GetContentInfo Piyush Jain 2020-04-21 14:12:46 -05:00
  • 1f2661e278 Minor fix in DeleteContents Piyush Jain 2020-04-20 22:35:28 -05:00
  • 1c8e1c1f0d Minor fix in DeleteContents Piyush Jain 2020-04-20 22:14:13 -05:00
  • a4c4fbcdae Fixed GetContentInfo to return the correct content in case there exists a deleted and a normal content info entry with the same timestamp Piyush Jain 2020-04-18 16:38:44 -05:00
  • 5dfe4413ac 1. Added invariant to check if GetContentInfo returns a deleted content info even when there exists a normal content info with the same timestamp. 2. Added another invariant to check if GetContentInfo returns only the latest content. 3. Added a few TODOs Piyush Jain 2020-04-18 16:29:08 -05:00
  • 2ede30ad3b 1. Minor bug fix when calling MergeIndices from FlushIndex. 2. Renamed index_blobs to index, as there are no blobs now. Piyush Jain 2020-04-14 10:11:53 -05:00
  • f4e6bb3016 1. GC changes tested 2. Added no-op time ticks back. Reasoing - Consider the scenario where there is just one snapshot which writes a few contents and stays in pending state for some time (says x seconds) until it reaches its MaxSnapshotTime. During these x seconds, no GC process can garbage collect the contents written by the partial snapshot. However, the contents might get garbage collected once those x seconds are over. So, consider that there is a GC process that starts after these x seconds have passed and then garbage collects the contents. But in the TLA+ spec, the timestamp will tick only if some tangible step occurs - some contents are written/ flushed, a snapshot is deleted, a GC is started, etc. Avoiding no-op time ticks prevents the spec from capturing the scenario explained. Piyush Jain 2020-04-13 20:43:22 -05:00
  • cea14afb3c Reduced index blobs to a set. This reduces the state space, index compaction happens on each index flush by a snapshot process. Piyush Jain 2020-04-13 00:18:27 -05:00
  • af141ba5cc 1. Disallow no-op time ticks. Reduce state space. 2. Added GC steps. Need to test, the state space is exploding after adding the 3 possible GC processing steps. 3. Added 2 TODOs - One for GetContentInfo One for TriggerGC Piyush Jain 2020-04-12 23:49:05 -05:00
  • 0fca0eee78 Minor refactor and just added variable for maintaing GCs Piyush Jain 2020-04-12 10:25:57 -05:00
  • cfab3604a6 Major changes - 1. Removed blobs (re-include if later it becomes necessary to specify blob compaction) 2. Used bags for index_blobs and snapshots to reduce state space. 3. Added a global time ticker, instead of the complicated method of "possible" incremeting timer while flushing. 4. Added a status flag to the snapshot record. 5. Snapshot were filled with the contents they are to write while triggering. Changed that to choose any contents before snapshot completion. This saves the state space - an incomplete snapshot (i.e., only part of intended contents written before MaxSnapshotTime) is same as another incomplete snapshot that wrote the same contents but had a larger set of intended contents to be written. Piyush Jain 2020-04-11 10:11:28 -05:00
  • 14aa874037 Initial commit. Abstract model of blobs, indexes, and snapshots. Needs fixes and optimizations Piyush Jain 2020-04-10 15:51:35 -05:00