aeternity/mnesia_rocksdb
55.9
Adequate · 2 October 2026
5.1k
lines of production code
Erlang
primary language
2
measurements over time
What this system is
This system is a Mnesia RocksDB backend plugin that replaces or augments the default Mnesia storage engine with a RocksDB-based implementation. It provides core database capabilities including table administration, query execution, and transaction management, while supporting features like index creation and data migration. The system ensures data integrity through serializing mutexes and comprehensive test coverage for various table types and operations.
Features
Add Mnesia RocksDB internal header definitions
A new header file, mnesia\_rocksdb.hrl, has been added to define internal constants for the Mnesia RocksDB backend. This includes byte-offset definitions for storing data and metadata (INFO\_START, INFO\_TAG, DATA\_START), limits for bag object counters (BAG\_CNT, MAX\_BAG), and a version identifier (VSN=2). These definitions support the underlying storage mechanism's data layout.
include · high confidence
Initial documentation for the Mnesia RocksDB backend plugin
This release adds comprehensive documentation for the \mnesia\_rocksdb\ backend plugin. The \doc/\ directory now includes a \README.md\ covering usage, prerequisites (Erlang/OTP 21.0+, RocksDB, sext), customization options, and caveats (such as the lack of table size tracking for \bag\ tables). It also provides generated EDoc documentation for all core modules (\mnesia\_rocksdb\, \mrdb\, \mnesia\_rocksdb\_admin\, etc.) and a \plugin-userguide.md\ illustrating how to register and use the backend plugin with Mnesia.
doc · high confidence
Behavioural changes
RocksDB backend refactored with new modules and dependency updates
The backend has been significantly restructured: the local sext encoding module has been removed in favor of the external sext library, which is now listed as a dependency in the application manifest. A new admin module (mnesia\_rocksdb\_admin) and a dedicated select module (mrdb\_select) have been added to handle table administration and query execution, while the core data access logic has been moved to a new mrdb module. Additionally, a serializing mutex (mrdb\_mutex) has been introduced to manage concurrent access, and internal naming conventions have been updated (e.g., ldb to rdb).
src · high confidence
Upgrade RocksDB backend and expand build tooling
The project switches its RocksDB dependency from the standard package to a patched EMQX fork (tag 1.8.0-emqx-10) and adds the sext, hut, and parse\_trans libraries. It raises the minimum Erlang/OTP requirement to 21.0, introduces dialyzer and xref checks, and adds new Makefile targets for running these static analysis tools alongside existing tests.
(repo-wide) · high confidence
Test coverage
Expanded test coverage for Mnesia RocksDB integration
Added new Common Test suites to validate core Mnesia RocksDB functionality: \mnesia\_rocksdb\_indexes\_SUITE\ covers index creation, deletion, and plugin management across RAM, disc, and RocksDB table types; \mnesia\_rocksdb\_migration\_SUITE\ verifies standalone-to-column-family migrations and encoding changes; and \mnesia\_rocksdb\_SUITE\ tests batch operations, transactions, and encoding defaults. Existing tests were updated to include proper semantics for ordered set operations (first, next, prev, last) and to improve test library logging and reset capabilities.
test · high confidence
Written by watchdog.canine.dev from the codebase's own history, inside the signed delivery this page is composed from.
How this codebase got here
Score
- CAI 57 → 56 (-1.0)
- Rubric changed (rubric-2026.09.12 → rubric-2026.09.18) — scores are not directly comparable.
Lenses
- Code Health 93 → 93 (+0.0)
- Architecture 100 → 100 (+0.0)
- Maturity 32 → 32 (+0.0)
- Readiness 64 → 59 (-5.6)
- Security 92 → 97 (+4.8)
Resolved (1)
- Coverage not measured — no coverage collector is wired up
New (3)
- Documentation: no contributor guidance (README.md)
- Documentation: no project overview (README.md)
- Outdated: sext
Written by watchdog.canine.dev from the codebase's own history, inside the signed delivery this page is composed from.
Survey your own repository
aeternity/mnesia_rocksdb was measured the same way every project in this corpus was: the same rubric, at a pinned commit, with the result published in full. Point a surveyor at a repository you know and see whether you agree with it.
About this page
- The score is its most recent published measurement, taken on 2 October 2026 at a pinned commit. It is not a live figure and does not change until the project is measured again.
- Measured at commit a6567a217f54c40a36b2e4729ba30f1db08713bc — the exact code this score is about.
- Scored under rubric-2026.09.18 — the same rubric and the same method as every other entry in this index.
- Measured by watchdog.canine.dev using codehealth-analyzer preprod-e569280dd5e2.