* 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.
* scalafix ExplicitNonNullaryApply prepare
+ Temporarily use com.sandinh:sbt-scalafix because scalacenter/scalafix#1098
+ Add ExplicitNonNullaryApply rule to .scalafix.conf
+ Manually fix a NonNullaryApply case in DeathWatchSpec that cause
`fixall` fail because ExplicitNonNullaryApply rule incorrectly rewrite
`context unbecome` to `context unbecome()` instead of `context.unbecome()`
* scalafix ExplicitNonNullaryApply
fix by enabling only ExplicitNonNullaryApply rule in .scalafix.conf then:
```
% sbt -Dakka.build.scalaVersion=2.13.1
> fixall
```
* scalafmtAll
* Revert to ch.epfl.scala:sbt-scalafix
Co-authored-by: Bùi Việt Thành <thanhbv@sandinh.net>
* Possibility to prefer oldest in ddata writes and reads
* enabled for Cluster Sharding
* New ReadMajorityPlus and WriteMajorityPlus
* used by Cluster Sharding, with configuration
* also possible to define ReadAll in config
* sometimes failed: "WriteAggregator with delta must timeout when less than required acks"
* the DeltaNack will trigger immedediate send of Write
* seems to be a race condition of when the probe is receiving the Write
from the DeltaNack vs the last expected DeltaPropagation
* moved to cluster tests, in new package akka.cluster.testkit
* changed config in tests
* migration guide
* documentation clarificiations for Downing and Leaving
* update warnings in Singleton and Sharding
* Config to exclude class prefix from serialize-messages, #24273
* Adding no-serialization-verification-needed-class-prefix, with "akka." included
by default
* This is important now when we disable Java serialization by default.
There will be many complaints about Akka internal classes that are not marked with
NoSerializationVerificationNeeded, and we can't really sprinkle that everywhere.
* Not removing NoSerializationVerificationNeeded usage in Akka classes because that
may break bin compat, even though it's needed any more.
* fix DisabledJavaSerializerWarningSpec
* The reason for this change is that `DataDeleted` didn't extend the
`UpdateResponse` and `GetResponse` types and could therefore cause problems
when `Update` and `Get` were used with `ask`. This was also a problem for
Akka Typed.
* Introduce new messages types UpdateDataDeleted and GetDataDeleted
* Introduce SubscribeResponse because the responses can be both `Changed`
and `Deleted` are responses to subscriptions. Important for Typed.
* 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
* 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
* previous `schedule` method is trying to maintain a fixed average frequency
over time, but that can result in undesired bursts of scheduled tasks after a long
GC or if the JVM process has been suspended, same with all other periodic
scheduled message sending via various Timer APIs
* most of the time "fixed delay" is more desirable
* we can't just change because it's too big behavioral change and some might
depend on previous behavior
* deprecate the old `schedule` and introduce new `scheduleWithFixedDelay`
and `scheduleAtFixedRate`, when fixing the deprecation warning users should
make a concious decision of which behavior to use (scheduleWithFixedDelay in
most cases)
* Streams
* SchedulerSpec
* test both fixed delay and fixed rate
* TimerSpec
* FSM and PersistentFSM
* mima
* runnable as second parameter list, also in typed.Scheduler
* IllegalStateException vs SchedulerException
* deprecated annotations
* api and reference docs, all places
* migration guide
* fix several tests that were using akka.remote.netty.tcp config
* replace akka.tcp with akka in more places
* some doc cross references to remoting.md
* Allow for dispatcher aliases and define a internal dispatcher
* Test checking dispatcher name
* MiMa for Dispatchers
* Migration guide entry
* No need to have custom dispatcher lookup logic in streams anymore
* Default dispatcher size and migration note about that
* Test checking exact config values...
* Typed receptionist on internal dispatcher
* All internal usages of system.dispatcher gone through
* The scenario was (probably) that a node was restarted with
same host:port and then didn't join the same cluster. The DData
Replicator in the original cluster would continue sending messages
to the new incarnation resulting in false removals.
* The fix is that DData Replicator includes the system uid of the sending
or target system in messages and if recipient gets a message that is from/to
unknown it will discard it and thereby not spreading information across
different clusters.
* Reproduced in ClusterReceptionistSpec
* Much hardening of other things in ClusterReceptionistSpec
* There are also some improvements to ClusterReceptionist to not leak
Listing with refs of removed nodes.
* use ClusterShuttingDown
* The reason for using sender system uid instead of target uid in messages
like Read and Write is that then the optimization for sending same message
to many destinations can remain.
So now we can compile akka-distributed-data with
-Xfatal-warnings - though I'm not yet sure about
enabling the (other) undisciplineScalacOptions
* Fix multi-node silencing
* Fix scaladoc warnings
* Introduce annotation to declare ccompat use
* Add explicit toString
* Fix deprecation on 2.13
* Move 'immutable' ccompat helpers to shared ccompat package
* Add MiMa for internal scala 2.13 compatibility class
* Internal API markers
* Fix scaladoc generation
Got bitten by https://github.com/scala/bug/issues/11021
* ⇒, →, ←
* 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
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