meln1k/akka-persistence-foundationdb
47.4
Weak · 21 September 2026
1.3k
lines of production code
Scala
primary language
4
measurements over time
What this system is
This system is an Akka Persistence plugin for FoundationDB, enabling stateful actors to store and query events in a distributed database. It implements a write journal and a read journal that supports persistence ID, event, and tag-based queries using version-stamped keys for ordering. The plugin handles serialization via Google Protocol Buffers and manages snapshot storage, with configuration centralized in Scala classes and reference.conf.
Features
Add FoundationDB Akka Persistence plugin documentation and configuration
The project now includes a comprehensive README detailing the Akka Persistence plugin for FoundationDB, covering the journal and snapshot store plugins, configuration steps, and supported features like Persistence Query and tag storage options. This provides users with the necessary information to integrate and configure the plugin.
(repo-wide) · high confidence
Introduce FoundationDB persistence and read journal implementation
Adds a new Akka Persistence plugin for FoundationDB, including the core directory structure, key serialization, chunked blob storage, and a read journal supporting persistence ID, event, and tag queries. The read journal uses versionstamped keys for ordering and assembles chunked payloads from the database. The \VersionstampBasedOffset\ class has been renamed to \VersionstampOffset\, and the \TagStoringPolicy\ configuration parsing has been removed in favor of internal constants.
. · high confidence
Behavioural changes
FoundationDB persistence plugin: new serialization, config, and store implementations
The plugin now uses Google Protocol Buffers to serialize persistence data, introducing a new \AkkaPersistenceFdb\ Java class and corresponding \.proto\ definitions for \CompactTag\ and \RichTag\. A new \FoundationDbSnapshotStore\ is added to handle snapshot operations, while \FoundationDbJournal\ is refactored to use a \FdbSerializer\ for message serialization. Configuration is centralized in new Scala config classes (\FoundationDbPluginConfig\, \FoundationDbJournalConfig\, \FoundationDbReadJournalConfig\) and updated \reference.conf\ with new settings for directory names, tag storing policies, and API versions. The old \FoundationDbReadJournal\ is removed in favor of a new \FoundationDdReadJournalProvider\.
src/main · medium confidence
Test coverage
Added tests for FoundationDB persistence and query journal
Added new test suites for the FoundationDB persistence plugin, including integration, serialization, and SSL configuration specs, alongside lifecycle and helper actors to validate the journal's behavior and configuration.
src/test · high confidence
Dependencies
Upgrade Scala and project configuration
The project has been upgraded to Scala 2.13.5 from 2.12.6. Additionally, the build configuration has been updated with new compiler options, test execution settings (parallel execution disabled, fork enabled), and license metadata.
(dependencies) · medium confidence
Upgrade Scala build tooling and Akka dependencies
The project's build configuration has been updated to use newer versions of key libraries and tools. SBT is upgraded from 1.1.1 to 1.4.9, and the Akka framework is upgraded from 2.5.11 to 2.6.13. Additionally, the ScalaTest library is updated from 3.0.4 to 3.2.5, and new dependencies for Google's protobuf-java and FoundationDB's fdb-java are added to the project's dependency list.
project · 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 51 → 47 (-3.2)
- Rubric changed (rubric-2026.08.19 → rubric-2026.09.15) — scores are not directly comparable.
Lenses
- Code Health 100 → 96 (-4.5)
- Architecture 100 → 66 (-34.3)
- Maturity 48 → 54 (+5.4)
- Readiness 24 → 26 (+1.4)
- Security 100 → 100 (+0.0)
Resolved (8)
- Coverage not included — suite not readable by the collector
- Dependency hygiene not measured — dependency manifest found but not parsed for hygiene
- No exposed public API
- Test reliability not included
- complexity unreadable for .java, .scala — churn × complexity hotspots could not be measured
- early-stage repository — too few commits for a meaningful bus factor
- early-stage repository — too little history to judge knowledge freshness
- git history depth insufficient
New (13)
- Duplicated block (12–13 lines × 2) (src/main/scala/akka/persistence/foundationdb/query/scaladsl/FoundationDbReadJournal.scala)
- Duplicated block (17–18 lines × 2) (src/main/scala/akka/persistence/foundationdb/query/scaladsl/FoundationDbReadJournal.scala)
- FoundationDbReadJournal.eventsByTag (cognitive 24) (src/main/scala/akka/persistence/foundationdb/query/scaladsl/FoundationDbReadJournal.scala)
- FoundationDbSession.resolveDirectories (cognitive 28) (src/main/scala/akka/persistence/foundationdb/session/FoundationDbSession.scala)
- TodoComment (src/main/scala/akka/persistence/foundationdb/journal/FoundationDbJournal.scala)
- TodoComment (src/main/scala/akka/persistence/foundationdb/journal/FoundationDbJournal.scala)
- TodoComment (src/main/scala/akka/persistence/foundationdb/query/FoundationDdReadJournalProvider.scala)
- TodoComment (src/main/scala/akka/persistence/foundationdb/query/scaladsl/FoundationDbReadJournal.scala)
- TodoComment (src/main/scala/akka/persistence/foundationdb/session/FoundationDbSession.scala)
- TodoComment (src/main/scala/akka/persistence/foundationdb/snapshot/FoundationDbSnapshotStore.scala)
- TodoComment (src/main/scala/akka/persistence/foundationdb/util/RangeRead.scala)
- TodoComment (src/test/scala/akka/persistence/foundationdb/FoundationDbLifecycle.scala)
- TodoComment (src/test/scala/akka/persistence/foundationdb/query/scaladsl/CassandraReadJournalSpec.scala)
Architecture
- Containers 0 added · 0 removed · contexts 1 added · 1 removed · edges 0 added · 0 removed
Added bounded contexts (1)
- repository
Removed bounded contexts (1)
- .
Written by watchdog.canine.dev from the codebase's own history, inside the signed delivery this page is composed from.
Survey your own repository
meln1k/akka-persistence-foundationdb 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 21 September 2026 at a pinned commit. It is not a live figure and does not change until the project is measured again.
- Measured at commit efc049e0c7152d20ea12b1393e1c14e89a0538ba — the exact code this score is about.
- Scored under rubric-2026.09.15 — the same rubric and the same method as every other entry in this index.
- Measured by watchdog.canine.dev using codehealth-analyzer preprod-fa71c66cabd8.