rotationalio / honu

Adaptive consistency replication with reinforcement learning for large scale globally distributed storage.
BSD 3-Clause "New" or "Revised" License
12 stars 2 forks source link

Better Tombstone handling in Iter #21

Closed bbengfort closed 2 years ago

bbengfort commented 2 years ago

Adds an option for iterating with tombstones but by default the Iter function skips tombstones to match the Get functionality. Also fixes the colons in namespace issue by removing the namespace prefix rather than splitting on the separator. Increases tests to ensure that Iter covers undead objects.

Note, this will require a change to Trtl replication, it must use the WithTombstone option when it is iterating in initiator phase 1 and remote phase 2; otherwise deletes will not be replicated.

codecov[bot] commented 2 years ago

Codecov Report

Merging #21 (d4b4b13) into main (59182a3) will increase coverage by 0.63%. The diff coverage is 57.14%.

:exclamation: Current head d4b4b13 differs from pull request most recent head f39d7c1. Consider uploading reports for the commit f39d7c1 to get more accurate results

Impacted file tree graph

@@            Coverage Diff             @@
##             main      #21      +/-   ##
==========================================
+ Coverage   55.77%   56.41%   +0.63%     
==========================================
  Files          10       10              
  Lines         554      569      +15     
==========================================
+ Hits          309      321      +12     
- Misses        200      203       +3     
  Partials       45       45              
Impacted Files Coverage Δ
engines/leveldb/iter.go 45.00% <47.82%> (-3.28%) :arrow_down:
engines/leveldb/leveldb.go 84.70% <100.00%> (ø)
options/options.go 93.54% <100.00%> (+15.77%) :arrow_up:

Continue to review full report at Codecov.

Legend - Click here to learn more Δ = absolute <relative> (impact), ø = not affected, ? = missing data Powered by Codecov. Last update 59182a3...f39d7c1. Read the comment docs.