solus-project / ferryd

Fast, safe and reliable transit for the delivery of software updates to users.

Home Page:https://solus-project.com/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

attempt conversion to gorm/sqlite

ikeydoherty opened this issue · comments

tldr boltdb is really, really bad for concurrency.

Establish a simpler model that gets rid of all the bucket-orientated logic, and rely on many to many relationships:

struct RepoEntry {
    Repository Repository
    Published Package
    Packages []Package ..
    Deltas []Package
}

Basically rip out all the current boltdb crap, start a new subproject to test the data storage.

First things first, lets attempt local serialisation of the complex moving parts, i.e. libeopkg bits.

nope - used leveldb - much better..