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

Allow Engine-Specific Options in Open #16

Closed bbengfort closed 2 years ago

bbengfort commented 2 years ago

This PR modifies the Honu config to allow engine-specific options to be passed in at Open, and in particular to allow leveldb options to be passed in on open. The new configuration mechanism is similar to the access Options mechanism, a Honu configuration can be created without any options and a default configuration is returned. Using WithLevelDB or WithReplica, other options can be specified to the config.

This PR also removes some technical debt with the Honu replica configuration that was ported over from a previous project.

Fixes SC-1610

codecov[bot] commented 2 years ago

Codecov Report

Merging #16 (10fee1b) into main (ce31ee3) will increase coverage by 0.70%. The diff coverage is 84.21%.

:exclamation: Current head 10fee1b differs from pull request most recent head 48b0af0. Consider uploading reports for the commit 48b0af0 to get more accurate results Impacted file tree graph

@@            Coverage Diff             @@
##             main      #16      +/-   ##
==========================================
+ Coverage   54.37%   55.08%   +0.70%     
==========================================
  Files           9       10       +1     
  Lines         480      492      +12     
==========================================
+ Hits          261      271      +10     
- Misses        177      178       +1     
- Partials       42       43       +1     
Impacted Files Coverage Δ
engines/leveldb/leveldb.go 86.74% <50.00%> (ø)
honu.go 46.03% <72.72%> (+0.43%) :arrow_up:
config/config.go 89.47% <89.47%> (ø)
options/options.go 91.30% <100.00%> (-1.29%) :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 ce31ee3...48b0af0. Read the comment docs.