Skip to content
CAI
Software that uses CAICheck a score

Romeh/akka-persistance-ignite

52.1

Adequate · 21 September 2026

958

lines of production code

Java

primary language

4

measurements over time

CAI band scale
CAI trend line
CAI lens gauges

What this system is

This system is an Akka Persistence plugin that stores event sourcing journals and snapshots in Apache Ignite. It manages cache initialization, binary serialization, and configuration defaults for both journal and snapshot stores. The codebase includes test suites and dependency updates to support these persistence mechanisms.

Features

Add event publishing and binary serialization support for journal and snapshot caches

The plugin now publishes \JournalStarted\ and \SnapshotlStarted\ events to the Akka event stream when the respective caches are initialized, enabling external listeners to react to cache startup. Additionally, \JournalItem\ and \SnapshotItem\ entities now implement \Binarylizable\ to support Apache Ignite's binary serialization, allowing these objects to be queried directly via SQL. The \IgniteFactoryByConfig\ was updated to configure data regions and activate the cluster for the first time, while the cache providers (\JournalCacheProvider\, \SnapshotCacheProvider\) were refactored to support conditional cache creation via a new \cachesAlreadyCreated\ configuration flag, allowing the plugin to reuse existing caches if Ignite is deployed as a standalone grid.

src/main/java · high confidence

Behavioural changes

Update Akka Persistence Ignite configuration defaults

The reference configuration for Akka Persistence Ignite has been updated. The 'cachesAlreadyCreated' flag is now explicitly set to false for both journal and snapshot caches, allowing the system to detect if caches have already been created by an external Apache Ignite instance. Additionally, file persistence is disabled by default (enableFilePersistence changed from true to false), and the default persistence file path has been simplified from './data' to 'data'.

src/main/resources · medium confidence

Test coverage

Updated test suite for Akka Persistence Ignite journal and snapshot stores

Added a new test helper class, TestEvent, and updated the Ignite journal and snapshot store test suites (IgniteJournalCacheTest, IgniteJournalSpecTest, IgniteSnapshotSpecTest) to include cleanup of the 'data' directory before each test run. The test actor, IgnitePersistentTestActor, was modified to persist events using the new Tagged wrapper for event tagging support. Additionally, the test configuration (test.conf) was updated to enable Java serialization and disable file persistence during tests.

src/test · high confidence

Dependencies

Upgrade Akka and Apache Ignite dependencies

The Akka dependency has been upgraded from version 2.5.7 to 2.5.18, and the Apache Ignite dependency has been upgraded from version 2.3.0 to 2.7.0. These updates are intended to provide newer features, performance improvements, and bug fixes from these libraries.

(dependencies) · medium 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 → 52 (-4.7)
  • Rubric changed (rubric-2026.08.19 → rubric-2026.09.15) — scores are not directly comparable.

Lenses

  • Code Health 100 → 100 (+0.0)
  • Architecture 69 → 66 (-3.3)
  • Maturity 54 → 54 (+0.0)
  • Readiness 44 → 38 (-5.2)
  • Security 100 → 78 (-22.2)

Resolved (9)

  • 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
  • Scanner failed to run — not a clean result
  • Test reliability not included
  • The 'How to use' section begins but clips mid-sentence, leaving whether the plugin is enabled in application.conf or build.sbt unclear. (README.md)
  • The README describes Akka/Ignite versions used but does not state which Ignite version the project targets (e.g. 2.x vs 3.x) or what Akka minor version is supported. (README.md)
  • early-stage repository — too few commits for a meaningful bus factor
  • early-stage repository — too little history to judge knowledge freshness

New (8)

  • Dependency hygiene PARTLY measured — Maven/Gradle declarations read, no dependency graph resolved
  • Documentation: no contributor guidance (README.md)
  • Documentation: no installation or build instructions (README.md)
  • No SBOM
  • No build provenance
  • No dependency advisory monitoring
  • Scanner failed to run — not a clean result
  • Scanner failed to run — not a clean result

Written by watchdog.canine.dev from the codebase's own history, inside the signed delivery this page is composed from.

Survey your own repository

Romeh/akka-persistance-ignite 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 0501c7d94bb2b9f64b93dae04f53d264516bb63f — 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.