* Fix MailboxSelectorSpec race
The comment already said there could be 2 dead letters, but the log
assertion failed when there was a second 'excess' one. Add a flag to
skip checking for excess log lines.
* LocalPubSubSpec: allow multiple debug messages
Fixes#30432 on top of #30429
The comment already said there could be 2 dead letters, but the log
assertion failed when there was a second 'excess' one. Add a flag to
skip checking for excess log lines.
* Run akka-remote tests on Scala 3
* Test the same scenario on Scala 2.13 and 3
A case object is `Serializable` on Scala 3 but not on Scala 2.13, so
this test would fail because no serializer is found on Scala 2.13,
and because the Java serializer is disabled on Scala 3.
By using a class instead, which is not `Serializable` both on Scala 2.13
and Scala 3, we test the same thing on both Scala versions.
* use GH Actions to compile and tests with Scala 3
* Update .github/workflows/scala3-build.yml
Co-authored-by: Andrea Peruffo <andrea.peruffo1982@gmail.com>
* rename .jvmopts-travis to .jvmopts-ci
* Restore the whitesource stage
* Small updates to gh action workflow
* Mark BoundedBlockingQueueSpec timing-sensitive and exclude
* Avoid race condition stopping/starting test actors
Co-authored-by: Andrea Peruffo <andrea.peruffo1982@gmail.com>
Co-authored-by: Ignasi Marimon-Clos <ignasi@lightbend.com>
Co-authored-by: Arnout Engelen <arnout@bzzt.net>
Unfortunately the tests reveal a problem: a duplicate 'get' static
forwarder method is generated on the `LeaseProvider` class, which
produces a problem getting the extension from Java. To be
investigated, but let's at least start checking compilation.
Co-authored-by: Renato Cavalcanti <renato@cavalcanti.be>
* fix: Defer coordinator stop until region graceful stop has completed #28917
* Added multi jvm test
* Formatting
* Also send GracefulShutdown to region if it hasn't started gracefully shutting down yet
The compat library added an `early-semver` versionScheme which means
that 1.0.0 is marked as binary incompatible with any version lower
than 0.9.1 - even though it's not.
For example:
```
[error] (update) found version conflict(s) in library dependencies; some are suspected to be binary incompatible:
[error]
[error] * org.scala-lang.modules:scala-java8-compat_2.13:1.0.0 (early-semver) is selected over 0.9.0
[error] +- com.github.blemale:scaffeine_2.13:4.1.0 (depends on 1.0.0)
[error] +- com.typesafe.akka:akka-actor_2.13:2.6.14 (depends on 0.9.0)
```
The `scalaModuleMimaPreviousVersion` has been set to `0.9.1` in the project, so upgrading
Akka to this should allow it to work with a lot of other libraries who have already done
the major update (supports Scala 3) to 1.0.0.
Changes:
* Private constructor for case class means private apply in Scala 3
* Logger class with Any instead of wildcard where needed
* Explicit import of internal implicit conversion import SinkToCompletionStage
* Hopefully source and binary compatible Scala 3 signature for GraphApply.create methods
* ZipLatestWith leaking private type
* Auto apply-to-lambda made explicit
* Internal async callback event class covariant
* Hub leaking private type
* Remove cycles in stream Buffer classes
* Avoid cyclic import in ResizableMultiReaderRingBuffer
* Safe cast of Subscribers
* Explicit import of internal implicit conversion SourceToCompletionStage
* Ambigous field name and method
* recover delegates using PF from javadsl not inferred, made explicit
* TcpStage completing promise with wrong type
* Collect aggregator empty value cannot be underscore with type ascription
* Some type alias shenanigans in QueueSink removed
* Explicit type on effectiveMaximumBurst in Throttle
* Override method return type not inferred in GraphInterpreter
* MutableCollectorState.accumulated getter got wrong type somehow
* TLS actor fallback case only applicable to null
* Some internal unchecked pattern matching removed
* Ok that createGraph is not present in Java API
* Separate impl per language for implicit actor system apply