* 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
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
* 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
* Use SPDX short identifier for license
The SPDX license list (https://spdx.org/licenses/) defines a standard
for identifying licenses that allows tooling to unambiguously identify a
license. This changes Akka to use the SPDX short identifier for the
Apache 2 license.
Any developer wishing to publish their own build of Akka to bintray will
need to make this change, as bintray uses the SPDX short identifier to
verify that artifacts being published to free accounts are indeed open
source. So this will make it easier for people to publish their own
builds.
* Update Apache license URL
Co-Authored-By: Arnout Engelen <github@bzzt.net>
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
* 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>
* 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
* 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