You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@pekko.apache.org by fa...@apache.org on 2022/10/31 13:40:11 UTC

[incubator-pekko-persistence-dynamodb] branch main updated: Prep 1.3.0 (#115)

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-dynamodb.git


The following commit(s) were added to refs/heads/main by this push:
     new 27f9e01  Prep 1.3.0 (#115)
27f9e01 is described below

commit 27f9e016b2cc610e66e28b75bb7305d1e5ef4cee
Author: Corey O'Connor <co...@gmail.com>
AuthorDate: Sun Sep 18 10:19:01 2022 -0700

    Prep 1.3.0 (#115)
    
    * prep for 1.3.0
    
    * Use DynamoDB over Dynamodb for consistency
    Matches current usage as well as AWS classes.
---
 CHANGELOG.md                                       | 44 ++++++++++++++++
 README.md                                          | 60 ++++++----------------
 RELEASING.md                                       |  2 +-
 src/main/resources/reference.conf                  | 34 ++++++------
 .../dynamodb/query/DynamoDBReadJournalConfig.scala |  4 +-
 ...der.scala => DynamoDBReadJournalProvider.scala} | 10 ++--
 ...ReadJournal.scala => DynamoDBReadJournal.scala} | 14 ++---
 ...ynamoDBCurrentEventsByPersistenceIdQuery.scala} |  2 +-
 ...la => DynamoDBCurrentPersistenceIdsQuery.scala} |  8 +--
 ...ReadJournal.scala => DynamoDBReadJournal.scala} | 14 ++---
 ...ynamoDBCurrentEventsByPersistenceIdQuery.scala} | 10 ++--
 ...la => DynamoDBCurrentPersistenceIdsQuery.scala} |  8 +--
 ...ReadJournal.scala => DynamoDBReadJournal.scala} | 14 ++---
 .../dynamodb/journal/DeletionSpec.scala            |  4 +-
 .../dynamodb/journal/RecoveryConsistencySpec.scala |  4 +-
 .../dynamodb/query/CurrentPersistenceIdsSpec.scala |  4 +-
 16 files changed, 125 insertions(+), 111 deletions(-)

diff --git a/CHANGELOG.md b/CHANGELOG.md
new file mode 100644
index 0000000..db605ab
--- /dev/null
+++ b/CHANGELOG.md
@@ -0,0 +1,44 @@
+Changelog
+=========
+
+v 1.3.0
+--------------------
+
+* Implementation of Akka Persistence Query. Thanks [Joost de Vries](https://github.com/joost-de-vries)!
+  See (Configuration)[#read-journal-akka-persistence-query) for required setup.
+
+v 1.1.2 (v 1.2.0)
+----------------------------
+
+This was supposed to be released as `v1.2.0` but was released as `v1.1.2` to maven. Sorry about that!
+
+* Use DynamoDB Query during journal replay - https://github.com/akka/akka-persistence-dynamodb/issues/106
+* Correct issue [#98](https://github.com/akka/akka-persistence-dynamodb/issues/98)
+  Please see [fixes in `reference.conf`](blob/master/src/main/resources/reference.conf) for a workaround for systems impacted by this issues.
+* Depends on Akka 2.5.
+* Adds Support for the Async Serializers - which enables the use of the plugin with Lightbend extensions [GDPR Addons](https://developer.lightbend.com/docs/akka-commercial-addons/current/gdpr/index.html)
+
+Schema changes are required in order to support async serializers as we need to know what data deserializer to use for the data payload.
+The data payload is stored in a dedicated `event` field. Going towards similar schema as [akka-persistence-cassandra](https://github.com/akka/akka-persistence-cassandra)
+
+*Journal Plugin*
+~~~
+val Event = "event" -> PeristentRepr.payload
+val SerializerId = "ev_ser_id" -> Serializer id used for serializing event above
+val SerializerManifest = "ev_ser_manifest" -> Serializer manifest of the event above
+val Manifest = "manifest" -> String manifest used for whole PeristentRepr
+
+~~~
+
+*Snapshot Plugin*
+~~~
+val SerializerId = "ser_id" -> Serializer used for serializing the snapshot payload
+val SerializerManifest = "ser_manifest" -> String manifest of the snapshot payload
+val PayloadData = "pay_data" -> the actual serialized data of the snapshot, need to distinguish between the old a new format
+~~~
+The existence of the old `val Payload = "pay"` field triggers old serialization. The new serialization doesn't Serialize theq
+Snapshot wrapper class.
+
+
+Both Journal and Snapshot checks the existence of new data fields first and switches the behaviour in order
+to make the change backwards compatible.
diff --git a/README.md b/README.md
index 0d0a5f1..6bde46a 100644
--- a/README.md
+++ b/README.md
@@ -5,11 +5,11 @@ A replicated [Akka Persistence](http://doc.akka.io/docs/akka/2.4.0/scala/persist
 [Amazon DynamoDB](http://aws.amazon.com/dynamodb/).
 
 - This plugin implements both a journal as well as a snapshot store,
-- Please note, however, that it does not include an Akka Persistence Query plugin.
+- This includes a Akka Persistence Query plugin. However, this requires an additional GSI for efficient usage.
 
 Supported versions:
 - Scala: `2.12.x`, `2.13.x`
-- Akka: `2.4.14+` and `2.5.x+` and `2.6.x+` (see notes below how to use with 2.5)
+- Akka: `2.5.x+` and `2.6.x+`
 - Java: `1.8+`
 
 [![Join the chat at https://gitter.im/akka/akka-persistence-dynamodb](https://badges.gitter.im/akka/akka-persistence-dynamodb.svg)](https://gitter.im/akka/akka-persistence-dynamodb?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge)
@@ -23,15 +23,15 @@ This plugin is published to the Maven Central repository with the following name
 ~~~
 <dependency>
     <groupId>com.typesafe.akka</groupId>
-    <artifactId>akka-persistence-dynamodb_2.11</artifactId>
-    <version>1.2.0-RC2</version>
+    <artifactId>akka-persistence-dynamodb_2.13</artifactId>
+    <version>1.3.0</version>
 </dependency>
 ~~~
 
 or for sbt users:
 
 ```sbt
-libraryDependencies += "com.typesafe.akka" %% "akka-persistence-dynamodb" % "1.2.0-RC2"
+libraryDependencies += "com.typesafe.akka" %% "akka-persistence-dynamodb" % "1.3.0"
 ```
 
 Configuration
@@ -81,10 +81,10 @@ The table to create for snapshot storage has the schema:
 * a sort key of type Number with name `ts`
 * a local secondary index with name `ts-idx` that is an index on the combination of `par` and `ts`
 
-The Dynamodb item of a snapshot [can be 400 kB](http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Limits.html#limits-items). Using a binary serialisation format like ProtoBuf or Kryo will use that space most effectively.
+The DynamoDB item of a snapshot [can be 400 kB](http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Limits.html#limits-items). Using a binary serialisation format like ProtoBuf or Kryo will use that space most effectively.
 
 ### Read journal (Akka persistence query)
-(**Since:** `1.3.0`; contributed by [@joost-de-vries](https://github.com/joost-de-vries))  
+(**Since:** `1.3.0`; contributed by [@joost-de-vries](https://github.com/joost-de-vries))
 See `CreatePersistenceIdsIndex.createPersistenceIdsIndexRequest` how to create the Global Secondary Index that is required to query currentPersistenceIds
 ~~~
 dynamodb-read-journal {
@@ -207,44 +207,10 @@ When writing an item we typically do not touch the high sequence number storage,
 Using with Akka 2.5.x
 ---------------------
 
-This plugin depends on Akka 2.4, however since [Akka maintains strict backwards compatibility guarantees](http://doc.akka.io/docs/akka/current/scala/common/binary-compatibility-rules.html) across minor versions,
-it is completely compatible to use this plugin with Akka 2.5.x.
-
-Please make sure to depend on all Akka artifacts (those with the artifact name begining with `akka-*`) are depended on in the same version - as mixing versions is *not* legal. For example, if you depend on Akka Persistence in `2.5.3`, make sure that Akka Streams and Actors are also depended on in the same version. Please always use the latest patch version available (!).
-
-Changelog
----------------------
-
-v 1.2.0
----------------------
-
-* Depends on Akka 2.5.
-* Adds Support for the Async Serializers - which enables the use of the plugin with Lightbend extensions [GDPR Addons](https://developer.lightbend.com/docs/akka-commercial-addons/current/gdpr/index.html)
-
-Schema changes are required in order to support async serializers as we need to know what data deserializer to use for the data payload.
-The data payload is stored in a dedicated `event` field. Going towards similar schema as [akka-persistence-cassandra](https://github.com/akka/akka-persistence-cassandra)
-
-*Journal Plugin*
-~~~
-val Event = "event" -> PeristentRepr.payload
-val SerializerId = "ev_ser_id" -> Serializer id used for serializing event above
-val SerializerManifest = "ev_ser_manifest" -> Serializer manifest of the event above
-val Manifest = "manifest" -> String manifest used for whole PeristentRepr
-
-~~~
-
-*Snapshot Plugin*
-~~~
-val SerializerId = "ser_id" -> Serializer used for serializing the snapshot payload
-val SerializerManifest = "ser_manifest" -> String manifest of the snapshot payload
-val PayloadData = "pay_data" -> the actual serialized data of the snapshot, need to distinguish between the old a new format
-~~~
-The existence of the old `val Payload = "pay"` field triggers old serialization. The new serialization doesn't Serialize theq
-Snapshot wrapper class.
-
-
-Both Journal and Snapshot checks the existence of new data fields first and switches the behaviour in order
-to make the change backwards compatible.
+Please make sure to depend on all Akka artifacts (those with the artifact name begining with
+`akka-*`) are depended on in the same version - as mixing versions is *not* legal. For example, if
+you depend on Akka Persistence in `2.5.3`, make sure that Akka Streams and Actors are also depended
+on in the same version. Please always use the latest patch version available (!).
 
 Credits
 -------
@@ -252,6 +218,10 @@ Credits
 - Initial development was done by [Scott Clasen](https://github.com/sclasen/akka-persistence-dynamodb).
 - Update to Akka 2.4 and further development up to version 1.0 was kindly sponsored by [Zynga Inc.](https://www.zynga.com/).
 - The snapshot store and readjournal were contributed by [Joost de Vries](https://github.com/joost-de-vries)
+- [Corey O'Connor](https://dogheadbone.com/)
+- Ryan Means
+- Jean-Luc Deprez
+- Michal Janousek
 
 Support
 -------
diff --git a/RELEASING.md b/RELEASING.md
index b6fe03a..3413833 100644
--- a/RELEASING.md
+++ b/RELEASING.md
@@ -1,7 +1,7 @@
 How to release
 --------------
 
-- create an annotated tag for the next version. EG: `git tag -a -m 'release v1.2.0-RC2' v1.2.0-RC2`
+- create an annotated tag for the next version. EG: `git tag -a -m 'release v1.3.1' v1.3.1`
 - push tags and commits to akka remote master
 - If the workspace is not clean or HEAD != the tag then published version will be a snapshot. To use
   exactly the tagged version the workspace must be clean and there are no additional commits beyond
diff --git a/src/main/resources/reference.conf b/src/main/resources/reference.conf
index e5b59a3..5d4213c 100644
--- a/src/main/resources/reference.conf
+++ b/src/main/resources/reference.conf
@@ -16,33 +16,33 @@ dynamodb-journal {
 
   # The FQCN for the journal plugin implementation - DO NOT CHANGE
   class = "akka.persistence.dynamodb.journal.DynamoDBJournal"
-  
+
   # The service endpoint to connect to for the DynamoDB instance that
   # shall be used. Please refer to the AWS documentation for details.
   endpoint = ""
-  
+
   # The dispatcher that executes the replay logic for this plugin
   # instance - should not normally need to be changed.
   replay-dispatcher = "akka.persistence.dispatchers.default-replay-dispatcher"
-  
+
   # The dispatcher that executes the future combinators needed for
   # transforming the AmazonDynamoDBAsyncClient results (i.e.
   # handling the back-off etc.)
   client-dispatcher = "dynamodb-journal.dispatcher"
-  
+
   # The dispatcher that executes the write logic for this plugin
   # instance - should not normally need to be changed.
   plugin-dispatcher = "dynamodb-journal.dispatcher"
-  
+
   # The name of the DynamoDB table to be used for this plugin instance
   journal-table = "akka-persistence"
-  
+
   # The logical journal name, used in the partition keys.
   journal-name = "journal"
-  
+
   # The number of shards to distribute the sequence number items over.
   sequence-shards = 10
-  
+
   # The AWS key ID to use for connecting to the specified endpoint.
   # Will only be used if aws-secret-access-key is also set.
   #
@@ -50,7 +50,7 @@ dynamodb-journal {
   # empty in order to use the default credentials provider chain, see
   # http://docs.aws.amazon.com/AWSSdkDocsJava/latest/DeveloperGuide/credentials.html#using-the-default-credential-provider-chain
   aws-access-key-id = ""
-  
+
   # The AWS secret to use in conjuction with the AWS key ID.
   # Will only be used if aws-access-key-id is also set.
   #
@@ -58,27 +58,27 @@ dynamodb-journal {
   # empty in order to use the default credentials provider chain, see
   # http://docs.aws.amazon.com/AWSSdkDocsJava/latest/DeveloperGuide/credentials.html#using-the-default-credential-provider-chain
   aws-secret-access-key = ""
-  
+
   # number of concurrently running replay prefetch operations for a
   # single PersistentActor; this prefetch means that during a replay
   # more events might be retrieved than specified with the `max`
   # parameter, with corresponding usage DynamoDB read units
   replay-parallelism = 10
-  
+
   # If this is set to `on` then every DynamoDB request will be logged
   # at DEBUG level. Caution: this will generate A LOT of output.
   tracing = off
-  
+
   # Set to `on` to log the detected configuration at INFO level at plugin startup.
   log-config = off
-  
+
   # AWS API limits - DO NOT CHANGE UNLESS YOU KNOW WHAT YOU ARE DOING
   aws-api-limits {
     max-batch-get = 100
     max-batch-write = 25
     max-item-size = 400000
   }
-  
+
   # AWS client configuration settings, see
   # http://docs.aws.amazon.com/AWSJavaSDK/latest/javadoc/?com/amazonaws/ClientConfiguration.html
   #
@@ -111,7 +111,7 @@ dynamodb-journal {
     use-tcp-keepalive = default            # boolean
     user-agent = default                   # string
   }
-  
+
   dispatcher {
     type = Dispatcher
     executor = "fork-join-executor"
@@ -136,7 +136,7 @@ dynamodb-journal {
     # This is a performance/consistency tradeoff to be made. It should not be required for newly
     # created event sources that have the root cause fix, hence it is off by default.
     # NOTE: With current implementation of the high mark being written after the events,
-    # there is a slim chance that a valid event source is written, but a network error occurs 
+    # there is a slim chance that a valid event source is written, but a network error occurs
     # before the high mark is written. In this case the write would be reported as failed to the
     # writing party. Whether you want to "keep the event source" is up for discussion. But this fix
     # would also recover from that situation.
@@ -195,7 +195,7 @@ dynamodb-snapshot-store {
 dynamodb-read-journal = ${dynamodb-journal}
 dynamodb-read-journal {
 
-  class = "akka.persistence.dynamodb.query.DynamodbReadJournalProvider"
+  class = "akka.persistence.dynamodb.query.DynamoDBReadJournalProvider"
 
   # The name of the Global Secondary Index that is used to query currentPersistenceIds
   # see CreatePersistenceIdsIndex.createPersistenceIdsIndexRequest
diff --git a/src/main/scala/akka/persistence/dynamodb/query/DynamoDBReadJournalConfig.scala b/src/main/scala/akka/persistence/dynamodb/query/DynamoDBReadJournalConfig.scala
index e116680..caedb19 100644
--- a/src/main/scala/akka/persistence/dynamodb/query/DynamoDBReadJournalConfig.scala
+++ b/src/main/scala/akka/persistence/dynamodb/query/DynamoDBReadJournalConfig.scala
@@ -1,6 +1,6 @@
 package akka.persistence.dynamodb.query
 import akka.actor.ActorSystem
-import akka.persistence.dynamodb.query.scaladsl.DynamodbReadJournal
+import akka.persistence.dynamodb.query.scaladsl.DynamoDBReadJournal
 import akka.persistence.dynamodb.{ ClientConfig, DynamoDBClientConfig, DynamoDBConfig }
 import com.typesafe.config.Config
 
@@ -31,5 +31,5 @@ class DynamoDBReadJournalConfig(c: Config) extends DynamoDBConfig {
 }
 object DynamoDBReadJournalConfig {
   def apply()(implicit actorSystem: ActorSystem) =
-    new DynamoDBReadJournalConfig(actorSystem.settings.config.getConfig(DynamodbReadJournal.Identifier))
+    new DynamoDBReadJournalConfig(actorSystem.settings.config.getConfig(DynamoDBReadJournal.Identifier))
 }
diff --git a/src/main/scala/akka/persistence/dynamodb/query/DynamodbReadJournalProvider.scala b/src/main/scala/akka/persistence/dynamodb/query/DynamoDBReadJournalProvider.scala
similarity index 73%
rename from src/main/scala/akka/persistence/dynamodb/query/DynamodbReadJournalProvider.scala
rename to src/main/scala/akka/persistence/dynamodb/query/DynamoDBReadJournalProvider.scala
index f378f86..95097b4 100644
--- a/src/main/scala/akka/persistence/dynamodb/query/DynamodbReadJournalProvider.scala
+++ b/src/main/scala/akka/persistence/dynamodb/query/DynamoDBReadJournalProvider.scala
@@ -1,19 +1,19 @@
 package akka.persistence.dynamodb.query
 
 import akka.actor.ExtendedActorSystem
-import akka.persistence.dynamodb.query.javadsl.{ DynamodbReadJournal => JavaDynamodbReadJournal }
-import akka.persistence.dynamodb.query.scaladsl.internal.{ DynamodbReadJournal => ScalaDynamodbReadJournal }
+import akka.persistence.dynamodb.query.javadsl.{ DynamoDBReadJournal => JavaDynamoDBReadJournal }
+import akka.persistence.dynamodb.query.scaladsl.internal.{ DynamoDBReadJournal => ScalaDynamoDBReadJournal }
 import akka.persistence.query.ReadJournalProvider
 import akka.persistence.query.javadsl.{ ReadJournal => JavaReadJournal }
 import akka.persistence.query.scaladsl.{ ReadJournal => ScalaReadJournal }
 import com.typesafe.config.Config
 
-class DynamodbReadJournalProvider(system: ExtendedActorSystem, config: Config, configPath: String)
+class DynamoDBReadJournalProvider(system: ExtendedActorSystem, config: Config, configPath: String)
     extends ReadJournalProvider {
-  private lazy val _scalaReadJournal                   = new ScalaDynamodbReadJournal(config, configPath)(system)
+  private lazy val _scalaReadJournal                   = new ScalaDynamoDBReadJournal(config, configPath)(system)
   override def scaladslReadJournal(): ScalaReadJournal = _scalaReadJournal
 
-  private lazy val _javadslReadJournal               = new JavaDynamodbReadJournal(_scalaReadJournal)
+  private lazy val _javadslReadJournal               = new JavaDynamoDBReadJournal(_scalaReadJournal)
   override def javadslReadJournal(): JavaReadJournal = _javadslReadJournal
 }
 
diff --git a/src/main/scala/akka/persistence/dynamodb/query/javadsl/DynamodbReadJournal.scala b/src/main/scala/akka/persistence/dynamodb/query/javadsl/DynamoDBReadJournal.scala
similarity index 88%
rename from src/main/scala/akka/persistence/dynamodb/query/javadsl/DynamodbReadJournal.scala
rename to src/main/scala/akka/persistence/dynamodb/query/javadsl/DynamoDBReadJournal.scala
index 89ea19c..21014f4 100644
--- a/src/main/scala/akka/persistence/dynamodb/query/javadsl/DynamodbReadJournal.scala
+++ b/src/main/scala/akka/persistence/dynamodb/query/javadsl/DynamoDBReadJournal.scala
@@ -6,10 +6,10 @@ import akka.stream.javadsl.Source
 import akka.persistence.dynamodb.query.scaladsl
 import akka.persistence.query.javadsl.{ CurrentEventsByPersistenceIdQuery, CurrentPersistenceIdsQuery }
 
-object DynamodbReadJournal {
+object DynamoDBReadJournal {
 
   /**
-   * The default identifier for [[DynamodbReadJournal]] to be used with
+   * The default identifier for [[DynamoDBReadJournal]] to be used with
    * `akka.persistence.query.PersistenceQuery#readJournalFor`.
    *
    * The value is `"dynamodb-read-journal"` and corresponds
@@ -23,17 +23,17 @@ object DynamodbReadJournal {
  *
  * It is retrieved with:
  * {{{
- * DynamodbReadJournal queries =
- *   PersistenceQuery.get(system).getReadJournalFor(DynamodbReadJournal.class, DynamodbReadJournal.Identifier());
+ * DynamoDBReadJournal queries =
+ *   PersistenceQuery.get(system).getReadJournalFor(DynamoDBReadJournal.class, DynamoDBReadJournal.Identifier());
  * }}}
  *
- * Corresponding Scala API is in [[DynamodbReadJournal]].
+ * Corresponding Scala API is in [[DynamoDBReadJournal]].
  *
  * Configuration settings can be defined in the configuration section with the
  * absolute path corresponding to the identifier, which is `"dynamodb-read-journal"`
- * for the default [[DynamodbReadJournal#Identifier]]. See `reference.conf`.
+ * for the default [[DynamoDBReadJournal#Identifier]]. See `reference.conf`.
  */
-class DynamodbReadJournal(scaladslReadJournal: scaladsl.DynamodbReadJournal)
+class DynamoDBReadJournal(scaladslReadJournal: scaladsl.DynamoDBReadJournal)
     extends akka.persistence.query.javadsl.ReadJournal
     //    with akka.persistence.query.javadsl.EventsByTagQuery
     with CurrentEventsByPersistenceIdQuery
diff --git a/src/main/scala/akka/persistence/dynamodb/query/scaladsl/DynamodbCurrentEventsByPersistenceIdQuery.scala b/src/main/scala/akka/persistence/dynamodb/query/scaladsl/DynamoDBCurrentEventsByPersistenceIdQuery.scala
similarity index 93%
rename from src/main/scala/akka/persistence/dynamodb/query/scaladsl/DynamodbCurrentEventsByPersistenceIdQuery.scala
rename to src/main/scala/akka/persistence/dynamodb/query/scaladsl/DynamoDBCurrentEventsByPersistenceIdQuery.scala
index 0e064a7..356aac5 100644
--- a/src/main/scala/akka/persistence/dynamodb/query/scaladsl/DynamodbCurrentEventsByPersistenceIdQuery.scala
+++ b/src/main/scala/akka/persistence/dynamodb/query/scaladsl/DynamoDBCurrentEventsByPersistenceIdQuery.scala
@@ -5,7 +5,7 @@ import akka.persistence.query.EventEnvelope
 import akka.persistence.query.scaladsl.CurrentEventsByPersistenceIdQuery
 import akka.stream.scaladsl.Source
 
-trait DynamodbCurrentEventsByPersistenceIdQuery extends CurrentEventsByPersistenceIdQuery {
+trait DynamoDBCurrentEventsByPersistenceIdQuery extends CurrentEventsByPersistenceIdQuery {
 
   /**
    * Same type of query as [[akka.persistence.query.scaladsl.EventsByPersistenceIdQuery.eventsByPersistenceId]]
diff --git a/src/main/scala/akka/persistence/dynamodb/query/scaladsl/DynamodbCurrentPersistenceIdsQuery.scala b/src/main/scala/akka/persistence/dynamodb/query/scaladsl/DynamoDBCurrentPersistenceIdsQuery.scala
similarity index 93%
rename from src/main/scala/akka/persistence/dynamodb/query/scaladsl/DynamodbCurrentPersistenceIdsQuery.scala
rename to src/main/scala/akka/persistence/dynamodb/query/scaladsl/DynamoDBCurrentPersistenceIdsQuery.scala
index b1e482c..a8cfa8c 100644
--- a/src/main/scala/akka/persistence/dynamodb/query/scaladsl/DynamodbCurrentPersistenceIdsQuery.scala
+++ b/src/main/scala/akka/persistence/dynamodb/query/scaladsl/DynamoDBCurrentPersistenceIdsQuery.scala
@@ -10,7 +10,7 @@ import com.amazonaws.services.dynamodbv2.model._
 
 import scala.concurrent.Future
 
-trait DynamodbCurrentPersistenceIdsQuery extends CurrentPersistenceIdsQuery {
+trait DynamoDBCurrentPersistenceIdsQuery extends CurrentPersistenceIdsQuery {
 
   /**
    * Same type of query as [[akka.persistence.query.scaladsl.PersistenceIdsQuery.persistenceIds()]] but the stream
@@ -47,7 +47,7 @@ trait CreatePersistenceIdsIndex {
   self: ReadJournalSettingsProvider with DynamoProvider =>
 
   /**
-   * Update the journal table to add the Global Secondary Index 'persistence-ids-idx' that's required by [[DynamodbCurrentPersistenceIdsQuery.currentPersistenceIdsByPageQuery]]
+   * Update the journal table to add the Global Secondary Index 'persistence-ids-idx' that's required by [[DynamoDBCurrentPersistenceIdsQuery.currentPersistenceIdsByPageQuery]]
    * @param alphabetically sort persistence ids
    */
   def createPersistenceIdsIndex(alphabetically: Boolean = false): Future[UpdateTableResult] =
@@ -60,7 +60,7 @@ trait CreatePersistenceIdsIndex {
 
 object CreatePersistenceIdsIndex {
 
-  /** required by [[DynamodbCurrentPersistenceIdsQuery.currentPersistenceIdsByPageQuery]] */
+  /** required by [[DynamoDBCurrentPersistenceIdsQuery.currentPersistenceIdsByPageQuery]] */
   def createPersistenceIdsIndexRequest(
       indexName: String,
       tableName: String,
@@ -82,7 +82,7 @@ object CreatePersistenceIdsIndex {
       .withAttributeDefinitions(new AttributeDefinition().withAttributeName("num").withAttributeType("N"))
   }
 
-  /** required by [[DynamodbCurrentPersistenceIdsQuery.currentPersistenceIdsAlphabeticallyByPageQuery]] */
+  /** required by [[DynamoDBCurrentPersistenceIdsQuery.currentPersistenceIdsAlphabeticallyByPageQuery]] */
   def createPersistenceIdsAlphabeticallyIndexRequest(indexName: String, tableName: String): UpdateTableRequest =
     createPersistenceIdsIndexRequest(indexName = indexName, tableName = tableName, alphabetically = true)
 }
diff --git a/src/main/scala/akka/persistence/dynamodb/query/scaladsl/DynamodbReadJournal.scala b/src/main/scala/akka/persistence/dynamodb/query/scaladsl/DynamoDBReadJournal.scala
similarity index 61%
rename from src/main/scala/akka/persistence/dynamodb/query/scaladsl/DynamodbReadJournal.scala
rename to src/main/scala/akka/persistence/dynamodb/query/scaladsl/DynamoDBReadJournal.scala
index 2e39465..77cfa66 100644
--- a/src/main/scala/akka/persistence/dynamodb/query/scaladsl/DynamodbReadJournal.scala
+++ b/src/main/scala/akka/persistence/dynamodb/query/scaladsl/DynamoDBReadJournal.scala
@@ -1,27 +1,27 @@
 package akka.persistence.dynamodb.query.scaladsl
 
 /**
- * Scala API `akka.persistence.query.scaladsl.ReadJournal` implementation for Dynamodb.
+ * Scala API `akka.persistence.query.scaladsl.ReadJournal` implementation for DynamoDB.
  *
  * It is retrieved with:
  * {{{
- * val queries = PersistenceQuery(system).readJournalFor[DynamodbReadJournal](DynamodbReadJournal.Identifier)
+ * val queries = PersistenceQuery(system).readJournalFor[DynamoDBReadJournal](DynamoDBReadJournal.Identifier)
  * }}}
  *
- * Corresponding Java API is in [[akka.persistence.dynamodb.query.javadsl.DynamodbReadJournal]].
+ * Corresponding Java API is in [[akka.persistence.dynamodb.query.javadsl.DynamoDBReadJournal]].
  *
  * Configuration settings can be defined in the configuration section with the
  * absolute path corresponding to the identifier, which is `"dynamodb-read-journal"`
- * for the default [[DynamodbReadJournal#Identifier]]. See `reference.conf`.
+ * for the default [[DynamoDBReadJournal#Identifier]]. See `reference.conf`.
  */
-trait DynamodbReadJournal extends DynamodbCurrentEventsByPersistenceIdQuery with DynamodbCurrentPersistenceIdsQuery {
+trait DynamoDBReadJournal extends DynamoDBCurrentEventsByPersistenceIdQuery with DynamoDBCurrentPersistenceIdsQuery {
   def close(): Unit
 }
 
-object DynamodbReadJournal {
+object DynamoDBReadJournal {
 
   /**
-   * The default identifier for [[DynamodbReadJournal]] to be used with
+   * The default identifier for [[DynamoDBReadJournal]] to be used with
    * `akka.persistence.query.PersistenceQuery#readJournalFor`.
    *
    * The value is `"dynamodb-read-journal"` and corresponds
diff --git a/src/main/scala/akka/persistence/dynamodb/query/scaladsl/internal/DynamodbCurrentEventsByPersistenceIdQuery.scala b/src/main/scala/akka/persistence/dynamodb/query/scaladsl/internal/DynamoDBCurrentEventsByPersistenceIdQuery.scala
similarity index 88%
rename from src/main/scala/akka/persistence/dynamodb/query/scaladsl/internal/DynamodbCurrentEventsByPersistenceIdQuery.scala
rename to src/main/scala/akka/persistence/dynamodb/query/scaladsl/internal/DynamoDBCurrentEventsByPersistenceIdQuery.scala
index e48c359..e556f3e 100644
--- a/src/main/scala/akka/persistence/dynamodb/query/scaladsl/internal/DynamodbCurrentEventsByPersistenceIdQuery.scala
+++ b/src/main/scala/akka/persistence/dynamodb/query/scaladsl/internal/DynamoDBCurrentEventsByPersistenceIdQuery.scala
@@ -4,16 +4,16 @@ import akka.NotUsed
 import akka.persistence.PersistentRepr
 import akka.persistence.dynamodb.journal._
 import akka.persistence.dynamodb.query.ReadJournalSettingsProvider
-import akka.persistence.dynamodb.query.scaladsl.internal.DynamodbCurrentEventsByPersistenceIdQuery.RichPersistenceRepr
+import akka.persistence.dynamodb.query.scaladsl.internal.DynamoDBCurrentEventsByPersistenceIdQuery.RichPersistenceRepr
 import akka.persistence.dynamodb.query.scaladsl.{
-  DynamodbCurrentEventsByPersistenceIdQuery => PublicDynamodbCurrentEventsByPersistenceIdQuery
+  DynamoDBCurrentEventsByPersistenceIdQuery => PublicDynamoDBCurrentEventsByPersistenceIdQuery
 }
 import akka.persistence.dynamodb.{ ActorSystemProvider, DynamoProvider, LoggingProvider, MaterializerProvider }
 import akka.persistence.query.{ EventEnvelope, Sequence }
 import akka.stream.scaladsl.Source
 
-trait DynamodbCurrentEventsByPersistenceIdQuery
-    extends PublicDynamodbCurrentEventsByPersistenceIdQuery
+trait DynamoDBCurrentEventsByPersistenceIdQuery
+    extends PublicDynamoDBCurrentEventsByPersistenceIdQuery
     with DynamoDBRecovery {
   self: ReadJournalSettingsProvider
     with DynamoProvider
@@ -57,7 +57,7 @@ trait DynamodbCurrentEventsByPersistenceIdQuery
   }
 }
 
-object DynamodbCurrentEventsByPersistenceIdQuery {
+object DynamoDBCurrentEventsByPersistenceIdQuery {
   implicit class RichPersistenceRepr(val persistenceRepr: PersistentRepr) extends AnyVal {
     def toEventEnvelope =
       new EventEnvelope(
diff --git a/src/main/scala/akka/persistence/dynamodb/query/scaladsl/internal/DynamodbCurrentPersistenceIdsQuery.scala b/src/main/scala/akka/persistence/dynamodb/query/scaladsl/internal/DynamoDBCurrentPersistenceIdsQuery.scala
similarity index 97%
rename from src/main/scala/akka/persistence/dynamodb/query/scaladsl/internal/DynamodbCurrentPersistenceIdsQuery.scala
rename to src/main/scala/akka/persistence/dynamodb/query/scaladsl/internal/DynamoDBCurrentPersistenceIdsQuery.scala
index b647fc1..66ed86a 100644
--- a/src/main/scala/akka/persistence/dynamodb/query/scaladsl/internal/DynamodbCurrentPersistenceIdsQuery.scala
+++ b/src/main/scala/akka/persistence/dynamodb/query/scaladsl/internal/DynamoDBCurrentPersistenceIdsQuery.scala
@@ -2,7 +2,7 @@ package akka.persistence.dynamodb.query.scaladsl.internal
 
 import akka.NotUsed
 import akka.persistence.dynamodb.journal.JournalKeys
-import akka.persistence.dynamodb.query.scaladsl.internal.DynamodbCurrentPersistenceIdsQuery.{
+import akka.persistence.dynamodb.query.scaladsl.internal.DynamoDBCurrentPersistenceIdsQuery.{
   RichNumber,
   RichString,
   SourceLazyOps
@@ -10,7 +10,7 @@ import akka.persistence.dynamodb.query.scaladsl.internal.DynamodbCurrentPersiste
 import akka.persistence.dynamodb.query.scaladsl.internal.PersistenceIdsResult.RichPersistenceIdsResult
 import akka.persistence.dynamodb.query.scaladsl.{
   CreatePersistenceIdsIndex,
-  DynamodbCurrentPersistenceIdsQuery => PublicDynamodbCurrentPersistenceIdsQuery
+  DynamoDBCurrentPersistenceIdsQuery => PublicDynamoDBCurrentPersistenceIdsQuery
 }
 import akka.persistence.dynamodb.query.{ ReadJournalSettingsProvider, RichOption }
 import akka.persistence.dynamodb.{ ActorSystemProvider, DynamoProvider, LoggingProvider }
@@ -22,7 +22,7 @@ import java.util
 import scala.concurrent.Future
 import scala.util.control.NonFatal
 
-trait DynamodbCurrentPersistenceIdsQuery extends PublicDynamodbCurrentPersistenceIdsQuery {
+trait DynamoDBCurrentPersistenceIdsQuery extends PublicDynamoDBCurrentPersistenceIdsQuery {
   self: ReadJournalSettingsProvider
     with DynamoProvider
     with ActorSystemProvider
@@ -175,7 +175,7 @@ trait DynamodbCurrentPersistenceIdsQuery extends PublicDynamodbCurrentPersistenc
     }
 }
 
-object DynamodbCurrentPersistenceIdsQuery {
+object DynamoDBCurrentPersistenceIdsQuery {
   implicit class RichString(val s: String) extends AnyVal {
     def toAttribute: AttributeValue = new AttributeValue().withS(s)
   }
diff --git a/src/main/scala/akka/persistence/dynamodb/query/scaladsl/internal/DynamodbReadJournal.scala b/src/main/scala/akka/persistence/dynamodb/query/scaladsl/internal/DynamoDBReadJournal.scala
similarity index 75%
rename from src/main/scala/akka/persistence/dynamodb/query/scaladsl/internal/DynamodbReadJournal.scala
rename to src/main/scala/akka/persistence/dynamodb/query/scaladsl/internal/DynamoDBReadJournal.scala
index e18d78b..f6de391 100644
--- a/src/main/scala/akka/persistence/dynamodb/query/scaladsl/internal/DynamodbReadJournal.scala
+++ b/src/main/scala/akka/persistence/dynamodb/query/scaladsl/internal/DynamoDBReadJournal.scala
@@ -4,21 +4,21 @@ import akka.actor.ExtendedActorSystem
 import akka.persistence.dynamodb._
 import akka.persistence.dynamodb.journal._
 import akka.persistence.dynamodb.query.scaladsl.internal.{
-  DynamodbCurrentEventsByPersistenceIdQuery => InternalDynamodbCurrentEventsByPersistenceIdQuery,
-  DynamodbCurrentPersistenceIdsQuery => InternalDynamodbCurrentPersistenceIdsQuery
+  DynamoDBCurrentEventsByPersistenceIdQuery => InternalDynamoDBCurrentEventsByPersistenceIdQuery,
+  DynamoDBCurrentPersistenceIdsQuery => InternalDynamoDBCurrentPersistenceIdsQuery
 }
-import akka.persistence.dynamodb.query.scaladsl.{ DynamodbReadJournal => PublicDynamodbReadJournal }
+import akka.persistence.dynamodb.query.scaladsl.{ DynamoDBReadJournal => PublicDynamoDBReadJournal }
 import akka.persistence.dynamodb.query.{ DynamoDBReadJournalConfig, ReadJournalSettingsProvider }
 import akka.persistence.query.scaladsl.ReadJournal
 import akka.serialization.{ Serialization, SerializationExtension }
 import akka.stream.{ Materializer, SystemMaterializer }
 import com.typesafe.config.Config
 
-class DynamodbReadJournal(config: Config, configPath: String)(implicit val system: ExtendedActorSystem)
+class DynamoDBReadJournal(config: Config, configPath: String)(implicit val system: ExtendedActorSystem)
     extends ReadJournal
-    with PublicDynamodbReadJournal
-    with InternalDynamodbCurrentEventsByPersistenceIdQuery
-    with InternalDynamodbCurrentPersistenceIdsQuery
+    with PublicDynamoDBReadJournal
+    with InternalDynamoDBCurrentEventsByPersistenceIdQuery
+    with InternalDynamoDBCurrentPersistenceIdsQuery
     with ReadJournalSettingsProvider
     with JournalSettingsProvider
     with DynamoProvider
diff --git a/src/test/scala/akka/persistence/dynamodb/journal/DeletionSpec.scala b/src/test/scala/akka/persistence/dynamodb/journal/DeletionSpec.scala
index 1981778..b3f38b8 100644
--- a/src/test/scala/akka/persistence/dynamodb/journal/DeletionSpec.scala
+++ b/src/test/scala/akka/persistence/dynamodb/journal/DeletionSpec.scala
@@ -7,7 +7,7 @@ import akka.actor.ActorSystem
 import akka.persistence.JournalProtocol._
 import akka.persistence._
 import akka.persistence.dynamodb.IntegSpec
-import akka.persistence.dynamodb.query.scaladsl.DynamodbReadJournal
+import akka.persistence.dynamodb.query.scaladsl.DynamoDBReadJournal
 import akka.persistence.query.PersistenceQuery
 import akka.stream.scaladsl.Sink
 import akka.stream.{ Materializer, SystemMaterializer }
@@ -48,7 +48,7 @@ class DeletionSpec
   override val persistenceId              = "DeletionSpec"
   implicit val materializer: Materializer = SystemMaterializer(system).materializer
   lazy val journal                        = Persistence(system).journalFor("")
-  lazy val queries                        = PersistenceQuery(system).readJournalFor[DynamodbReadJournal](DynamodbReadJournal.Identifier)
+  lazy val queries                        = PersistenceQuery(system).readJournalFor[DynamoDBReadJournal](DynamoDBReadJournal.Identifier)
   val msgs                                = (1 to 149).map(i => s"a-$i")
   val more                                = (150 to 200).map(i => s"b-$i")
 
diff --git a/src/test/scala/akka/persistence/dynamodb/journal/RecoveryConsistencySpec.scala b/src/test/scala/akka/persistence/dynamodb/journal/RecoveryConsistencySpec.scala
index 7d27605..5b8ef00 100644
--- a/src/test/scala/akka/persistence/dynamodb/journal/RecoveryConsistencySpec.scala
+++ b/src/test/scala/akka/persistence/dynamodb/journal/RecoveryConsistencySpec.scala
@@ -7,7 +7,7 @@ import akka.actor.ActorSystem
 import akka.persistence.JournalProtocol._
 import akka.persistence._
 import akka.persistence.dynamodb._
-import akka.persistence.dynamodb.query.scaladsl.DynamodbReadJournal
+import akka.persistence.dynamodb.query.scaladsl.DynamoDBReadJournal
 import akka.persistence.query.PersistenceQuery
 import akka.stream.scaladsl.Sink
 import akka.stream.{ Materializer, SystemMaterializer }
@@ -49,7 +49,7 @@ class RecoveryConsistencySpec
 
   private lazy val journal = Persistence(system).journalFor("")
   private lazy val queries =
-    PersistenceQuery(system).readJournalFor[DynamodbReadJournal](DynamodbReadJournal.Identifier)
+    PersistenceQuery(system).readJournalFor[DynamoDBReadJournal](DynamoDBReadJournal.Identifier)
   import journalSettings._
 
   "DynamoDB Journal (Recovery)" must {
diff --git a/src/test/scala/akka/persistence/dynamodb/query/CurrentPersistenceIdsSpec.scala b/src/test/scala/akka/persistence/dynamodb/query/CurrentPersistenceIdsSpec.scala
index 3aa79cd..ace01e1 100644
--- a/src/test/scala/akka/persistence/dynamodb/query/CurrentPersistenceIdsSpec.scala
+++ b/src/test/scala/akka/persistence/dynamodb/query/CurrentPersistenceIdsSpec.scala
@@ -4,7 +4,7 @@ import akka.actor.ActorSystem
 import akka.persistence.JournalProtocol._
 import akka.persistence._
 import akka.persistence.dynamodb.journal.DynamoDBUtils
-import akka.persistence.dynamodb.query.scaladsl.{ CreatePersistenceIdsIndex, DynamodbReadJournal }
+import akka.persistence.dynamodb.query.scaladsl.{ CreatePersistenceIdsIndex, DynamoDBReadJournal }
 import akka.persistence.dynamodb.{ DynamoProvider, IntegSpec }
 import akka.persistence.query.PersistenceQuery
 import akka.stream.scaladsl.Sink
@@ -38,7 +38,7 @@ class CurrentPersistenceIdsSpec
   private implicit val materializer: Materializer = SystemMaterializer(system).materializer
   private lazy val journal                        = Persistence(system).journalFor("")
   private lazy val queries =
-    PersistenceQuery(system).readJournalFor[DynamodbReadJournal](DynamodbReadJournal.Identifier)
+    PersistenceQuery(system).readJournalFor[DynamoDBReadJournal](DynamoDBReadJournal.Identifier)
 
   "DynamoDB ReadJournal" must {
     val persistenceIds = (0 to 100).map(toPersistenceId)


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@pekko.apache.org
For additional commands, e-mail: commits-help@pekko.apache.org