Skip to content

aristo: fold Adm column family into Vtx #3383

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 1 commit into
base: master
Choose a base branch
from
Open

Conversation

arnetheduck
Copy link
Member

Each column family in rocksdb requires its own set of SST files that must be kept open, cached etc. Further, wal files are deleted only once all column families referencing them have been flushed meaning that low-volume families like Adm can keep them around far longer than makes sense.

Adm contains only two useful metadata entries and therefore it doesn't really make sense to allocate an entire CF for it.

Consolidating Adm into Vtx also makes it easier to reason about the internal consistency of the Vtx table - even though rocksdb ensures atomic cross-cf writes via the wal, it requires using a special batch write API that introduces its own overhead. With this change, don't need to rely on this particular rocksdb feature to maintain atomic consistency within Vtx.

Databases using the old schema are supported but rollback is not (ie the old metadata format/CF is read but not written)

Each column family in rocksdb requires its own set of SST files that
must be kept open, cached etc. Further, wal files are [deleted]() only
once all column families referencing them have been flushed meaning that
low-volume families like Adm can keep them around far longer than makes
sense.

Adm contains only two useful metadata entries and therefore it doesn't
really make sense to allocate an entire CF for it.

Consolidating Adm into Vtx also makes it easier to reason about the
internal consistency of the Vtx table - even though rocksdb ensures
atomic cross-cf writes via the wal, it requires using a special batch
write API that introduces its own overhead. With this change, don't need
to rely on this particular rocksdb feature to maintain atomic
consistency within Vtx.

Databases using the old schema are supported but rollback is not (ie the
old metadata format/CF is read but not written)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant