You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This relates to #1971. In almost every place we use buntdb, it is not the data plane: it is not queried at runtime because the relevant data exists in native Go datastructures. This has the advantage that runtime latencies are not sensitive to the latency of the database layer (so we could use a much slower database layer, without impacting performance other than startup time).
The one exception is accounts:
The source of truth about whether an account name is registered is buntdb
Account login always retrieves credentials and settings from the database
Accounts should be refactored so they're like other systems (channel registrations, [DK]-lines, etc): the source of truth should be on the Go heap behind a sync.RWMutex, not in the database.
The text was updated successfully, but these errors were encountered:
Wouldn't that make #26 (s2s) harder, as the link protocol would need to do (something like) distributed cache coherency, to ensure there's no inconsistency between in-heap data and the DB?
This relates to #1971. In almost every place we use buntdb, it is not the data plane: it is not queried at runtime because the relevant data exists in native Go datastructures. This has the advantage that runtime latencies are not sensitive to the latency of the database layer (so we could use a much slower database layer, without impacting performance other than startup time).
The one exception is accounts:
Accounts should be refactored so they're like other systems (channel registrations, [DK]-lines, etc): the source of truth should be on the Go heap behind a
sync.RWMutex
, not in the database.The text was updated successfully, but these errors were encountered: