Commit graph

259 commits

Author SHA1 Message Date
Arnout Engelen
9db8fc6cb5 Avoid using mockito in akka-cluster-sharding (#27845) 2019-10-10 07:38:56 -06:00
Patrik Nordwall
544c5fa17c
Merge pull request #27952 from scala-steward/update/aeron-client-1.22.0
Update aeron-client, aeron-driver to 1.22.0
2019-10-10 14:10:27 +02:00
Scala Steward
36e4cbcb79 Update agrona to 1.0.8 (#27905) 2019-10-10 14:09:56 +02:00
Scala Steward
ef72933762
Update aeron-client, aeron-driver to 1.22.0 2019-10-09 15:42:52 +02:00
Scala Steward
2511868245 Update protobuf-java to 3.10.0 2019-10-08 14:06:10 +02:00
Scala Steward
585eeea236 Update scalacheck to 1.14.2 (#27827) 2019-10-08 12:03:30 +00:00
Patrik Nordwall
e8a1556060
Streams TLS and Tcp with SSLEngine, #21753 (#27766)
* SSLEngine factory instead of SSLContext and AkkaSSLConfig parameters
  in TLS and Tcp
* Update TlsSpec to use SSLEngine
* Keep copy of old TlsSpec for test coverage of deprecated methods
* Update doc example of how to setup a SSLEngine
* full API and deprecations
* don't use default param values
* java doc example
* migration guide
* mima
* update to sslconfig 0.4.0
  * hostname verification changed in sslconfig, so use jvm verifier
* change to mima file
* update doc sample, init SSLContext once
* remove FIXME for halfClosed
2019-10-08 12:30:41 +02:00
Scala Steward
e143582d7c Update mockito-core to 3.1.0 (#27841) 2019-10-04 15:46:44 +02:00
Marcos Pereira
92b9db5858 Jackson 2.10.0 (#27814)
* Update Jackson to 2.10.0

* Support configuration for new features introduced in Jackson 2.10

* WRITE_DURATIONS_AS_TIMESTAMPS is the new config used to serialize durations

Previously WRITE_DATES_AS_TIMESTAMPS was used for both date/time and duration, but
in Jackson 2.10 WRITE_DURATIONS_AS_TIMESTAMPS is used for durations, so it needs to
be configured consistently with WRITE_DATES_AS_TIMESTAMPS.
2019-10-02 19:58:11 -07:00
Arnout Engelen
3b17c01c68
Update to Scala 2.12.10 (#27734) 2019-09-30 16:22:13 +02:00
Patrik Nordwall
a1949cabdf update to Jackson 2.9.10 (#27796) 2019-09-26 14:29:59 +02:00
Scala Steward
bd7a264b2f Update protobuf-java to 3.9.2 (#27778) 2019-09-26 09:55:15 +01:00
Patrik Nordwall
8cb2721c33
Reference docs for SL4J logging in Typed, #27648 (#27696)
* Reference docs for SL4J logging in Typed, #27648
* mention package implicit for LoggerOps
* reference docs of log testing utilities
* cleanup classic logging.md
  * most of it is still relevant, and different enough from
    typed/logging.md to keep it separate
* use ThresholdFilter instead of LevelFilter

Co-Authored-By: Will Sargent <will.sargent@gmail.com>
2019-09-17 17:26:13 +02:00
tanaka takaya
9aa0e593b0 Bump up dependencies. (#27586)
* Bump up dependencies.

* revert sslConfigVersion and sigarLoader.

* only used in tests.

* Bump up dependencies.
2019-09-09 14:54:09 +02:00
Patrik Nordwall
68424b4f55 Complete logging with SLF4J in Typed, #26537
* TestAppender interaction with LoggingEventFilter
  * TestAppender plays the same role as classic TestEventList
* replace Sl4jLoggingEvent.java
  * include MDC in testkit.LoggingEvent to allow for custom filter
    testing MDC
* fix tests
* fix log events in BehaviorSetKit, using SubstituteLogger
* MDC in EventSourcedBehavior
  * using raw MDC to set the persistenceId and persistencePhase fields
  * avoid access to MDC ThreadLocal if log isn't used

* Automatically enable eventStream Slf4jLogger for Typed (PR #27583)
  * amend the ActorSystem config on startup when config akka.use-slf4j=on
    and akka-slf4j in classpath
  * akka.use-slf4j is defined in akka-actor-typed reference.conf
  * also enable the Slf4jLoggingFilter automatically
  * remove config in tests

* Include actor path as akkaSource in MDC (PR #27587)
  * move logger init to ActorContextImpl since not specific to untyped (ActorContextAdapter)
  * careful to not access MDC ThreadLocal if logging isn't used (per message)
  * MDC is cleared (if used) from aroundReceive in ActorAdapter after processing each message
  * also changed MDC for EventSourcedBehavior to rely on context.log and the outer MDC.clear()
  * just removing the MDC values is not enough because the empty Map remains in the ThreadLocal

* Optimization of MDC interceptor (PR #27610)

* Extension methods to Logger as workaround for overload and varargs problem (PR #27605)
  * "ambiguous reference to overloaded definition" for 2 arg method
  * varargs not supported for primitive types
  * providing extension methods info2 and infoN (and friends) via implicit class LoggerOps
    as more convenient workaround for these problems

* New API for Typed LoggingEventFilter (PR #27611)
  * builder style
  * will make it easier to add more conditions
  * all conditions are AND:ed together which makes it easier to define custom filters
  * simplifies the implementation as a bonus
  * javadsl
  * use new api in all tests
  * leeway setting
  * verify that occurrences = 0 works
  * use javadsl in two tests
  * change interceptLogger, and some other feedback

* Testing utility to silence logging until failure (PR #27588)
  * Logback appender that captures all log events and can flush them
    later to other appenders
  * LogCapturing mixin for ScalaTest that flush the captured logging events
    when a test fails. Also clears the captured events after all tests.
  * Configuration in logback-test.xml
  * log capturing for JUnit tests too, using TestRule
  * Silence initial setup logging from Logback
  * make LogCapturing public
  * use LogCapturing in all tests
    * aside from multi-jvm, and a few extending AkkaSpec, so far
  * a few doc tests needed debug level

* mention in migration guide
* rename setLoggerClass to setLoggerName
* check for logback dependency to give nicer error message
* fix filterKeys, deprecated in 2.13
2019-09-06 10:09:54 +02:00
franciscolopezsancho
dd96d21ffa First step of changing to SL4J in Typed logging, #26537 2019-09-06 10:09:53 +02:00
Johan Andrén
3fa133d901
Try out Config lib 1.3.5-RC1 (#27626) 2019-09-05 11:23:24 +02:00
Johan Andrén
6fd9d01b19
Circuitbreaker spec cleanup (#27560)
Test cleanup:

 * No need to use mockito, replaced with TestProbe (side effect is that it actually also
  makes some test cases more explicit in what they expect)
 * Use matchers to get reasonable failure messages
 * Use types where it makes sense
 * Remove mockito dependency from akka-actor-tests
2019-08-28 16:44:07 +02:00
Johan Andrén
bc4c6bab13 Upgrade to reactive streams tck 1.0.3 (#27553)
* Upgrade to reactive streams tck 1.0.3

* One more dependency
2019-08-27 11:20:37 +02:00
Arnout Engelen
6a32c00b80
Remove explicit scala-xml test dependency (#27561)
This one is old and a newer one is coming in transitively anyway
2019-08-26 16:02:48 +02:00
Patrik Nordwall
16f4971f64 update to reactive-streams-tck 1.0.3-RC1 (#27513) 2019-08-16 11:07:10 +02:00
Patrik Nordwall
911f6ab6c5 Update to jackson-databind 2.9.9.3
* a few more gadget types added to blacklist
* https://github.com/FasterXML/jackson/wiki/Jackson-Release-2.9#micro-patches
2019-08-16 08:31:45 +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
c140fb182f Update to Scala 2.12.9 (#27384) 2019-08-08 09:46:39 -07:00
Christopher Batey
6c416c2818 User serializer for protobuf3 (#27362)
* User serializer for protobuf3
2019-07-23 16:22:07 +02:00
Patrik Nordwall
86efe39afd Update to Jackson databind 2.9.9.1 to fix CVE-2019-12384 and CVE-2019-12814
* Block  gadget type for CVE-2019-12384
* Block gadget type CVE-2019-12814
* new classes blocked in SubTypeValidator.DEFAULT_NO_DESER_CLASS_NAMES,
  which we use from Akka so updating the dependency is enough
2019-07-11 13:51:05 +02:00
Christopher Batey
df7e5578bb
Revert to 0.4.* of ssl config for 2.13 (#27152)
We've released 2.5.23 for 2.13 with 0.4.0 but this changes the default
behavior. This reverts that so the first release we are binary compat
for 2.13 will be 2.5.24.

For 2.6 we can still perhaps upgrade
to 0.4.0 and document or override the new behavior.

Refs #27142
2019-06-18 15:21:26 +01: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
fd1acb9326 Upgrade to Aeron 1.19.1 (#27043)
* Upgrade to Aeron 1.19.1

No mention of on the wire incompatibilities in release notes for
versions 1.15->1.19

* fix compilation issue with new aeron

* Set default publication unblock timeout to 40s

This needs to be bigger than the liveness timeout. Aeron
defaults these to 5seconds and 10seconds. Akka uses 20s
for the liveness so use 40s for the unblock to keep the same
relation between the properties as Aeron has.

* Add publication unblock timeout in sharedmedia driver

* Update akka-remote/src/main/scala/akka/remote/artery/ArterySettings.scala

Co-Authored-By: Helena Edelson <helena@users.noreply.github.com>
2019-06-13 21:44:29 +02:00
Patrik Nordwall
6660e8504a
Remove Jackson Smile format, #24155 (#27105)
* No clear advantage over CBOR
* One less choice for users
* CBOR seems to have a stronger specification and therefore potential
  for wider adoption
* Performance of CBOR is equals to Smile
* Smile can be slightly more compact
  (I think it does more to reduce repeated field names),
  but that might be better to solve with good compression
2019-06-13 17:40:24 +02:00
Christopher Batey
a568afd895
Trying this out as the other PR isn't running in travis (#27129)
* Update to Scala 2.13.0

* Update scalatest
2019-06-12 15:02:17 +01:00
Christopher Batey
72cfc2485e
Netty is not optional for multi jvm test kit (#27072)
* Netty is not optional for multi jvm test kit

Netty is used internally and is always loaded even if artery is enabled.
That could be improved but for now netty is needed.

This fixes the Akka HTTP against master build
2019-06-05 10:22:26 +01:00
Christopher Batey
96eed177dc
Make netty and aeron dependencies optional (#27017)
* Make netty and aeron dependencies optional
* Include agrona as a mandatory dependency (used in compression tables)
Refs #25169
2019-05-29 09:50:28 +01:00
Patrik Nordwall
6122966fca Jackson serializer as replacement for Java serialization, #24155
* Copied from Lagom, with the following differences
  * Jsonable and CompressedJsonable not included
  * pcollection and guava modules not enabled by default
  * added scala and afterburner modules
* JSON, CBOR and Smile options (different serializers)
* JMH benchmark
* jackson version 2.9.9
* test polymorphism
* serializer for ActorRef
* Address serializer
* FiniteDuration serializer, same as java.time.Duration
* use blacklist from Jackson databind against gadgets
* disallow binding to open ended types, such as java.io.Serializable
* Configurable ObjectMapper ser/deser features
* testing date formats with WRITE_DATES_AS_TIMESTAMPS on/off
* ActorSystemSetup for ObjectMapper creation
  * and possibility to lookup created ObjectMapper via ObjectMapperProvider extension
* createObjectMapper without ActorSystem, needed by Lagom test
* add basic docs
* skip Scala 2.13 for akka-serialization-jackson for now, until the Jackson
  Scala module has been released
2019-05-24 09:03:45 +02:00
Arnout Engelen
814cfa286c Scala 2.13.0 rc2 (#26967) 2019-05-24 08:11:50 +02:00
Philippus Baalman
70c3d08b5a Update typesafe config to 1.3.4 (#26875)
Link to latest version of the Typesafe Config Library API docs
2019-05-07 12:47:26 +02:00
Arnout Engelen
282b38e832
Remove akka-contrib (#26769)
* Remove akka-contrib #26183

This module has been deprecated since 2.5 and is removed in 2.6
2019-05-02 12:09:11 +02:00
Arnout Engelen
a8bd5af1fb
Remove akka-agent #26184 2019-04-26 16:55:50 +02:00
Arnout Engelen
96c8ef4257 Remove akka-camel (#26768)
* Remove akka-camel

This module has been deprecated since 2.5.0 and will now be removed in 2.6.

If there is interest it can be moved to a separate community-maintained repo.

* Add note to migration guide

* Remove from allModules as well
2019-04-25 15:55:25 +02:00
Christopher Batey
0ab7a96ae2
Remove Scala 2.11 for Akka 2.6 (#26760)
* Remove Scala 2.11 for Akka 2.6

* Remove unused import

* Update akka-actor/src/main/scala-2.13/akka/compat/Future.scala

Co-Authored-By: chbatey <christopher.batey@gmail.com>

* Update akka-actor/src/main/scala-2.13/akka/compat/Future.scala

Co-Authored-By: chbatey <christopher.batey@gmail.com>

* Remove last few bits of 2.11
2019-04-19 07:53:27 +01:00
Patrik Nordwall
b5b592c8f9
Remove Scala 2.11 from crossScalaVersions (#26656)
* Remove Scala 2.11 from crossScalaVersions

* because +buildRelease doesn't work with mixed crossScalaVersions
* let's use akka.build.scalaVersion when building for 2.11
* aggregatedProjects adjusted depending on akka.build.scalaVersion is 2.11 or not,
  there excluding/including the -typed modules

* update travis to use akka.build.scalaVersion
2019-04-02 15:16:01 +02:00
Christopher Batey
65ccada280 Lease API + use in cluster singleton and sharding, #26480 (#26629)
* lease api
* Cluster singleton manager with lease
* Refactor OldestData to use option for actor reference
* Sharding with lease
* Docs for singleton and sharding lease + config for sharding lease
* Have ddata shard wait until lease is acquired before getting state
2019-03-28 13:31:56 +01:00
Arnout Engelen
b214115051
Update scalatest 2019-03-19 11:25:48 +01:00
Patrik Nordwall
5c96a5f556 replace unicode arrows
* ⇒, →, ←
* because we don't want to show them in documentation snippets and
  then it's complicated to avoid that when snippets are
  located in src/test/scala in individual modules
* dont replace object `→` in FSM.scala and PersistentFSM.scala
2019-03-11 16:58:51 +01:00
Seth Tisue
fc23f03031 upgrade to latest ScalaTest (#26387)
stuff moved to a new package. you wouldn't expect that in a point
release, but they put type aliases in place so Scala users wouldn't
notice. but the change is visible to Java code.

the upgrade is not strictly necessary, but it would be convenient
for the Scala 2.13 community build to have this merged, so I don't
have to maintain these changes in our Akka fork
2019-02-17 19:45:39 +00:00
Christopher Batey
ccdeef9075 Upgrade Aeron to 1.15.1 (#26268) 2019-02-06 16:48:25 +01:00
Arnout Engelen
d274e039f9
Various scala-2.13.0-M5 fixes
fix akka-actor-tests compile errors

some tests still fail though

Fix test failures in akka-actor-test

Manually work arround missing implicit Factory[Nothing, Seq[Nothing]]

see https://github.com/scala/scala-collection-compat/issues/137

akka-remote scalafix changes

Fix shutdownAll compile error

test:akka-remote scalafix changes

akka-multi-node-testkit scalafix

Fix akka-remote-tests multi-jvm compile errors

akka-stream-tests/test:scalafix

Fix test:akka-stream-tests

Crude implementation of ByteString.map

scalafix akka-actor-typed, akka-actor-typed-tests

akka-actor-typed-tests compile and succeed

scalafix akka-camel

scalafix akka-cluster

akka-cluster compile & test

scalafix akka-cluster-metrics

Fix akka-cluster-metrics

scalafix akka-cluster-tools

akka-cluster-tools compile and test

scalafix akka-distributed-data

akka-distributed-data fixes

scalafix akka-persistence

scalafix akka-cluster-sharding

fix akka-cluster-sharding

scalafix akka-contrib

Fix akka-cluster-sharding-typed test

scalafix akka-docs

Use scala-stm 0.9 (released for M5)

akka-docs

Remove dependency on collections-compat

Cherry-pick the relevant constructs to our own
private utils

Shorten 'scala.collections.immutable' by importing it

Duplicate 'immutable' imports

Use 'foreach' on futures

Replace MapLike with regular Map

Internal API markers

Simplify ccompat by moving PackageShared into object

Since we don't currently need to differentiate between 2.11 and

Avoid relying on 'union' (and ++) being left-biased

Fix akka-actor/doc by removing -Ywarn-unused

Make more things more private

Copyright headers

Use 'unsorted' to go from SortedSet to Set

Duplicate import

Use onComplete rather than failed.foreach

Clarify why we partly duplicate scala-collection-compat
2019-01-11 12:27:18 +01:00
Arnout Engelen
0cc8e20a2e
Various scala-2.13.0-M5 fixes
Clearer imports in TcpDnsClient

Accept SVG's when checking if diagrams were generated

Fix akka-actor MiMa issues

akka-testkit scalafix changes

Update scalatest to 2.13-released snapshot

akka-stream scalafix changes

Update ssl-config

To version that's released with -M5

Take elements directly out of buffer

Manually fix immutable.Seq / Doc link

Make sure the right Concat, Sink is imported

akka-stream binary compat

akka-stream-testkit scalafix

akka-actor-tests scalafix

Eta-expensions
2019-01-11 11:44:35 +01:00
Arnout Engelen
4c7440c952
akka-actor scalafix changes 2019-01-11 11:43:26 +01:00
kerr
bdc90052aa Update headers from 2018 to 2019 once for all. (#26165)
* Add CopyrightHeader support for sbt-boilerplate plugin.
* Add CopyrightHeader support for `*.proto` files.
* Add regex match for both `–` and `-` for CopyrightHeader.
* Add CopyrightHeader support for sbt build files.
* Update copyright from 2018 to 2019.
2019-01-02 11:55:26 +01:00