Skip to content

Commit

Permalink
doc: Clarify supported features (#1090)
Browse files Browse the repository at this point in the history
  • Loading branch information
patriknw authored Mar 28, 2024
1 parent e148a65 commit e264d0f
Show file tree
Hide file tree
Showing 2 changed files with 28 additions and 6 deletions.
15 changes: 9 additions & 6 deletions docs/src/main/paradox/cleanup.md
Original file line number Diff line number Diff line change
@@ -1,11 +1,5 @@
# Database Cleanup

@@@ warning

When running any operation for a persistence id the actor with that persistence id must not be running!

@@@

If possible, it is best to keep all events in an event sourced system. That way new [projections](https://doc.akka.io/docs/akka-projection/current/index.html)
and the `tag_view` table can be re-built if it is corrupted (e.g. due to a two persistence ids writing events from two nodes in a split brain).

Expand All @@ -21,6 +15,15 @@ The @apidoc[akka.persistence.cassandra.cleanup.Cleanup] tool can retrospectively

The cleanup tool can be combined with the @ref[query plugin](./read-journal.md) which has a query to get all persistence ids.

@@@ warning

When running an operation with `Cleanup` that deletes all events for a persistence id,
the actor with that persistence id must not be running! If the actor is restarted it would in that
case be recovered to the wrong state since the stored events have been deleted. Delete events before
snapshot can still be used while the actor is running.

@@@


Scala
: @@snip [snapshot-keyspace](/docs/src/test/scala/doc/cleanup/CleanupDocExample.scala) { #cleanup }
Expand Down
19 changes: 19 additions & 0 deletions docs/src/main/paradox/overview.md
Original file line number Diff line number Diff line change
Expand Up @@ -45,6 +45,25 @@ The table below shows Akka Persistence Cassandra’s direct dependencies and the

To use the plugin with **Akka 2.5.x** you must use @extref:[version 0.103](apc-0.x:) or later in the 0.x series.

## Supported features

Be aware of that many of the new features of [Akka Distributed Cluster](https://doc.akka.io/docs/akka-distributed-cluster/current/)
and [Akka Edge](https://doc.akka.io/docs/akka-edge/current/) are only implemented by the
[Akka Persistence R2DBC plugin](https://doc.akka.io/docs/akka-persistence-r2dbc/current/) and are not supported by the
Cassandra plugin.

Those features were developed for Distributed Cluster and Edge, but they are also useful in other contexts.
Example of concrete features not supported by the Cassandra plugin:

* `eventsBySlices` query
* Projections over gRPC
* Replicated Event Sourcing over gRPC
* Dynamic scaling of number of Projection instances
* Low latency Projections
* Projections starting from snapshots
* Scalability of many Projections
* Durable State entities

## History

This [Apache Cassandra](https://cassandra.apache.org/) plugin to Akka Persistence was initiated [originally](https://github.com/krasserm/akka-persistence-cassandra) by Martin Krasser, [@krasserm](https://github.com/krasserm) in 2014.
Expand Down

0 comments on commit e264d0f

Please sign in to comment.