The boltdb instance in metadata is only used for getting transactions and can also be overriden via the context to have a wider control of the transaction boundary. Using the transactor interface allows callers of metadata to have more control of the transaction lifecycle. Since boltdb must be fsync'ed on commit, operations which perform many database operations can be costly and slow. While providing transactor via context can be used to group together operations, it does not provide a way to manage the commit fsyncs more globally. Signed-off-by: Derek McGowan <derek@mcg.dev>
22 KiB
22 KiB