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

[WIP] Add Timestamps to Honu #23

Closed bbengfort closed 11 months ago

bbengfort commented 2 years ago

This is an intermediate PR that adds timestamps to versions in order to support time-based object sampling in Trtl.

The current code adds a Unix seconds int64 to the version object, so each version will have the timestamp it was created. It is up to the version manager to correctly put this timestamp on the version. This is a good first step, but there are still some open questions:

  1. Should we use UnixNano instead of UnixSeconds for better time handling?
  2. Should we have Created/Modified on the object itself so we don't have to query the versions for times or is this time only for versions?

Still TODO:

codecov[bot] commented 2 years ago

Codecov Report

Merging #23 (6448180) into main (9966c0c) will decrease coverage by 0.27%. The diff coverage is 37.50%.

Impacted file tree graph

@@            Coverage Diff             @@
##             main      #23      +/-   ##
==========================================
- Coverage   57.83%   57.56%   -0.28%     
==========================================
  Files          10       10              
  Lines         574      582       +8     
==========================================
+ Hits          332      335       +3     
- Misses        195      200       +5     
  Partials       47       47              
Impacted Files Coverage Δ
object/object.pb.go 14.92% <0.00%> (-0.46%) :arrow_down:
object/object.go 75.00% <66.66%> (-0.68%) :arrow_down:
versions.go 100.00% <100.00%> (ø)

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 9966c0c...6448180. Read the comment docs.