Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

failed: MessageAdapterSpec - redirect to DeadLetter after termination #30552

Closed
pvlugter opened this issue Aug 19, 2021 · 4 comments · Fixed by #30662
Closed

failed: MessageAdapterSpec - redirect to DeadLetter after termination #30552

pvlugter opened this issue Aug 19, 2021 · 4 comments · Fixed by #30662
Assignees
Labels
failed Tickets that indicate a CI failure, likely a flakey test

Comments

@pvlugter
Copy link
Contributor

https://github.com/akka/akka/runs/3357979890?check_suite_focus=true#step:5:6566

--> [akka.actor.typed.scaladsl.MessageAdapterSpec: redirect to DeadLetter after termination] Start of log messages of test that [Failed(org.scalatest.exceptions.TestFailedException: Unexpected message [AdaptMessage(Pong(hello),akka.actor.typed.internal.ActorContextImpl$$Lambda$501/0x0000000800531040@1b4c75b3)], expected Pong or AdaptMessage(Pong))]
2021-08-18 06:20:55,642 INFO  akka.event.slf4j.Slf4jLogger  - Slf4jLogger started MDC: {}
2021-08-18 06:20:55,646 DEBUG MessageAdapterSpec  - Starting ActorTestKit MDC: {}
2021-08-18 06:20:55,650 INFO  akka.actor.testkit.typed.scaladsl.LogCapturing  - Logging started for test [akka.actor.typed.scaladsl.MessageAdapterSpec: Message adapters must map messages inside the actor] MDC: {}
2021-08-18 06:20:55,657 INFO  akka.actor.testkit.typed.scaladsl.LogCapturing  - Logging finished for test [akka.actor.typed.scaladsl.MessageAdapterSpec: Message adapters must map messages inside the actor] that [Succeeded] MDC: {}
2021-08-18 06:20:55,657 INFO  akka.actor.testkit.typed.scaladsl.LogCapturing  - Logging started for test [akka.actor.typed.scaladsl.MessageAdapterSpec: Message adapters must use the right adapter] MDC: {}
2021-08-18 06:20:55,662 INFO  akka.actor.testkit.typed.scaladsl.LogCapturing  - Logging finished for test [akka.actor.typed.scaladsl.MessageAdapterSpec: Message adapters must use the right adapter] that [Succeeded] MDC: {}
2021-08-18 06:20:55,662 INFO  akka.actor.testkit.typed.scaladsl.LogCapturing  - Logging started for test [akka.actor.typed.scaladsl.MessageAdapterSpec: Message adapters must not break if wrong/unknown response type] MDC: {}
2021-08-18 06:20:55,664 INFO  akka.actor.DeadLetterActorRef akkaDeadLetter - Message [akka.actor.testkit.typed.scaladsl.ActorTestKit$$anon$1] was unhandled. [1] dead letters encountered. This logging can be turned off or adjusted with configuration settings 'akka.log-dead-letters' and 'akka.log-dead-letters-during-shutdown'. MDC: {akkaAddress=akka://MessageAdapterSpec, sourceThread=MessageAdapterSpec-akka.actor.default-dispatcher-3, akkaSource=akka://MessageAdapterSpec/deadLetters, sourceActorSystem=MessageAdapterSpec, akkaMessageClass=akka.actor.testkit.typed.scaladsl.ActorTestKit$$anon$1, akkaTimestamp=06:20:55.664UTC}
2021-08-18 06:20:55,666 INFO  akka.actor.LocalActorRef akkaDeadLetter - Message [akka.actor.typed.scaladsl.MessageAdapterSpec$Pong2$4] to Actor[akka://MessageAdapterSpec/user/$d#-1872217161] was unhandled. [2] dead letters encountered. This logging can be turned off or adjusted with configuration settings 'akka.log-dead-letters' and 'akka.log-dead-letters-during-shutdown'. MDC: {akkaAddress=akka://MessageAdapterSpec, sourceThread=MessageAdapterSpec-akka.actor.default-dispatcher-6, akkaSource=akka://MessageAdapterSpec/user/$d, sourceActorSystem=MessageAdapterSpec, akkaMessageClass=akka.actor.typed.scaladsl.MessageAdapterSpec$Pong2$4, akkaTimestamp=06:20:55.666UTC}
2021-08-18 06:20:55,670 INFO  akka.actor.testkit.typed.scaladsl.LogCapturing  - Logging finished for test [akka.actor.typed.scaladsl.MessageAdapterSpec: Message adapters must not break if wrong/unknown response type] that [Succeeded] MDC: {}
2021-08-18 06:20:55,671 INFO  akka.actor.testkit.typed.scaladsl.LogCapturing  - Logging started for test [akka.actor.typed.scaladsl.MessageAdapterSpec: Message adapters must stop when exception from adapter] MDC: {}
2021-08-18 06:20:55,675 ERROR akka.actor.SupervisorStrategy  - boom MDC: {akkaAddress=akka://MessageAdapterSpec, akkaSource=akka://MessageAdapterSpec/user, sourceActorSystem=MessageAdapterSpec}
akka.actor.testkit.typed.TestException: boom
2021-08-18 06:20:55,675 INFO  akka.actor.testkit.typed.scaladsl.LogCapturing  - Logging finished for test [akka.actor.typed.scaladsl.MessageAdapterSpec: Message adapters must stop when exception from adapter] that [Succeeded] MDC: {}
2021-08-18 06:20:55,676 INFO  akka.actor.LocalActorRef akkaDeadLetter - Message [akka.actor.typed.scaladsl.MessageAdapterSpec$Pong$4] wrapped in [akka.actor.typed.internal.AdaptMessage] to Actor[akka://MessageAdapterSpec/user/$f#1042966062] was not delivered. [3] dead letters encountered. If this is not an expected behavior then Actor[akka://MessageAdapterSpec/user/$f#1042966062] may have terminated unexpectedly. This logging can be turned off or adjusted with configuration settings 'akka.log-dead-letters' and 'akka.log-dead-letters-during-shutdown'. MDC: {akkaAddress=akka://MessageAdapterSpec, sourceThread=MessageAdapterSpec-akka.actor.default-dispatcher-12, akkaSource=akka://MessageAdapterSpec/user/$f, sourceActorSystem=MessageAdapterSpec, akkaMessageClass=akka.actor.typed.scaladsl.MessageAdapterSpec$Pong$4, akkaTimestamp=06:20:55.675UTC}
2021-08-18 06:20:55,676 INFO  akka.actor.testkit.typed.scaladsl.LogCapturing  - Logging started for test [akka.actor.typed.scaladsl.MessageAdapterSpec: Message adapters must not catch exception thrown after adapter, when processing the message] MDC: {}
2021-08-18 06:20:55,679 ERROR akka.actor.SupervisorStrategy  - boom MDC: {akkaAddress=akka://MessageAdapterSpec, akkaSource=akka://MessageAdapterSpec/user, sourceActorSystem=MessageAdapterSpec}
akka.actor.testkit.typed.TestException: boom
2021-08-18 06:20:55,679 INFO  akka.actor.testkit.typed.scaladsl.LogCapturing  - Logging finished for test [akka.actor.typed.scaladsl.MessageAdapterSpec: Message adapters must not catch exception thrown after adapter, when processing the message] that [Succeeded] MDC: {}
2021-08-18 06:20:55,679 INFO  akka.actor.testkit.typed.scaladsl.LogCapturing  - Logging started for test [akka.actor.typed.scaladsl.MessageAdapterSpec: redirect to DeadLetter after termination] MDC: {}
2021-08-18 06:20:55,680 INFO  akka.actor.DeadLetterActorRef akkaDeadLetter - Message [akka.actor.testkit.typed.scaladsl.ActorTestKit$$anon$1] to Actor[akka://MessageAdapterSpec/deadLetters] was not delivered. [4] dead letters encountered. If this is not an expected behavior then Actor[akka://MessageAdapterSpec/deadLetters] may have terminated unexpectedly. This logging can be turned off or adjusted with configuration settings 'akka.log-dead-letters' and 'akka.log-dead-letters-during-shutdown'. MDC: {akkaAddress=akka://MessageAdapterSpec, sourceThread=MessageAdapterSpec-akka.actor.default-dispatcher-3, akkaSource=akka://MessageAdapterSpec/deadLetters, sourceActorSystem=MessageAdapterSpec, akkaMessageClass=akka.actor.testkit.typed.scaladsl.ActorTestKit$$anon$1, akkaTimestamp=06:20:55.680UTC}
2021-08-18 06:20:55,680 INFO  akka.actor.LocalActorRef akkaDeadLetter - Message [akka.actor.typed.scaladsl.MessageAdapterSpec$Pong$7] wrapped in [akka.actor.typed.internal.AdaptMessage] to Actor[akka://MessageAdapterSpec/user/$h#-377537034] was not delivered. [5] dead letters encountered. If this is not an expected behavior then Actor[akka://MessageAdapterSpec/user/$h#-377537034] may have terminated unexpectedly. This logging can be turned off or adjusted with configuration settings 'akka.log-dead-letters' and 'akka.log-dead-letters-during-shutdown'. MDC: {akkaMessageClass=akka.actor.typed.scaladsl.MessageAdapterSpec$Pong$7, akkaAddress=akka://MessageAdapterSpec, sourceThread=MessageAdapterSpec-akka.actor.default-dispatcher-3, akkaTimestamp=06:20:55.680UTC, akkaSource=akka://MessageAdapterSpec/user/$h, sourceActorSystem=MessageAdapterSpec}
2021-08-18 06:20:55,680 INFO  akka.actor.LocalActorRef akkaDeadLetter - Message [akka.actor.typed.scaladsl.MessageAdapterSpec$Pong$7] wrapped in [akka.actor.typed.internal.AdaptMessage] to Actor[akka://MessageAdapterSpec/user/$h#-377537034] was not delivered. [6] dead letters encountered. If this is not an expected behavior then Actor[akka://MessageAdapterSpec/user/$h#-377537034] may have terminated unexpectedly. This logging can be turned off or adjusted with configuration settings 'akka.log-dead-letters' and 'akka.log-dead-letters-during-shutdown'. MDC: {akkaAddress=akka://MessageAdapterSpec, sourceThread=MessageAdapterSpec-akka.actor.default-dispatcher-3, akkaSource=akka://MessageAdapterSpec/user/$h, sourceActorSystem=MessageAdapterSpec, akkaMessageClass=akka.actor.typed.scaladsl.MessageAdapterSpec$Pong$7, akkaTimestamp=06:20:55.680UTC}
2021-08-18 06:20:55,682 INFO  akka.actor.DeadLetterActorRef akkaDeadLetter - Message [akka.actor.typed.scaladsl.MessageAdapterSpec$Pong$10] to Actor[akka://MessageAdapterSpec/deadLetters] was not delivered. [7] dead letters encountered. If this is not an expected behavior then Actor[akka://MessageAdapterSpec/deadLetters] may have terminated unexpectedly. This logging can be turned off or adjusted with configuration settings 'akka.log-dead-letters' and 'akka.log-dead-letters-during-shutdown'. MDC: {akkaAddress=akka://MessageAdapterSpec, sourceThread=MessageAdapterSpec-akka.actor.default-dispatcher-11, akkaSource=akka://MessageAdapterSpec/deadLetters, sourceActorSystem=MessageAdapterSpec, akkaMessageClass=akka.actor.typed.scaladsl.MessageAdapterSpec$Pong$10, akkaTimestamp=06:20:55.682UTC}
2021-08-18 06:20:55,683 INFO  akka.actor.testkit.typed.scaladsl.LogCapturing  - Logging finished for test [akka.actor.typed.scaladsl.MessageAdapterSpec: redirect to DeadLetter after termination] that [Failed(org.scalatest.exceptions.TestFailedException: Unexpected message [AdaptMessage(Pong(hello),akka.actor.typed.internal.ActorContextImpl$$Lambda$501/0x0000000800531040@1b4c75b3)], expected Pong or AdaptMessage(Pong))] MDC: {}
<-- [akka.actor.typed.scaladsl.MessageAdapterSpec: redirect to DeadLetter after termination] End of log messages of test that [Failed(org.scalatest.exceptions.TestFailedException: Unexpected message [AdaptMessage(Pong(hello),akka.actor.typed.internal.ActorContextImpl$$Lambda$501/0x0000000800531040@1b4c75b3)], expected Pong or AdaptMessage(Pong))]
[info] - redirect to DeadLetter after termination *** FAILED *** (16 milliseconds)
[info]   Unexpected message [AdaptMessage(Pong(hello),akka.actor.typed.internal.ActorContextImpl$$Lambda$501/0x0000000800531040@1b4c75b3)], expected Pong or AdaptMessage(Pong) (MessageAdapterSpec.scala:297)
[info]   org.scalatest.exceptions.TestFailedException:
[info]   at org.scalatest.Assertions.newAssertionFailedException(Assertions.scala:472)
[info]   at org.scalatest.Assertions.newAssertionFailedException$(Assertions.scala:471)
[info]   at akka.actor.testkit.typed.scaladsl.ScalaTestWithActorTestKit.newAssertionFailedException(ScalaTestWithActorTestKit.scala:31)
[info]   at org.scalatest.Assertions.fail(Assertions.scala:933)
[info]   at org.scalatest.Assertions.fail$(Assertions.scala:929)
[info]   at akka.actor.testkit.typed.scaladsl.ScalaTestWithActorTestKit.fail(ScalaTestWithActorTestKit.scala:31)
[info]   at akka.actor.typed.scaladsl.MessageAdapterSpec.$anonfun$new$33(MessageAdapterSpec.scala:297)
[info]   at org.scalatest.OutcomeOf.outcomeOf(OutcomeOf.scala:85)
[info]   at org.scalatest.OutcomeOf.outcomeOf$(OutcomeOf.scala:83)
[info]   at org.scalatest.OutcomeOf$.outcomeOf(OutcomeOf.scala:104)
[info]   at org.scalatest.Transformer.apply(Transformer.scala:22)
[info]   at org.scalatest.Transformer.apply(Transformer.scala:20)
[info]   at org.scalatest.wordspec.AnyWordSpecLike$$anon$3.apply(AnyWordSpecLike.scala:1076)
[info]   at akka.actor.testkit.typed.scaladsl.LogCapturing.withFixture(LogCapturing.scala:70)
[info]   at akka.actor.testkit.typed.scaladsl.LogCapturing.withFixture$(LogCapturing.scala:68)
[info]   at akka.actor.typed.scaladsl.MessageAdapterSpec.withFixture(MessageAdapterSpec.scala:35)
[info]   at org.scalatest.wordspec.AnyWordSpecLike.invokeWithFixture$1(AnyWordSpecLike.scala:1074)
[info]   at org.scalatest.wordspec.AnyWordSpecLike.$anonfun$runTest$1(AnyWordSpecLike.scala:1086)
[info]   at org.scalatest.SuperEngine.runTestImpl(Engine.scala:306)
[info]   at org.scalatest.wordspec.AnyWordSpecLike.runTest(AnyWordSpecLike.scala:1086)
[info]   at org.scalatest.wordspec.AnyWordSpecLike.runTest$(AnyWordSpecLike.scala:1068)
[info]   at akka.actor.typed.scaladsl.MessageAdapterSpec.runTest(MessageAdapterSpec.scala:35)
[info]   at org.scalatest.wordspec.AnyWordSpecLike.$anonfun$runTests$1(AnyWordSpecLike.scala:1145)
[info]   at org.scalatest.SuperEngine.$anonfun$runTestsInBranch$1(Engine.scala:413)
[info]   at scala.collection.immutable.List.foreach(List.scala:333)
[info]   at org.scalatest.SuperEngine.traverseSubNodes$1(Engine.scala:401)
[info]   at org.scalatest.SuperEngine.runTestsInBranch(Engine.scala:396)
[info]   at org.scalatest.SuperEngine.runTestsImpl(Engine.scala:475)
[info]   at org.scalatest.wordspec.AnyWordSpecLike.runTests(AnyWordSpecLike.scala:1145)
[info]   at org.scalatest.wordspec.AnyWordSpecLike.runTests$(AnyWordSpecLike.scala:1144)
[info]   at akka.actor.typed.scaladsl.MessageAdapterSpec.runTests(MessageAdapterSpec.scala:35)
@pvlugter pvlugter added the failed Tickets that indicate a CI failure, likely a flakey test label Aug 19, 2021
@marcospereira
Copy link
Contributor

[info] - redirect to DeadLetter after termination *** FAILED *** (16 milliseconds)
[info]   Unexpected message [AdaptMessage(Pong(hello),akka.actor.typed.internal.ActorContextImpl$$Lambda$501/0x0000000800531040@1b4c75b3)], expected Pong or AdaptMessage(Pong) (MessageAdapterSpec.scala:297)
[info]   org.scalatest.exceptions.TestFailedException:

Failure here is odd since the test does not send a Pong(hello) message at all. Are tests messing with each other? I guess they shouldn't since we are not running them in parallel, but all the tests are using the same actor system.

@patriknw
Copy link
Member

patriknw commented Sep 2, 2021

@johanandren
Copy link
Member

@raboof
Copy link
Member

raboof commented Sep 8, 2021

@raboof raboof self-assigned this Sep 8, 2021
raboof added a commit to raboof/akka that referenced this issue Sep 8, 2021
Consume dead letters in one test so they don't
pollute the next test

Fixes akka#30552
raboof added a commit that referenced this issue Sep 8, 2021
* Fix MessageAdapterSpec instability

Consume dead letters in one test so they don't
pollute the next test

Fixes #30552

* Only check the greeting inside the message

* Allow dead letters to be adapted or not
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
failed Tickets that indicate a CI failure, likely a flakey test
Projects
None yet
Development

Successfully merging a pull request may close this issue.

5 participants