Commit graph

154 commits

Author SHA1 Message Date
Scala Steward
37b1e6f118
Update sbt-assembly to 0.15.0 (#29301)
* Update sbt-assembly to 0.15.0
* Fix shading

Co-authored-by: Arnout Engelen <arnout@bzzt.net>
2020-07-01 11:03:28 +02:00
Johan Andrén
4811b53917
Merge pull request #29219 from akka/feature-remember-entities-rework
Rework of Remember Entities and sharding internals #27763
2020-06-17 09:07:49 +02:00
barthorre
2c4e114ecd
Protobuf v3 osgi (#29172)
* register ActorSystem reference under ActorFactoryRef interface name

* reformat code

* add OSGi headers for akka-protobuf-v3

* change private package to only include proto files
2020-06-15 13:44:11 +02:00
Enno
7e69b990b9
Docs: Discovery via DNS (#29153) 2020-06-09 17:33:52 +02:00
Ignasi Marimon-Clos
c287fff034
k8s-friendly SSLEngine provider (simplified) (#29152)
Co-authored-by: Arnout Engelen <github@bzzt.net>
Co-authored-by: James Roper <james@jazzy.id.au>
2020-06-05 17:34:44 +02:00
Christopher Batey
0d1237fd44
Latency benchmarks for rememered entities + JFR events (#29103) 2020-05-28 09:35:27 +02:00
Christopher Batey
b463a1adbd
Merge master into re feature branch (#29135)
* Merge master into feature branch

* Formatting

* Remove redundant fixme

* Remove files that snuck in

* Fix backoff supervisor test
2020-05-27 12:50:53 +01:00
Patrik Nordwall
c45e6ef39b
Add Lightbend's SBR to Akka Cluster, #29085 (#29099)
* 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>
2020-05-25 12:21:13 +02:00
Ignasi Marimon-Clos
54a9b3189a
Adds support to read PEM keys (#29039)
Co-Authored-By: James Roper <james@jazzy.id.au>
2020-05-16 18:09:24 -04:00
kerr
bada816714
=build Fix commandAlias for fixall and sortImports (#28984)
* =build Fix commandAlias for fixall and sortImports

* =build Update sortImports to 0.5.0

* Sort imports to handle `javax`.

* fx
2020-05-11 11:47:33 +02:00
Ignasi Marimon-Clos
c1fd93c504 Removes signature directive support 2020-05-06 19:47:30 +02:00
Patrik Nordwall
ef79738373
Synchronous TestKit for EventSourcedBehavior, #23712 (#28952)
* 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
2020-04-29 22:06:42 +02:00
Arnout Engelen
ad2bd70213
Use sbt-publish-rsync rather than our own (#28868) 2020-04-28 11:49:42 +02:00
Renato Cavalcanti
8e0c8d07b9
Merge pull request #28974 from akka/wip-28939-protobuf-dep-patriknw 2020-04-27 17:35:49 +02:00
kerr
0e4d41ad33
+build Add sort imports support. (#28780)
* 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.
2020-04-27 14:32:18 +02:00
Patrik Nordwall
3784d03a2a remove visible protobuf-java dependency from akka-protobuf-v3, #28939 2020-04-27 11:15:10 +02:00
Patrik Nordwall
035e4fb4a2 multi-node throughput test for reliable delivery, #28725
* same kind of reporting mechanism as the Artery MaxThroughputSpec
2020-04-08 17:13:50 +02:00
Patrik Nordwall
5ac480199a improvements of the PersistenceTestKit doc samples
* and actually run the tests
2020-04-02 16:19:52 +02:00
Arnout Engelen
1a529aa38a
Publish paradox/japi/api (snapshot) docs via sbt (#28828)
* Publish paradox/japi/api (snapshot) docs via sbt

* Removes the need for custom release commands

* Use ++= instead of :=
2020-03-30 16:48:15 +02:00
Arnout Engelen
b40873dc10
Remove last crossPaths occurrence (#28817)
We were already not using it for most of the build
2020-03-27 09:38:12 +01:00
Patrik Nordwall
b1346ad7a7
JMH bench and flight recorder for reliable delivery, #28725 (#28741)
* JMH bench for reliable delivery
* JFR flight recorder for reliable delivery
* disable hi-freq events by default
* CompileJdk9
* fix validateCompile
2020-03-24 07:59:33 +01:00
Kirill Yankov
41f20cbb81
Persistence testkit implementation #15571 (#26825) 2020-03-20 14:18:43 +01:00
Patrik Nordwall
1d16e847b5 Reliable delivery in Typed, #20984
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
2020-03-12 15:37:16 +01:00
Renato Cavalcanti
6e171815b6
Adds ActorRef.ignore (#28630) 2020-03-12 12:40:56 +01:00
Johan Andrén
6bc4e3b94c
Sharded Daemon Process #28710
A new cluster tool for running a number of actor instances balanced over the cluster.
2020-03-10 18:04:09 +01:00
Johan Andrén
59ce257209
Distributed pubsub for typed (#28625)
* 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
2020-03-10 14:01:19 +00:00
Johan Andrén
8a019f86a1
JFR-based remoting flight recorder #26282 2019-12-16 11:45:13 +01:00
Arnout Engelen
25ad10f893
Document asSubscriber stage (#28128)
* 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
2019-12-05 16:40:05 +01:00
Arnout Engelen
0e81641b65
Make akka-protobuf-v3.jar reproducible (#28108)
This needs 'special treatment' because the akka build overrides
`packageBin` for this subproject
2019-11-26 11:02:06 +01:00
Patrik Nordwall
6cd935dfec update mima latestPatch 2.6.0 (#28135) 2019-11-06 21:40:56 +01:00
Patrik Nordwall
0fad044fcf add dependency to akka-slf4j from akka-actor-typed
* 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
2019-11-05 19:34:05 +01:00
Patrik Nordwall
9fa452daea
Merge pull request #27909 from akka/wip-27661-proto-v3-dependency-patriknw
adjust dependencies to akka-protobuf-v3, #27661
2019-10-09 17:04:22 +02:00
Patrik Nordwall
dfaee6f9a1
Make SingleConsumerMultiProducer the default mail box for typed (#27857)
* 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
2019-10-09 11:17:50 +02:00
Patrik Nordwall
041c0abe64 don't crossPaths for akka-protobuf-v3, #27921
* otherwise akka-bench-jmh doesn't work
* and there are no Scala dependencies in there, as far as I know
2019-10-08 10:55:30 +02:00
Patrik Nordwall
f294eb510b adjust dependencies to akka-protobuf-v3, #27661
* 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)
2019-10-07 11:02:10 +02:00
Christopher Batey
7ac4bde963 Merge benchmark projects 2019-10-02 11:24:51 +01:00
Ignasi Marimon-Clos
861034de38 Remove unnecessary dependency 2019-09-30 19:03:22 +02:00
Patrik Nordwall
1b3a75b3f8 Remove EventSourcedEntity, #27724
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
2019-09-26 11:59:00 +02:00
Helena Edelson
9a9e21a62b Consolidate Paradox settings, add includes workaround #27656 (#27657) 2019-09-09 14:25:33 +02:00
franciscolopezsancho
dd96d21ffa First step of changing to SL4J in Typed logging, #26537 2019-09-06 10:09:53 +02:00
Helena Edelson
a83c14b9aa
Remove mentions of Typed - replaces @@@note of classic/typed with an includes (#27617) 2019-09-03 13:23:47 -07:00
Christopher Batey
d6289c7e7c Clean up of utilities docs
* 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
2019-08-23 14:54:20 +02:00
Christopher Batey
6c13949aec Use protobuf3 for internal serialization (#27366)
* Only load akka protobuf serializer if protobuf on the classpath
2019-08-15 17:43:19 +02:00
Arnout Engelen
a7e8ad2918 Update paradox (#27457)
Which adds checks for dead references and pages that are unexpectedly not
in any table of contents
2019-08-06 06:41:53 +02:00
Johan Andrén
03b8c543fc Serialization support for wrapped stream refs (#27353) 2019-07-16 10:11:33 -07:00
Patrik Nordwall
3efc1c2877
Disable Java serialization by default, #22333 (#27285)
* akka.actor.allow-java-serialization = off
* Moved primitive (Long, Int, String, ByteString) serializers
  from akka-remote to akka-actor since they had no dependency
  and are useful also in local systems, e.g. persistence.
  * e.g. needed for persistence-tck
  * less allow-java-serialization=on in tests
* CborSerializable in Jackson/test module for ease of use
* JavaSerializable for Java serialization in tests, already in akka-testkit,
  but misconfigured
* Made tests pass
  * allow-java-serialization=on in akka-persistence
  * allow-java-serialization=on in classic remoting tests
  * JavaSerializable and CborSerializable in other remoting tests
* Added serialization for
  * Boolean
  * java.util.concurrent.TimeoutException, AskTimeoutException
* support for testing serialization with the inmem journal
* utility to verifySerialization, in SerializationTestKit
* remove AccountExampleWithCommandHandlersInState becuase not possible to serialize State when it's not static
  * Effect() is factory in EventSourcedBehavior  class
* test the account examples
* SharedLeveldbJournal.configToEnableJavaSerializationForTest
* support for exceptions from remote deployed child actors
  * fallback to akka.remote.serialization.ThrowableNotSerializableException
    if exception is not serializable when wrapped in system messages from
    remote deployed child actors and Status.Failure messages
  * it's implemented in `WrappedPayloadSupport.payloadBuilder`
* update reference documentation
* serialize-messages=off in most places, separate ticket for
  improving or removing that feature
* migration guide, including description of rolling update

* fix 2.13 compiler error

* minor review feedback
2019-07-11 14:04:24 +02:00
Christopher Batey
139d9a3c0c Remove ApiMayChange from typed testkit (#27096)
* Remove ApiMayChange from typed testkit

* Don't disable mima plugin to highlight times we break bin cmompat

Refs #26897

* Add api may change to test inbox and behavior test kit
2019-07-04 11:03:27 +02:00
Arnout Engelen
af3ee37d6c
Option to target system JDK instead of JDK8 (#27083)
Inspired by the proposal by @nvollmar in 0940dfc
2019-06-17 16:55:54 +02:00
Patrik Nordwall
57fd889548
remove Jackson afterburner, since no visible improvement #24155 (#27064)
* remove Jackson afterburner, since no visible improvement #24155

* add back timeMessage benchmark

* improve custom mapper test
2019-06-13 21:53:21 +02:00
Christopher Batey
6e93bef605
Enable Jackson for 2.13 (#27136)
* Enable jackson for 2.13

* Fix 2.13 warnings in jackson module
2019-06-13 16:17:04 +01:00