* Step 1: general event-publishing-to-topic feature
* Step 2: an actor subscribes to the topic and forwards events to the sharded replicas
* Another half piece of the puzzle, receive the PublishedEvent in the ESB internals
* Stash published events while replaying rather than drop
* Publish on the event stream instead of a topic
* Active active actor receiving a published event
* Some smaller changes
* Public API for published event
* Better name for the sharding component
* Naive test for the Active Active Sharding Replication
* Java API for ActiveActiveShardingReplication
* Spelling
* Use ShardingEnvelope for publishing the event across sharding
* Fast forwarding filter stage
* Move test to testkit, enable the see-event-twice test (fails)
* Use persistence testkit journal
* Various smaller review feedback things
* Trying to figure out why duplicate event write test fails
* Missing unstash after processing published event
Co-authored-by: Christopher Batey <christopher.batey@gmail.com>
* register ActorSystem reference under ActorFactoryRef interface name
* reformat code
* add OSGi headers for akka-protobuf-v3
* change private package to only include proto files
* change package name to akka.cluster.sbr
* reference.conf has same config paths
* akka.cluster.sbr.SplitBrainResolverProvider instead of com.lightbend.akka.sbr.SplitBrainResolverProvider
* dependency from akka-cluster to akka-coordination, for lease strategy
* move TestLease to akka-coordination and use that in SBR tests
* remove keep-referee strategy
* use keep-majority by default
* review and adjust reference documentation
Co-authored-by: Johan Andrén <johan@markatta.com>
Co-authored-by: Johannes Rudolph <johannes.rudolph@gmail.com>
Co-authored-by: Christopher Batey <christopher.batey@gmail.com>
Co-authored-by: Arnout Engelen <github@bzzt.net>
* using real EventSourcedBehaviorImpl
* using new inmem journal (PersistenceTestKit)
* advantages compared to a "fake" driver
* no difference in implementation details from real thing
* no limitations
* less maintance
* added internal messsages to EventSourcedBehaviorImpl to be able to grab state
and persistenceId
* GetState as InternalProtocol instead of Signal so that it is stashed
* serialization checks, using SerializationTestKit
* better testKitGuardian naming to allow multiple PersistenceTestKit
* support testing of restart
* support failure testing by using PersistenceTestKit
* update doc sample
* apidoc, reference docs, and javadsl
* Add scalafix plugin for jdk 9.
* Add command alias sortImports.
* Excludes some sources from SortImports.
* Update SortImports to 0.4.0
* Sort imports with `sortImports` command.
Different approach than in classic AtLeastOnceDelivery because I would like:
* support flow control, with a work pulling approach
* be possible to use with or without persistence (without it may loose
messages if producer node crashes)
* detect lost messages on the consumer side and let that drive resends,
instead of aggressively resending from producer side
* deliver messages in order and deduplicate resent messages
* have an efficient protocol for acknowledgments over the network (not ack each message),
but still have a simple one-by-one protocol for the end user
* support 3 use cases (building blocks)
* point-to-point
* work pulling
* sharding
* optional durable queue, with one event sourced implementation
* protobuf serialization
* ApiMayChange
* reference docs and examples
* api docs
* doc example code missing so far
* First stab at distributed pubsub for typed
* Also allow sending to a single subscriber across the topic
* Revert "Also allow sending to a single subscriber across the topic"
This reverts commit 4fd4f0b75c0dda01706dcde70645dcfa09da889b.
* Serializer and basic multi-jvm test
* docs
* Review feedback
* This reads better
* One brace too many
* sample formatting/headers/yadi
* Hide actual messages to ease bincomp evolution
* More tesssssts
* And even moar tessssssssts
* Review feedback addressed
* Same serialization as typed sharding
Mention turnaround in docs
* Unfortunately it seems the jdk9-only tests could not actually be compiled.
With these changes those can actually be compiled and ran again.
* Always link to jdk11 for java.* javadocs
* Update sbt-paradox-akka to fix linking to inner classes for javadoc
* it was intended to automatically use Slf4jLogger in akka-slf4j
when akka-actor-typed is used
* otherwise it would be confusing to have some Akka logging directly
to slf4j and some to Akka stdout logging, if akka-slf4j is not
added
* Merge benchmark projects
* Make SingleConsumerMultiProducer the default mail box for typed
* Make SingleConsumerMultiProducer the default mail box for typed
* Add default mailbox back to classic + define default mailbox for typed in reference
* Fix custom dispatcher
* attempt to fix the mysterious "Could not create directory,
file exists and is not a directory" problem in multi-node tests
* only depend on protobufV3 from akka-stream, all others dependen
on stream
* adding dependency from akka-persistence to akka-stream that is
not needed but in practise it shouldn't hurt since akka-stream
is very likely used anyway (also from persistence plugins)
Move utils to construct PersistenceId
* Move from EntityTypeKey to PersistenceId
* Thereby no persistence dependencies in sharding
* Reference documentation PersistenceId and how to use with Sharding
* Add EntityTypeKey to EntityContext to make it "complete"
* One consequence of adding EntityTypeKey to EntityContext is that
now requires additional message type parameter and then type inference
for `init` (Entity) breaks down. Solved by using two parameter lists in
Entity.apply, which is pretty nice anyway since the second parameter is
a function.
* as bonus the dependency can be removed
* Removes sections that describe language features: Futures and Duration
* Keeps section for logging and circuit breaker
* Keep logging as is for now, to be updated with the Typed SL4J logging
Creates issues for
* Documenting typed extensions https://github.com/akka/akka/issues/27448
* Future interactions in https://github.com/akka/akka/issues/27449
Refs #27223
Add redirects from removed pages to 2.5 docs
Make indexes complete and fix link
'Classic' in the title for docs for classic API's