An Akka extension for using Apache Cassandra as event log storage backend.
The extension connects to the configured Cassandra cluster and creates the configured keyspace if it doesn't
exist yet. Keyspace auto-creation can be turned off by setting
Ports are optional and default to 9042 according to
eventuate.log.cassandra.default-port = 9042
This extension also creates two index tables for storing replication progress data and event log indexing
progress data. The names of these tables have a prefix defined by
eventuate.log.cassandra.table-prefix = "log"
Assuming a log prefix
the replication progress table name is log_rp and
the log indexing progress table name is log_snr.
If two instances of this extensions are created concurrently by two different actor systems, index table
creation can fail (see CASSANDRA-8387). It is
therefore recommended to initialize a clean Cassandra cluster with a separate administrative application
that only creates an instance of this Akka extension before creating CassandraEventLog actors. This
must be done only once. Alternatively, different actor systems can be configured with different
eventuate.log.cassandra.keyspace names. In this case they won't share a keyspace and index tables and
concurrent initialization is not an issue.
An Akka extension for using Apache Cassandra as event log storage backend. The extension connects to the configured Cassandra cluster and creates the configured keyspace if it doesn't exist yet. Keyspace auto-creation can be turned off by setting
eventuate.log.cassandra.keyspace-autocreate = false
The name of the keyspace defaults to
eventuate
and can be configured witheventuate.log.cassandra.keyspace = "eventuate"
The Cassandra cluster contact points can be configured with
Ports are optional and default to
9042
according toeventuate.log.cassandra.default-port = 9042
This extension also creates two index tables for storing replication progress data and event log indexing progress data. The names of these tables have a prefix defined by
eventuate.log.cassandra.table-prefix = "log"
Assuming a
log
prefixlog_rp
andlog_snr
.If two instances of this extensions are created concurrently by two different actor systems, index table creation can fail (see CASSANDRA-8387). It is therefore recommended to initialize a clean Cassandra cluster with a separate administrative application that only creates an instance of this Akka extension before creating CassandraEventLog actors. This must be done only once. Alternatively, different actor systems can be configured with different
eventuate.log.cassandra.keyspace
names. In this case they won't share a keyspace and index tables and concurrent initialization is not an issue.CassandraEventLog