This is an automated email from the ASF dual-hosted git repository.
fanningpj pushed a commit to branch main
in repository
https://gitbox.apache.org/repos/asf/incubator-pekko-persistence-cassandra.git
The following commit(s) were added to refs/heads/main by this push:
new caf5554 fix some pekko naming issues (#36)
caf5554 is described below
commit caf55543bdacfad2ed05f64b3d2edd51516d1e5e
Author: PJ Fanning <[email protected]>
AuthorDate: Thu Mar 23 15:12:33 2023 +0100
fix some pekko naming issues (#36)
address review items
Update CassandraReadJournal.scala
more class package issues
---
.../cassandra/testkit/CassandraLauncher.scala | 6 +-
.../query/javadsl/CassandraReadJournal.scala | 12 +-
.../query/scaladsl/CassandraReadJournal.scala | 12 +-
.../cassandra/PrintCreateStatements.scala | 2 +-
docs/src/main/paradox/cleanup.md | 2 +-
docs/src/main/paradox/configuration.md | 10 +-
docs/src/main/paradox/cosmosdb.md | 2 +-
docs/src/main/paradox/events-by-tag.md | 14 +-
docs/src/main/paradox/healthcheck.md | 8 +-
docs/src/main/paradox/journal.md | 12 +-
docs/src/main/paradox/migrations.md | 279 +--------------------
docs/src/main/paradox/read-journal.md | 4 +-
docs/src/main/paradox/snapshots.md | 10 +-
docs/src/main/paradox/testing.md | 2 +-
project/project-info.conf | 4 +-
15 files changed, 53 insertions(+), 326 deletions(-)
diff --git
a/cassandra-launcher/src/main/scala/org/apache/pekko/persistence/cassandra/testkit/CassandraLauncher.scala
b/cassandra-launcher/src/main/scala/org/apache/pekko/persistence/cassandra/testkit/CassandraLauncher.scala
index 7cee643..37125d7 100644
---
a/cassandra-launcher/src/main/scala/org/apache/pekko/persistence/cassandra/testkit/CassandraLauncher.scala
+++
b/cassandra-launcher/src/main/scala/org/apache/pekko/persistence/cassandra/testkit/CassandraLauncher.scala
@@ -195,7 +195,7 @@ object CassandraLauncher {
* @param port the `native_transport_port` to use, if 0 a random
* free port is used, which can be retrieved (before starting)
* with [[CassandraLauncher.randomPort]].
- * @throws
akka.persistence.cassandra.testkit.CassandraLauncher.CleanFailedException if
`clean`
+ * @throws
org.apache.pekko.persistence.cassandra.testkit.CassandraLauncher.CleanFailedException
if `clean`
* is `true` and removal of the directory fails
*/
def start(cassandraDirectory: File, configResource: String, clean: Boolean,
port: Int): Unit =
@@ -214,7 +214,7 @@ object CassandraLauncher {
* with [[CassandraLauncher.randomPort]].
* @param classpath Any additional jars/directories to add to the classpath.
Use
* [[CassandraLauncher#classpathForResources]] to assist in
calculating this.
- * @throws
akka.persistence.cassandra.testkit.CassandraLauncher.CleanFailedException if
`clean`
+ * @throws
org.apache.pekko.persistence.cassandra.testkit.CassandraLauncher.CleanFailedException
if `clean`
* is `true` and removal of the directory fails
*/
def start(
@@ -239,7 +239,7 @@ object CassandraLauncher {
* @param classpath Any additional jars/directories to add to the classpath.
Use
* [[CassandraLauncher#classpathForResources]] to assist in
calculating this.
* @param host the host to bind the embeded Cassandra to. If None, then
127.0.0.1 is used.
- * @throws
akka.persistence.cassandra.testkit.CassandraLauncher.CleanFailedException if
`clean`
+ * @throws
org.apache.pekko.persistence.cassandra.testkit.CassandraLauncher.CleanFailedException
if `clean`
* is `true` and removal of the directory fails
*/
def start(
diff --git
a/core/src/main/scala/org/apache/pekko/persistence/cassandra/query/javadsl/CassandraReadJournal.scala
b/core/src/main/scala/org/apache/pekko/persistence/cassandra/query/javadsl/CassandraReadJournal.scala
index bd52f82..bb488a9 100644
---
a/core/src/main/scala/org/apache/pekko/persistence/cassandra/query/javadsl/CassandraReadJournal.scala
+++
b/core/src/main/scala/org/apache/pekko/persistence/cassandra/query/javadsl/CassandraReadJournal.scala
@@ -31,7 +31,7 @@ object CassandraReadJournal {
/**
* The default identifier for [[CassandraReadJournal]] to be used with
- * `akka.persistence.query.PersistenceQuery#getReadJournalFor`.
+ * `org.apache.pekko.persistence.query.PersistenceQuery#getReadJournalFor`.
*
* The value is `"pekko.persistence.cassandra.query"` and corresponds
* to the absolute path to the read journal configuration entry.
@@ -41,7 +41,7 @@ object CassandraReadJournal {
}
/**
- * Java API: `akka.persistence.query.javadsl.ReadJournal` implementation for
Cassandra.
+ * Java API: `org.apache.pekko.persistence.query.javadsl.ReadJournal`
implementation for Cassandra.
*
* It is retrieved with:
* {{{
@@ -113,8 +113,8 @@ class CassandraReadJournal(
* `eventsByTag` is used for retrieving events that were marked with
* a given tag, e.g. all events of an Aggregate Root type.
*
- * To tag events you create an `akka.persistence.journal.EventAdapter` that
wraps the events
- * in a `akka.persistence.journal.Tagged` with the given `tags`.
+ * To tag events you create an
`org.apache.pekko.persistence.journal.EventAdapter` that wraps the events
+ * in a `org.apache.pekko.persistence.journal.Tagged` with the given `tags`.
* The tags must be defined in the `tags` section of the
`pekko.persistence.cassandra` configuration.
*
* You can use [[pekko.persistence.query.NoOffset]] to retrieve all events
with a given tag or
@@ -123,7 +123,7 @@ class CassandraReadJournal(
* The offset of each event is provided in the streamed envelopes returned,
* which makes it possible to resume the stream at a later point from a
given offset.
* The `offset` parameter is exclusive, i.e. the event corresponding to the
given `offset` parameter is not
- * included in the stream. The `Offset` type is
`akka.persistence.query.TimeBasedUUID`.
+ * included in the stream. The `Offset` type is
`org.apache.pekko.persistence.query.TimeBasedUUID`.
*
* For querying events that happened after a long unix timestamp you can use
[[timeBasedUUIDFrom]]
* to create the offset to use with this method.
@@ -180,7 +180,7 @@ class CassandraReadJournal(
* The `fromSequenceNr` and `toSequenceNr` are inclusive.
*
* The `EventEnvelope` also provides an `offset`, which is the same kind of
offset as is used in the
- * `eventsByTag` query. The `Offset` type is
`akka.persistence.query.TimeBasedUUID`.
+ * `eventsByTag` query. The `Offset` type is
`org.apache.pekko.persistence.query.TimeBasedUUID`.
*
* The returned event stream is ordered by `sequenceNr`.
*
diff --git
a/core/src/main/scala/org/apache/pekko/persistence/cassandra/query/scaladsl/CassandraReadJournal.scala
b/core/src/main/scala/org/apache/pekko/persistence/cassandra/query/scaladsl/CassandraReadJournal.scala
index ec2117c..cba5fa6 100644
---
a/core/src/main/scala/org/apache/pekko/persistence/cassandra/query/scaladsl/CassandraReadJournal.scala
+++
b/core/src/main/scala/org/apache/pekko/persistence/cassandra/query/scaladsl/CassandraReadJournal.scala
@@ -50,7 +50,7 @@ object CassandraReadJournal {
/**
* The default identifier for [[CassandraReadJournal]] to be used with
- * `akka.persistence.query.PersistenceQuery#readJournalFor`.
+ * `org.apache.pekko.persistence.query.PersistenceQuery#readJournalFor`.
*
* The value is `"pekko.persistence.cassandra.query"` and corresponds
* to the absolute path to the read journal configuration entry.
@@ -77,7 +77,7 @@ object CassandraReadJournal {
}
/**
- * Scala API `akka.persistence.query.scaladsl.ReadJournal` implementation for
Cassandra.
+ * Scala API `org.apache.pekko.persistence.query.scaladsl.ReadJournal`
implementation for Cassandra.
*
* It is retrieved with:
* {{{
@@ -259,8 +259,8 @@ class CassandraReadJournal protected (
* `eventsByTag` is used for retrieving events that were marked with
* a given tag, e.g. all events of an Aggregate Root type.
*
- * To tag events you create an `akka.persistence.journal.EventAdapter` that
wraps the events
- * in a `akka.persistence.journal.Tagged` with the given `tags`.
+ * To tag events you create an
`org.apache.pekko.persistence.journal.EventAdapter` that wraps the events
+ * in a `org.apache.pekko.persistence.journal.Tagged` with the given `tags`.
* The tags must be defined in the `tags` section of the
`pekko.persistence.cassandra` configuration.
*
* You can use [[NoOffset]] to retrieve all events with a given tag or
@@ -269,7 +269,7 @@ class CassandraReadJournal protected (
* The offset of each event is provided in the streamed envelopes returned,
* which makes it possible to resume the stream at a later point from a
given offset.
* The `offset` parameter is exclusive, i.e. the event corresponding to the
given `offset` parameter is not
- * included in the stream. The `Offset` type is
`akka.persistence.query.TimeBasedUUID`.
+ * included in the stream. The `Offset` type is
`org.apache.pekko.persistence.query.TimeBasedUUID`.
*
* For querying events that happened after a long unix timestamp you can use
[[timeBasedUUIDFrom]]
* to create the offset to use with this method.
@@ -541,7 +541,7 @@ class CassandraReadJournal protected (
* The `fromSequenceNr` and `toSequenceNr` are inclusive.
*
* The `EventEnvelope` also provides an `offset`, which is the same kind of
offset as is used in the
- * `eventsByTag` query. The `Offset` type is
`akka.persistence.query.TimeBasedUUID`.
+ * `eventsByTag` query. The `Offset` type is
`org.apache.pekko.persistence.query.TimeBasedUUID`.
*
* The returned event stream is ordered by `sequenceNr`.
*
diff --git
a/core/src/test/scala/org/apache/pekko/persistence/cassandra/PrintCreateStatements.scala
b/core/src/test/scala/org/apache/pekko/persistence/cassandra/PrintCreateStatements.scala
index 0c564af..a26aed7 100644
---
a/core/src/test/scala/org/apache/pekko/persistence/cassandra/PrintCreateStatements.scala
+++
b/core/src/test/scala/org/apache/pekko/persistence/cassandra/PrintCreateStatements.scala
@@ -19,7 +19,7 @@ import org.apache.pekko.actor.ActorSystem
/**
* Main application that prints the create keyspace and create table
statements.
- * It's using `pekko.persistence.cassandra` configuration from default
application.conf.
+ * It's using `org.apache.pekko.persistence.cassandra` configuration from
default application.conf.
*
* These statements can be copy-pasted and run in `cqlsh`.
*/
diff --git a/docs/src/main/paradox/cleanup.md b/docs/src/main/paradox/cleanup.md
index b05f088..56bc9ea 100644
--- a/docs/src/main/paradox/cleanup.md
+++ b/docs/src/main/paradox/cleanup.md
@@ -28,4 +28,4 @@ Scala
Java
: @@snip
[snapshot-keyspace](/docs/src/test/java/jdoc/cleanup/CleanupDocExample.java) {
#cleanup }
-By default, all operations only print what they were going to do. Once you're
happy with what the cleanup tool is going to do set
`akka.persistence.cassandra.cleanup.dry-run = false`
+By default, all operations only print what they were going to do. Once you're
happy with what the cleanup tool is going to do set
`pekko.persistence.cassandra.cleanup.dry-run = false`
diff --git a/docs/src/main/paradox/configuration.md
b/docs/src/main/paradox/configuration.md
index 5342595..3b35221 100644
--- a/docs/src/main/paradox/configuration.md
+++ b/docs/src/main/paradox/configuration.md
@@ -8,17 +8,17 @@ The reference configuration file with the default values:
@@snip [reference.conf](/core/src/main/resources/reference.conf)
-Journal configuration is under `akka.persistence.cassandra.journal`.
+Journal configuration is under `pekko.persistence.cassandra.journal`.
-Snapshot configuration is under `akka.persistence.cassandra.snapshot`.
+Snapshot configuration is under `pekko.persistence.cassandra.snapshot`.
-Query configuration is under `akka.persistence.cassandra.query`.
+Query configuration is under `pekko.persistence.cassandra.query`.
-Events by tag configuration is under
`akka.persistence.cassandra.events-by-tag` and shared
+Events by tag configuration is under
`pekko.persistence.cassandra.events-by-tag` and shared
b `journal` and `query`.
The settings that shared by the `journal`, `query`, and `snapshot` parts of
the plugin and are under
-`akka.persistence.cassandra`.
+`pekko.persistence.cassandra`.
## Cassandra driver configuration
diff --git a/docs/src/main/paradox/cosmosdb.md
b/docs/src/main/paradox/cosmosdb.md
index 1e3c3e9..adb8b7e 100644
--- a/docs/src/main/paradox/cosmosdb.md
+++ b/docs/src/main/paradox/cosmosdb.md
@@ -15,7 +15,7 @@ for clustering columns than Cassandra. This will probably be
fixed in CosmosDB.
When using CosmosDB you need to configure:
```
-akka.persistence.cassandra {
+pekko.persistence.cassandra {
compatibility.cosmosdb = on
journal.gc-grace-seconds = 0
events-by-tag.gc-grace-seconds = 0
diff --git a/docs/src/main/paradox/events-by-tag.md
b/docs/src/main/paradox/events-by-tag.md
index 0ce3dc0..19892b7 100644
--- a/docs/src/main/paradox/events-by-tag.md
+++ b/docs/src/main/paradox/events-by-tag.md
@@ -18,7 +18,7 @@ When there is no offset provided to a query then it is not
known which bucket to
It is important to override the first time bucket used to a recent time as the
default will
result in a delay for queries without an offset as it is a long time ago:
-`akka.persistence.cassandra.events-by-tag.first-time-bucket = "20151120T00:00"`
+`pekko.persistence.cassandra.events-by-tag.first-time-bucket =
"20151120T00:00"`
## Consistency
@@ -75,7 +75,7 @@ To detect missed events without receiving another event for
the same persistence
to find events. Queries are run in the background to detect delayed events. A
high frequency short back track is done
for finding events delayed a small amount and a low frequency backtrack that
scans further back.
-These are configured with
`akka.persistence.cassandra.events-by-tag.back-track`:
+These are configured with
`pekko.persistence.cassandra.events-by-tag.back-track`:
@@snip [reference.conf](/core/src/main/resources/reference.conf) { #backtrack
}
@@ -92,7 +92,7 @@ depending on the load and performance of your Cassandra
cluster.
It is possible to flush the tag writes right away. By default they are batched
and written as an unlogged batch which increases throughput. To write each
individually
without delay use:
```
-akka.persistence.cassandra.events-by-tag.flush-interval = 0s
+pekko.persistence.cassandra.events-by-tag.flush-interval = 0s
```
Alternatively set a very small value e.g. `25ms` so some batching is done. If
your application has a large number of tagged events per second
@@ -102,15 +102,15 @@ Enable pub sub notifications so events by tag queries can
execute a query right
`refresh-interval`. Lower the `refresh-interval` for cases where the pub sub
messages take a long time to arrive at the
query.
```
-akka.persistence.cassandra.events-by-tag.pubsub-notification = on
-akka.persistence.cassandra.query.refresh-interval = 2s
+pekko.persistence.cassandra.events-by-tag.pubsub-notification = on
+pekko.persistence.cassandra.query.refresh-interval = 2s
```
Reduce `eventual-consistency-delay`. You must test this has positive results
for your use case. Setting this too low
can decrease throughput and latency as more events will be missed initially
and expensive searches carried out.
```
-akka.persistence.cassandra.events-by-tag.eventual-consistency-delay = 50ms
+pekko.persistence.cassandra.events-by-tag.eventual-consistency-delay = 50ms
```
## Missing searches and gap detection
@@ -168,7 +168,7 @@ getting too large.
* 100,000s of events per day per tag -- Hour
* 1,000,000s of events per day per tag -- Minute
-The default is `Hour` and can be overridden by setting
`akka.persistence.cassandra.events-by-tag.bucket-size`.
+The default is `Hour` and can be overridden by setting
`pekko.persistence.cassandra.events-by-tag.bucket-size`.
This setting can not be changed after data has been written.
More billion per day per tag? You probably need a specialised schema rather
than a general library like this.
diff --git a/docs/src/main/paradox/healthcheck.md
b/docs/src/main/paradox/healthcheck.md
index 2ee28c2..a4c374a 100644
--- a/docs/src/main/paradox/healthcheck.md
+++ b/docs/src/main/paradox/healthcheck.md
@@ -4,19 +4,19 @@ A [health check for Akka
Management](https://doc.akka.io/docs/akka-management/cu
is provided. To enable it you need to add the following configuration
```
-akka.management {
+pekko.management {
health-checks {
readiness-checks {
- akka-persistence-cassandra =
"akka.persistence.cassandra.healthcheck.CassandraHealthCheck"
+ pekko-persistence-cassandra =
"org.apache.pekko.persistence.cassandra.healthcheck.CassandraHealthCheck"
}
}
}
```
-By default it will try to query the `system.local` table. The query can be
configured with:
+By default, it will try to query the `system.local` table. The query can be
configured with:
```
-akka.persistence.cassandra.healthcheck {
+pekko.persistence.cassandra.healthcheck {
health-check-cql = "SELECT now() FROM system.local"
}
```
diff --git a/docs/src/main/paradox/journal.md b/docs/src/main/paradox/journal.md
index 04f0c14..eb33088 100644
--- a/docs/src/main/paradox/journal.md
+++ b/docs/src/main/paradox/journal.md
@@ -28,12 +28,12 @@ NetworkTopology replication strategy with a replication
factor of at least 3:
CREATE KEYSPACE IF NOT EXISTS akka WITH replication = {'class':
'NetworkTopologyStrategy', '<your_dc_name>' : 3 };
```
-For local testing, and the default if you enable
`akka.persistence.cassandra.journal.keyspace-autocreate` you can use the
following:
+For local testing, and the default if you enable
`pekko.persistence.cassandra.journal.keyspace-autocreate` you can use the
following:
@@snip [journal-schema](/target/journal-keyspace.txt) { #journal-keyspace }
There are multiple tables required. These need to be created before starting
your application.
-For local testing you can enable
`akka.persistence.cassandra.journal.tables-autocreate`. The default table
definitions look like this:
+For local testing you can enable
`pekko.persistence.cassandra.journal.tables-autocreate`. The default table
definitions look like this:
@@snip [journal-tables](/target/journal-tables.txt) { #journal-tables }
@@ -67,10 +67,10 @@ Old columns, no longer needed but may be in your schema if
you have used older v
To activate the journal plugin, add the following line to your Akka
`application.conf`:
- akka.persistence.journal.plugin = "akka.persistence.cassandra.journal"
+ pekko.persistence.journal.plugin = "pekko.persistence.cassandra.journal"
This will run the journal with its default settings. The default settings can
be changed with the configuration properties defined in
-@ref:[reference.conf](configuration.md#default-configuration). Journal
configuration is under `akka.persistence.cassandra.journal`.
+@ref:[reference.conf](configuration.md#default-configuration). Journal
configuration is under `pekko.persistence.cassandra.journal`.
All Cassandra driver settings are via its @extref:[standard profile
mechanism](java-driver:manual/core/configuration/).
@@ -86,7 +86,7 @@ The messages table that stores the events is partitioned by
`(persistence_id, pa
artificial partition key to ensure that the Cassandra partition does not get
too large if there are a lot of events for
a single `persistence_id`.
-`akka.persistence.cassandra.journal.target-partition-size` controls the number
of events that the journal tries to put
+`pekko.persistence.cassandra.journal.target-partition-size` controls the
number of events that the journal tries to put
in each Cassandra partition. It is a target as `persistAll` calls will have
all the events in the same partition
even if it will exceed the target partition size to ensure atomicity.
@@ -119,7 +119,7 @@ Using a consistency level other than `QUORUM` or
`LOCAL_QUORUM` is highly discou
```
datastax-java-driver.profiles {
- akka-persistence-cassandra-profile {
+ pekko-persistence-cassandra-profile {
basic.request.consistency = QUORUM
}
}
diff --git a/docs/src/main/paradox/migrations.md
b/docs/src/main/paradox/migrations.md
index 9c2cabe..5cc0fde 100644
--- a/docs/src/main/paradox/migrations.md
+++ b/docs/src/main/paradox/migrations.md
@@ -1,278 +1,5 @@
# Migration
-## Migrating from 0.80+ to 1.0
-
-* Rolling update to 1.0 requires update from 0.101 to 1.0. First update to
0.101.
-* After being deprecated, the DateTieredCompactionStrategy has been removed.
-
-### Driver upgrade with significant configuration changes
-
-Version 4.x of the cassandra driver comes with a new way to configure it via
[typesafe configuration](https://github.com/lightbend/config)
-which matches how Akka manages configuration.
-
-All driver related configuration e.g. query consistency, query retries etc has
been removed from this
-project's `reference.conf` and now each part of the plugin (journal, snapshot
and query) specify a read and write
-@extref:[execution
profile](java-driver:manual/core/configuration/#execution-profiles) that gives
-fine grained control over consistencies and retires for each are. By default
all read/write profiles are the same and under
-`datastax-java-driver.profile.akka-persistence-cassandra-profile`. The only
value in the profile provided by the plugin is setting the
`basic.request.consistency`
-to `QUORUM`.
-
-The new driver supports reconnection during initialization which was
previously built into the plugin. It is recommended to turn this on with:
-`datastax-java-driver.advanced.reconnect-on-init = true`
-It can't be turned on by the plugin as it is in the driver's reference.conf
and is not overridable in a profile.
-
-### Changed configuration structure
-
-In addition to the driver related configuration described above the overall
configuration structure has been changed.
-It is now structured in four main sections within the top level
`akka.persistence.cassandra` section:
-
- akka.persistence.cassandra {
- journal {
- }
- query {
- }
- events-by-tag {
- }
- snapshot {
- }
- }
-
-See
[reference.conf](https://github.com/akka/akka-persistence-cassandra/blob/master/core/src/main/resources/reference.conf)
-for details and update your `application.conf` accordingly.
-
-This also means that the properties for enabling the plugin have changed to:
-
- akka.persistence.journal.plugin = "akka.persistence.cassandra.journal"
- akka.persistence.snapshot-store.plugin =
"akka.persistence.cassandra.snapshot"
-
-#### Removals
-
-Using DateTieredCompactionStrategy with automatic schema creation
-
-### Drop static column
-
-See instructions for migrations to 0.101 below. To support rolling update if
you are migrating from an
-earlier version to 1.0 you must first update to 0.101+ but the second step can
be skipped and will be part of the
-1.0 update instead.
-
-After completed update to 1.0 the static column `used` should be dropped with:
-
-```
-alter table akka.messages drop used;
-```
-
-### All persistenceIds query
-
-The implementation of `persistenceIds` and `currentPersistenceIds` queries
have been made more efficient
-by inserting new persistence ids into a new table `all_persistence_ids`.
-
-Create the `all_persistence_ids` table if you are not using
`tables-autocreate=on`, which is not recommended for
-production. See @ref:[table definition](journal.md#schema).
-
-The following migration step is not needed if you don't use the
`persistenceIds` or `currentPersistenceIds` queries.
-
-Already existing persistence ids should be inserted into the new table. This
can be done with the `Reconciliation`
-tool:
-
-@@snip
[reconciler](/core/src/test/scala/doc/reconciler/AllPersistenceIdsMigrationCompileOnly.scala)
{ #imports #migrate}
-
-You can run that migration tool while the old (or new) system is running, and
it can be run several times if needed.
-
-## Migrations to 0.101 and later in 0.x series
-
-
-Versions 0.101+ make it possible to drop the static column `used`. This saves
space for persistence ids
-that have been deleted. Also some cloud Cassandra versions do not support
static columns.
-
-The complete removal of the static column must be performed in two steps to
support rolling update where an
-Akka Cluster is running a mix of versions prior to 0.101 and 0.101+.
-
-If you can accept a full cluster shutdown you can update to the second step
directly.
-
-**Step 1**
-
-0.101 is not using the static column `used` in the reads but still populates
it in the writes so that earlier
-versions can read it. First upgrade to a 0.x version greater than 0.101.
-
-**Step 2**
-
-After complete roll out of a 0.101+ version in step 1 the configuration can be
changed so that the static column isn't used
-at all.
-
-```
-cassandra-journal.write-static-column-compat = off
-```
-
-It can still run with an old schema where the column exists.
-
-After completed update of the configuration change the column can be dropped
with:
-
-```
-alter table akka.messages drop used;
-```
-
-## Migrations to 0.80 and later in 0.x series
-
-0.80 introduces a completely different way to manage tags for events. You can
skip right ahead to 0.98 without going to
-0.80.
-
-If you migrate directly to 1.0.0 you must first run the migration of the
@ref:[All persistenceIds query](#all-persistenceids-query).
-
-It is very important that you test this migration in a pre-production
environment as once you drop the materialized view
-and tag columns you can not roll back.
-
-Most of the migration can be done while the old version of your application is
running. The remaining steps happen automatically
-when a persistent actor is recovered which may slow down actor recovery but
only by a small amount if you follow the offline steps.
-
-The `EventsByTagMigration` class provides a set of tools to assist in the
migration.
-
-The first two are schema changes that should be performed once on a single
node
-and can be done while your application is running with the old version of this
plugin:
-
-* `createTables` creates the two new tables required
-* `addTagsColumn` adds a `set<text>` column to the `messages` table
-
-For example you could put the following in a main method to do the schema
migrations:
-
-```scala
-val system = ActorSystem()
-
-val migrator = EventsByTagMigration(system)
-
-val schemaMigration: Future[Done] = for {
- _ <- migrator.createTables()
- done <- migrator.addTagsColumn().recover {
- case i: ExecutionException if i.getMessage.contains("conflicts with an
existing column") => Done
- }
-} yield done
-```
-
-The recover makes the adding of the tags column idempotent as cql does not
include a `IF NOT EXISTS` for adding a column
-
-Next is the data migration into a new table that stores events indexed by tag.
This will be a slow process as it needs
-to scan over all existing events. It can be run while your application is
running but beware that it will
-produce a lot of writes to your C* cluster so should be done during a quiet
period.
-
-* `migrateToTagViews` scans over all your persistence ids and writes the
tagged events to the `tag_views` table. At the same
-time it keeps track of its progress in the `tag_write_progress` table so if
this were to fail due to say a C* issue you can resume
-and it won't start from scratch.
-* If you have an efficient way of getting all the persistenceIds pass them
into this method. Otherwise a select distinct query is used
-which is likely to time out. You can also use this method to stagger your
migration.
-
-You do not need to worry if a small number of events are missed by
`migrateToTagViews` as they will be
-fixed during your `PersistentActor` recovery. However do not rely on this for
full migration as only active `PersistentActor`s
-will be recovered and it will mean the start up time for your
`PersistentActor`s will be very long.
-Moreover, if your application consumes events through `eventsByTag` query, the
missed events will only show up on the query side once you instantiate the
respective `PersistentActor`.
-
-After you have migrated your data you can now remove the materialized view and
`tagN` columns from the
-`messages` table. It is *highly* recommended you do this as maintaining a
materialized view is expensive
-and uses a large amount of capacity in your cluster:
-
-* Drop the materialized view
-```cql
-DROP MATERIALIZED VIEW akka.eventsbytag;
-```
-* Drop the tag columns on the messages table
-```cql
-ALTER TABLE akka.messages DROP tag1;
-ALTER TABLE akka.messages DROP tag2;
-ALTER TABLE akka.messages DROP tag3;
-```
-
-Note that the new `tags` column won't be back filled for old events. This
won't affect
-your `eventsByTag` queries as they come from a different table. This column is
used for recovering any missed
-writes to the `tag_views` table when running persistent actors with the new
version.
-
-The following configuration changes. See `reference.conf` for full details:
-
-* `pubsub-minimum-interval` has been removed. If using DistributedPubsub
notifications for tag writes then set `pubsub-notification` to on
-* `delayed-event-timeout` has been replaced by `events-by-tag.gap-timeout`
with the restriction removed that all
-events have to be tagged.
-* `first-time-bucket` format has changed to: `yyyyMMddTHH:mm` e.g.
`20151120T00:00`
-* `eventual-consistency` has been removed. It may be re-added see
[#263](https://github.com/akka/akka-persistence-cassandra/issues/263)
-
-## Migrations from 0.54 to 0.59
-
-In version 0.55 additional columns were added to be able to store meta data
about an event without altering
-the actual domain event.
-
-The new columns `meta_ser_id`, `meta_ser_manifest`, and `meta` are defined in
the [new journal table
definition](https://github.com/akka/akka-persistence-cassandra/blob/v0.55/core/src/main/scala/akka/persistence/cassandra/journal/CassandraStatements.scala#L45-L47)
and [new snapshot table
definition](https://github.com/akka/akka-persistence-cassandra/blob/v0.55/core/src/main/scala/akka/persistence/cassandra/snapshot/CassandraStatements.scala#L31-L33).
-
-You can add the to existing tables by executing the following in `cqlsh`:
-
-```
-alter table akka.messages add meta_ser_id int;
-alter table akka.messages add meta_ser_manifest text;
-alter table akka.messages add meta blob;
-alter table akka_snapshot.snapshots add meta_ser_id int;
-alter table akka_snapshot.snapshots add meta_ser_manifest text;
-alter table akka_snapshot.snapshots add meta blob;
-```
-
-These columns are used when the event is wrapped in
`akka.persistence.cassandra.EventWithMetaData` or snapshot is wrapped in
`akka.persistence.cassandra.SnapshotWithMetaData`. It is optional to alter the
table and add the columns. It's only required to add the columns if such meta
data is used.
-
-It is also not required to add the materialized views, not even if the meta
data is stored in the journal table. If the materialized view is not changed
the plain events are retrieved with the `eventsByTag` query and they are not
wrapped in `EventWithMetaData`. Note that Cassandra [does not
support](https://docs.datastax.com/en/cql/3.3/cql/cql_reference/cqlAlterMaterializedView.html)
adding columns to an existing materialized view.
-
-If you don't alter existing messages table and still use
`tables-autocreate=on` you have to set config:
-
-```
-cassandra-journal.meta-in-events-by-tag-view = off
-```
-
-When trying to create the materialized view (tables-autocreate=on) with the
meta columns before corresponding columns have been added the messages table an
exception "Undefined column name meta_ser_id" is raised, because Cassandra
validates the ["CREATE MATERIALIZED VIEW IF NOT
EXISTS"](https://docs.datastax.com/en/cql/3.3/cql/cql_reference/cqlCreateMaterializedView.html#cqlCreateMaterializedView__if-not-exists)
even though the view already exists and will not be created. To work around
[...]
-
-
-## Migrations from 0.51 to 0.52
-
-`CassandraLauncher` has been pulled out into its own artifact, and now bundles
Cassandra into a single fat jar, which is bundled into the launcher artifact.
This has allowed Cassandra to be launched without it being on the classpath,
which prevents classpath conflicts, but it also means that Cassandra can't be
configured by changing files on the classpath, for example, a custom
`logback.xml` in `src/test/resources` is no longer sufficient to configure
Cassandra's logging. To address this [...]
-
-To depend on the new `CassandraLauncher` artifact, remove any dependency on
`cassandra-all` itself, and add:
-
-```scala
-"com.typesafe.akka" %% "akka-persistence-cassandra-launcher" % "0.52"
-```
-
-to your build. To modify the classpath that Cassandra uses, for example, if
you have a `logback.xml` file in your `src/test/resources` directory that you
want Cassandra to use, you can do this:
-
-```scala
-CassandraLauncher.start(
- cassandraDirectory,
- CassandraLauncher.DefaultTestConfigResource,
- clean = true,
- port = 0,
- CassandraLauncher.classpathForResources("logback.xml")
-)
-```
-
-## Migrations from 0.23 to 0.50
-
-The Persistence Query API changed slightly, see [migration guide for Akka
2.5](https://doc.akka.io/docs/akka/2.5/project/migration-guide-2.4.x-2.5.x.html#persistence-query).
-
-## Migrations from 0.11 to 0.12
-
-Dispatcher configuration was changed, see
[reference.conf](https://github.com/akka/akka-persistence-cassandra/blob/master/core/src/main/resources/reference.conf):
-
-## Migrations from 0.9 to 0.10
-
-The event data, snapshot data and meta data are stored in a separate columns
instead of being wrapped in blob. Run the following statements in `cqlsh`:
-
- drop materialized view if exists akka.eventsbytag1;
- drop materialized view if exists akka.eventsbytag2;
- drop materialized view if exists akka.eventsbytag3;
- alter table akka.messages add writer_uuid text;
- alter table akka.messages add ser_id int;
- alter table akka.messages add ser_manifest text;
- alter table akka.messages add event_manifest text;
- alter table akka.messages add event blob;
- alter table akka_snapshot.snapshots add ser_id int;
- alter table akka_snapshot.snapshots add ser_manifest text;
- alter table akka_snapshot.snapshots add snapshot_data blob;
-
-## Migrations from 0.6 to 0.7
-
-Schema changes mean that you can't upgrade from version 0.6 for Cassandra 2.x
of the plugin to the 0.7 version and use existing data without schema
migration. You should be able to export the data and load it to the [new table
definition](https://github.com/akka/akka-persistence-cassandra/blob/v0.7/src/main/scala/akka/persistence/cassandra/journal/CassandraStatements.scala#L25).
-
-## Migrating from 0.3.x (Akka 2.3.x)
-
-Schema and property changes mean that you can't currently upgrade from 0.3 to
0.4 SNAPSHOT and use existing data without schema migration. You should be able
to export the data and load it to the [new table
definition](https://github.com/akka/akka-persistence-cassandra/blob/v0.9/src/main/scala/akka/persistence/cassandra/journal/CassandraStatements.scala).
-
+* Before migrating to Apache Pekko Persistence Cassandra, ensure that you have
[migrated](https://doc.akka.io/docs/akka-persistence-cassandra/1.0.6/migrations.html)
to akka-persistence-cassandra 1.0.6
+* The core [Pekko migration
guide](https://pekko.apache.org/docs/pekko/current/project/migration-guides.html)
is also worth reading.
+* Note that this project uses the `pekko`
[keyspace](https://cassandra.apache.org/doc/latest/cassandra/data_modeling/data_modeling_schema.html)
instead of `akka`.
diff --git a/docs/src/main/paradox/read-journal.md
b/docs/src/main/paradox/read-journal.md
index b2c0ad6..88cda6f 100644
--- a/docs/src/main/paradox/read-journal.md
+++ b/docs/src/main/paradox/read-journal.md
@@ -18,9 +18,9 @@ Persistence Query usage example to obtain a stream with all
events tagged with "
The default settings can be changed with the configuration properties defined
in
@ref:[reference.conf](configuration.md#default-configuration).
-Query configuration is under `akka.persistence.cassandra.query`.
+Query configuration is under `pekko.persistence.cassandra.query`.
-Events by tag configuration is under
`akka.persistence.cassandra.events-by-tag` and shared
+Events by tag configuration is under
`pekko.persistence.cassandra.events-by-tag` and shared
by `journal` and `query`.
If using events by tag query it is important to set the @ref:[first time
bucket](events-by-tag.md#first-time-bucket)
\ No newline at end of file
diff --git a/docs/src/main/paradox/snapshots.md
b/docs/src/main/paradox/snapshots.md
index bd1b9a1..b658b2c 100644
--- a/docs/src/main/paradox/snapshots.md
+++ b/docs/src/main/paradox/snapshots.md
@@ -24,12 +24,12 @@ NetworkTopology replication strategy with a replication
factor of at least 3:
CREATE KEYSPACE IF NOT EXISTS akka_snapshot WITH replication = {'class':
'NetworkTopologyStrategy', '<your_dc_name>' : 3 };
```
-For local testing, and the default if you enable
`akka.persistence.cassandra.snapshot.keyspace-autocreate` you can use the
following:
+For local testing, and the default if you enable
`pekko.persistence.cassandra.snapshot.keyspace-autocreate` you can use the
following:
@@snip [snapshot-keyspace](/target/snapshot-keyspace.txt) { #snapshot-keyspace
}
A single table is required. This needs to be created before starting your
application.
-For local testing you can enable
`akka.persistence.cassandra.snapshot.tables-autocreate`.
+For local testing you can enable
`pekko.persistence.cassandra.snapshot.tables-autocreate`.
The default table definitions look like this:
@@snip [snapshot-tables](/target/snapshot-tables.txt) { #snapshot-tables}
@@ -47,7 +47,7 @@ The consistency level for snapshots can be changed with:
```
datastax-java-driver.profiles {
- akka-persistence-cassandra-snapshot-profile {
+ pekko-persistence-cassandra-snapshot-profile {
basic.request.consistency = QUORUM
}
}
@@ -57,11 +57,11 @@ datastax-java-driver.profiles {
To activate the snapshot-store plugin, add the following line to your Akka
`application.conf`:
- akka.persistence.snapshot-store.plugin =
"akka.persistence.cassandra.snapshot"
+ pekko.persistence.snapshot-store.plugin =
"pekko.persistence.cassandra.snapshot"
This will run the snapshot store with its default settings. The default
settings can be changed with the configuration
properties defined in
@ref:[reference.conf](configuration.md#default-configuration). Journal
configuration is under
-`akka.persistence.cassandra.snapshot`.
+`pekko.persistence.cassandra.snapshot`.
## Limitations
diff --git a/docs/src/main/paradox/testing.md b/docs/src/main/paradox/testing.md
index f8d09db..39e6d27 100644
--- a/docs/src/main/paradox/testing.md
+++ b/docs/src/main/paradox/testing.md
@@ -19,7 +19,7 @@ Then there are options with tighter unit test framework
integration:
For testing it can be convenient to enable automatic creation of keyspace and
tables with configuration:
- akka.persistence.cassandra {
+ pekko.persistence.cassandra {
journal.keyspace-autocreate = on
journal.tables-autocreate = on
snapshot.keyspace-autocreate = on
diff --git a/project/project-info.conf b/project/project-info.conf
index 60bd1bf..ae63f70 100644
--- a/project/project-info.conf
+++ b/project/project-info.conf
@@ -10,11 +10,11 @@ project-info {
// new-tab: false
// }
issues: {
- url: "https://github.com/akka/akka-persistence-cassandra/issues"
+ url:
"https://github.com/apache/incubator-pekko-persistence-cassandra/issues"
text: "GitHub issues"
}
release-notes: {
- url: "https://github.com/akka/akka-persistence-cassandra/releases"
+ url:
"https://github.com/apache/incubator-pekko-persistence-cassandra/releases"
text: "GitHub releases"
}
forums: [
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]