Skip to content

Commit

Permalink
docs: link fixes
Browse files Browse the repository at this point in the history
  • Loading branch information
ennru committed Nov 22, 2024
1 parent 786d43a commit dcbde6c
Show file tree
Hide file tree
Showing 6 changed files with 18 additions and 18 deletions.
6 changes: 3 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# Akka Projections

The Akka family of projects is managed by teams at [Lightbend](https://lightbend.com/) with help from the community.
The Akka family of projects is managed by teams at [Akka](https://akka.io/) with help from the community.

Akka Projections provides an abstraction for consuming a stream of `Envelope` (where `Envelope` contains a payload and a trackable offset). This streams can originate from persisted events, Kafka topics, or other Alpakka connectors.

Expand All @@ -9,6 +9,6 @@ Akka Projections also provides tools to track, restart and distribute these proj
License
-------

Akka is licensed under the Business Source License 1.1, please see the [Akka License FAQ](https://www.lightbend.com/akka/license-faq).
Akka is licensed under the Business Source License 1.1, please see the [Akka License FAQ](https://akka.io/bsl-license-faq).

Tests and documentation are under a separate license, see the LICENSE file in each documentation and test root directory for details.
Tests and documentation are under a separate license, see the LICENSE file in each documentation and test root directory for details.
12 changes: 6 additions & 6 deletions build.sbt
Original file line number Diff line number Diff line change
Expand Up @@ -211,15 +211,15 @@ lazy val commonParadoxProperties = Def.settings(
Compile / paradoxProperties ++= Map(
// Akka
"extref.akka.base_url" -> s"https://doc.akka.io/libraries/akka-core/${Dependencies.Versions.AkkaVersionInDocs}/%s",
"scaladoc.akka.base_url" -> s"https://doc.akka.io/api/akka/${Dependencies.Versions.AkkaVersionInDocs}/",
"javadoc.akka.base_url" -> s"https://doc.akka.io/japi/akka/${Dependencies.Versions.AkkaVersionInDocs}/",
"scaladoc.akka.base_url" -> s"https://doc.akka.io/api/akka-core/${Dependencies.Versions.AkkaVersionInDocs}/",
"javadoc.akka.base_url" -> s"https://doc.akka.io/japi/akka-core/${Dependencies.Versions.AkkaVersionInDocs}/",
"javadoc.akka.link_style" -> "direct",
// Alpakka
"extref.alpakka.base_url" -> s"https://doc.akka.io/docs/alpakka/${Dependencies.Versions.AlpakkaVersionInDocs}/%s",
"extref.alpakka.base_url" -> s"https://doc.akka.io/libraries/alpakka/${Dependencies.Versions.AlpakkaVersionInDocs}/%s",
"scaladoc.akka.stream.alpakka.base_url" -> s"https://doc.akka.io/api/alpakka/${Dependencies.Versions.AlpakkaVersionInDocs}/",
"javadoc.akka.stream.alpakka.base_url" -> "",
// Alpakka Kafka
"extref.alpakka-kafka.base_url" -> s"https://doc.akka.io/docs/alpakka-kafka/${Dependencies.Versions.AlpakkaKafkaVersionInDocs}/%s",
"extref.alpakka-kafka.base_url" -> s"https://doc.akka.io/libraries/alpakka-kafka/${Dependencies.Versions.AlpakkaKafkaVersionInDocs}/%s",
"scaladoc.akka.kafka.base_url" -> s"https://doc.akka.io/api/alpakka-kafka/${Dependencies.Versions.AlpakkaKafkaVersionInDocs}/",
"javadoc.akka.kafka.base_url" -> "",
// Akka gRPC
Expand All @@ -231,15 +231,15 @@ lazy val commonParadoxProperties = Def.settings(
// Akka Persistence DynamoDB plugin
"extref.akka-persistence-dynamodb.base_url" -> s"https://doc.akka.io/libraries/akka-persistence-dynamodb/${Dependencies.Versions.AkkaPersistenceDynamodbVersionInDocs}/%s",
// Akka Guide
"extref.akka-guide.base_url" -> "https://doc.akka.io/guide/microservices-tutorial/",
"extref.akka-guide.base_url" -> "https://doc.akka.io/libraries/guide/microservices-tutorial/",
// Java
"javadoc.base_url" -> "https://docs.oracle.com/javase/8/docs/api/",
// Scala
"scaladoc.scala.base_url" -> s"https://www.scala-lang.org/api/${scalaBinaryVersion.value}.x/",
"scaladoc.akka.projection.base_url" -> s"/${(Preprocess / siteSubdirName).value}/",
"javadoc.akka.projection.base_url" -> "", // no Javadoc is published
// Misc
"extref.platform-guide.base_url" -> "https://doc.akka.io/guide/%s"))
"extref.platform-guide.base_url" -> "https://doc.akka.io/libraries/guide/%s"))

lazy val docs = project
.enablePlugins(AkkaParadoxPlugin, ParadoxSitePlugin, SitePreviewPlugin, PreprocessPlugin, PublishRsyncPlugin)
Expand Down
4 changes: 2 additions & 2 deletions docs/src/main/paradox/cassandra.md
Original file line number Diff line number Diff line change
Expand Up @@ -316,7 +316,7 @@ akka.projection.cassandra {
}
```

or share the same Cassandra session as [Alpakka Cassandra](https://doc.akka.io/docs/alpakka/2.0/cassandra.html):
or share the same Cassandra session as @extref:[Alpakka Cassandra](alpakka:cassandra.html):

```
akka.projection.cassandra {
Expand All @@ -340,6 +340,6 @@ datastax-java-driver {
```

Alternatively, Akka Discovery can be used for finding the Cassandra server contact points as described
in the [Alpakka Cassandra documentation](https://doc.akka.io/docs/alpakka/2.0/cassandra.html#using-akka-discovery).
in the @extref:[Alpakka Cassandra documentation](alpakka:cassandra.html#using-akka-discovery).

Without any configuration it will use `localhost:9042` as default.
2 changes: 1 addition & 1 deletion docs/src/main/paradox/durable-state.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# Changes from Durable State

A typical source for Projections is the change stored with @apidoc[DurableStateBehavior$] in [Akka Persistence](https://doc.akka.io/libraries/akka-core/current/typed/durable-state/persistence.html). Durable state changes can be consumed in a Projection with
A typical source for Projections is the change stored with @apidoc[DurableStateBehavior$] in @extref:[Akka Persistence](akka:typed/durable-state/persistence.html). Durable state changes can be consumed in a Projection with
`changesByTag`, `changesBySlices` or `eventsBySlices` queries.

Note that NOT all changes that occur are guaranteed to be emitted, calls to these methods only guarantee that eventually, the most recent
Expand Down
10 changes: 5 additions & 5 deletions docs/src/main/paradox/kafka.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# Messages from and to Kafka

A typical source for Projections is messages from Kafka. Akka Projections supports integration with Kafka using [Alpakka Kafka](https://doc.akka.io/docs/alpakka-kafka/current/).
A typical source for Projections is messages from Kafka. Akka Projections supports integration with Kafka using @extref:[Alpakka Kafka](alpakka-kafka:).

The @apidoc[KafkaSourceProvider$] uses consumer group assignments from Kafka and can resume from offsets stored in a database.

Expand Down Expand Up @@ -63,7 +63,7 @@ Scala
Java
: @@snip [KafkaDocExample.java](/examples/src/test/java/jdocs/kafka/KafkaDocExample.java) { #imports #sourceProvider }

Please consult the [Alpakka Kafka documentation](https://doc.akka.io/docs/alpakka-kafka/current/consumer.html) for
Please consult the @extref:[Alpakka Kafka documentation](alpakka-kafka:consumer.html) for
specifics around the `ConsumerSettings`. The `KafkaSourceProvider` is using `Consumer.plainPartitionedManualOffsetSource`.

The `Projection` can then be defined as:
Expand Down Expand Up @@ -94,13 +94,13 @@ Java

The `KafkaSourceProvider` described above stores the Kafka offsets in a database. The main advantage of storing the offsets in a database is that exactly-once processing semantics can be achieved if the target database operations of the projection can be run in the same transaction as the storage of the offset.

However, there is a caveat when chosing for `exactly-once`. When the Kafka Consumer Group rebalance occurs it's possible that some messages from a revoked partitions are still in-flight and have not yet been committed to the offset store. Projections will attempt to filter out such messages, but it's not possible to guarantee it all the time.
However, there is a caveat when choosing for `exactly-once`. When the Kafka Consumer Group rebalance occurs it's possible that some messages from a revoked partitions are still in-flight and have not yet been committed to the offset store. Projections will attempt to filter out such messages, but it's not possible to guarantee it all the time.

To mitigate that risk, you can increase the value of `akka.projection.kafka.read-offset-delay` (defaults to 500ms). This delay adds a buffer of time between when the Kafka Source Provider starts up, or when it's assigned a new partition, to retrieve the map of partitions to offsets to give any projections running in parallel a chance to drain in-flight messages.

## Committing offset in Kafka

When using the approach of committing the offsets back to Kafka the [Alpakka Kafka comittableSource](https://doc.akka.io/docs/alpakka-kafka/current/consumer.html) can be used, and Akka Projections is not needed for that usage.
When using the approach of committing the offsets back to Kafka the @extref:[Alpakka Kafka comittableSource](alpakka-kafka:consumer.html) can be used, and Akka Projections is not needed for that usage.

## Sending to Kafka

Expand All @@ -124,7 +124,7 @@ Scala
Java
: @@snip [KafkaDocExample.java](/examples/src/test/java/jdocs/kafka/KafkaDocExample.java) { #imports-producer #sendProducer }

Please consult the [Alpakka Kafka documentation](https://doc.akka.io/docs/alpakka-kafka/current/producer.html) for
Please consult the @extrefL[Alpakka Kafka documentation](alpakka-kafka:producer.html) for
specifics around the `ProducerSettings` and `SendProducer`.

The `Projection` is defined as:
Expand Down
2 changes: 1 addition & 1 deletion docs/src/main/paradox/overview.md
Original file line number Diff line number Diff line change
Expand Up @@ -90,4 +90,4 @@ Actor API.

Please feel free to contribute to Akka and Akka Projections by reporting issues you identify, or by suggesting changes to the code. Please refer to our [contributing instructions](https://github.com/akka/akka/blob/main/CONTRIBUTING.md) to learn how it can be done.

We want Akka to strive in a welcoming and open atmosphere and expect all contributors to respect our [code of conduct](https://www.lightbend.com/conduct).
We want Akka to strive in a welcoming and open atmosphere and expect all contributors to respect our [code of conduct](https://akka.io/conduct).

0 comments on commit dcbde6c

Please sign in to comment.