-
Notifications
You must be signed in to change notification settings - Fork 202
Closed
Description
Related: #987
First - thank you for implementing the redrive actions. It was such a great help!!
I just had a chance to start using them and I ran into a bug
I have two queues, one is dead-letters, the other is default
My conf
include classpath("application.conf")
messages-storage {
enabled = true
}
queues {
default {
defaultVisibilityTimeout = 10 seconds
# delay = 5 seconds
receiveMessageWait = 0 seconds
deadLettersQueue {
name = "dead-letters"
maxReceiveCount = 3 # from 1 to 1000
}
fifo = false
contentBasedDeduplication = false
}
dead-letters { }
}
When I try to run the following
aws sqs start-message-move-task --endpoint-url http://localhost:9324 --source-arn arn:aws:sqs:elasticmq:000000000000:dead-letters --destination-arn arn:aws:sqs:elasticmq:000000000000:default
The server crashes with the following logs
elasticmq-1 | Uncaught error from thread [elasticmq-pekko.actor.default-dispatcher-8]: null, shutting down JVM since 'pekko.jvm-exit-on-fatal-error' is enabled for ActorSystem[elasticmq]
elasticmq-1 | java.lang.ExceptionInInitializerError
elasticmq-1 | at org.elasticmq.rest.sqs.StartMessageMoveTaskDirectives.$anonfun$startMessageMoveTask$1(StartMessageMoveTaskDirectives.scala:21)
elasticmq-1 | at org.apache.pekko.http.scaladsl.server.Directive$.$anonfun$addByNameNullaryApply$2(Directive.scala:184)
elasticmq-1 | at org.apache.pekko.http.scaladsl.server.Directive$.$anonfun$Empty$1(Directive.scala:170)
elasticmq-1 | at org.apache.pekko.http.scaladsl.server.Directive$$anon$1.tapply(Directive.scala:165)
elasticmq-1 | at org.apache.pekko.http.scaladsl.server.Directive$.$anonfun$addByNameNullaryApply$1(Directive.scala:184)
elasticmq-1 | at org.elasticmq.rest.sqs.StartMessageMoveTaskDirectives.startMessageMoveTask(StartMessageMoveTaskDirectives.scala:20)
elasticmq-1 | at org.elasticmq.rest.sqs.StartMessageMoveTaskDirectives.startMessageMoveTask$(StartMessageMoveTaskDirectives.scala:19)
elasticmq-1 | at org.elasticmq.rest.sqs.TheSQSRestServerBuilder$$anon$1.startMessageMoveTask(SQSRestServerBuilder.scala:144)
elasticmq-1 | at org.elasticmq.rest.sqs.TheSQSRestServerBuilder.rawRoutes$1(SQSRestServerBuilder.scala:217)
elasticmq-1 | at org.elasticmq.rest.sqs.TheSQSRestServerBuilder.$anonfun$start$8(SQSRestServerBuilder.scala:244)
elasticmq-1 | at org.elasticmq.rest.sqs.directives.AnyParamDirectives.$anonfun$anyParamsMap$3(AnyParamDirectives.scala:76)
elasticmq-1 | at org.apache.pekko.http.scaladsl.server.util.ApplyConverterInstances$$anon$1.$anonfun$apply$1(ApplyConverterInstances.scala:23)
elasticmq-1 | at org.apache.pekko.http.scaladsl.server.ConjunctionMagnet$$anon$2.$anonfun$apply$3(Directive.scala:255)
elasticmq-1 | at org.apache.pekko.http.scaladsl.server.directives.BasicDirectives.$anonfun$mapRouteResult$2(BasicDirectives.scala:80)
elasticmq-1 | at org.apache.pekko.http.scaladsl.server.directives.FutureDirectives.$anonfun$onComplete$3(FutureDirectives.scala:47)
elasticmq-1 | at org.apache.pekko.http.scaladsl.util.FastFuture$.$anonfun$transformWith$1(FastFuture.scala:45)
elasticmq-1 | at org.apache.pekko.http.scaladsl.util.FastFuture$.strictTransform$1(FastFuture.scala:49)
elasticmq-1 | at org.apache.pekko.http.scaladsl.util.FastFuture$.$anonfun$transformWith$3(FastFuture.scala:59)
elasticmq-1 | at scala.concurrent.impl.Promise$Transformation.run(Promise.scala:484)
elasticmq-1 | at org.apache.pekko.dispatch.BatchingExecutor$AbstractBatch.processBatch(BatchingExecutor.scala:73)
elasticmq-1 | at org.apache.pekko.dispatch.BatchingExecutor$BlockableBatch.$anonfun$run$1(BatchingExecutor.scala:110)
elasticmq-1 | at scala.runtime.java8.JFunction0$mcV$sp.apply(JFunction0$mcV$sp.scala:18)
elasticmq-1 | at scala.concurrent.BlockContext$.withBlockContext(BlockContext.scala:94)
elasticmq-1 | at org.apache.pekko.dispatch.BatchingExecutor$BlockableBatch.run(BatchingExecutor.scala:110)
elasticmq-1 | at org.apache.pekko.dispatch.TaskInvocation.run(AbstractDispatcher.scala:59)
elasticmq-1 | at org.apache.pekko.dispatch.ForkJoinExecutorConfigurator$PekkoForkJoinTask.exec(ForkJoinExecutorConfigurator.scala:57)
elasticmq-1 | at java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:290)
elasticmq-1 | at java.util.concurrent.ForkJoinPool$WorkQueue.topLevelExec(ForkJoinPool.java:1020)
elasticmq-1 | at java.util.concurrent.ForkJoinPool.scan(ForkJoinPool.java:1656)
elasticmq-1 | at java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1594)
elasticmq-1 | at java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:183)
elasticmq-1 | at com.oracle.svm.core.thread.PlatformThreads.threadStartRoutine(PlatformThreads.java:704)
elasticmq-1 | at com.oracle.svm.core.posix.thread.PosixPlatformThreads.pthreadStartRoutine(PosixPlatformThreads.java:202)
elasticmq-1 | Caused by: scala.MatchError: [Ljava.lang.String;@5155c82 (of class [Ljava.lang.String;)
elasticmq-1 | at spray.json.ProductFormatsInstances.jsonFormat3(ProductFormatsInstances.scala:68)
elasticmq-1 | at spray.json.ProductFormatsInstances.jsonFormat3$(ProductFormatsInstances.scala:67)
elasticmq-1 | at spray.json.DefaultJsonProtocol$.jsonFormat3(DefaultJsonProtocol.scala:30)
elasticmq-1 | at org.elasticmq.rest.sqs.StartMessageMoveTaskActionRequest$.<clinit>(StartMessageMoveTaskDirectives.scala:74)
elasticmq-1 | ... 33 more
elasticmq-1 | 23:53:37.994 [elasticmq-pekko.actor.default-dispatcher-7] ERROR o.apache.pekko.actor.ActorSystemImpl - Uncaught error from thread [elasticmq-pekko.actor.default-dispatcher-8]: null, shutting down JVM since 'pekko.jvm-exit-on-fatal-error' is enabled for ActorSystem[elasticmq]
elasticmq-1 | java.lang.ExceptionInInitializerError: null
elasticmq-1 | at org.elasticmq.rest.sqs.StartMessageMoveTaskDirectives.$anonfun$startMessageMoveTask$1(StartMessageMoveTaskDirectives.scala:21)
elasticmq-1 | at org.apache.pekko.http.scaladsl.server.Directive$.$anonfun$addByNameNullaryApply$2(Directive.scala:184)
elasticmq-1 | at org.apache.pekko.http.scaladsl.server.Directive$.$anonfun$Empty$1(Directive.scala:170)
elasticmq-1 | at org.apache.pekko.http.scaladsl.server.Directive$$anon$1.tapply(Directive.scala:165)
elasticmq-1 | at org.apache.pekko.http.scaladsl.server.Directive$.$anonfun$addByNameNullaryApply$1(Directive.scala:184)
elasticmq-1 | at org.elasticmq.rest.sqs.StartMessageMoveTaskDirectives.startMessageMoveTask(StartMessageMoveTaskDirectives.scala:20)
elasticmq-1 | at org.elasticmq.rest.sqs.StartMessageMoveTaskDirectives.startMessageMoveTask$(StartMessageMoveTaskDirectives.scala:19)
elasticmq-1 | at org.elasticmq.rest.sqs.TheSQSRestServerBuilder$$anon$1.startMessageMoveTask(SQSRestServerBuilder.scala:144)
elasticmq-1 | at org.elasticmq.rest.sqs.TheSQSRestServerBuilder.rawRoutes$1(SQSRestServerBuilder.scala:217)
elasticmq-1 | at org.elasticmq.rest.sqs.TheSQSRestServerBuilder.$anonfun$start$8(SQSRestServerBuilder.scala:244)
elasticmq-1 | at org.elasticmq.rest.sqs.directives.AnyParamDirectives.$anonfun$anyParamsMap$3(AnyParamDirectives.scala:76)
elasticmq-1 | at org.apache.pekko.http.scaladsl.server.util.ApplyConverterInstances$$anon$1.$anonfun$apply$1(ApplyConverterInstances.scala:23)
elasticmq-1 | at org.apache.pekko.http.scaladsl.server.ConjunctionMagnet$$anon$2.$anonfun$apply$3(Directive.scala:255)
elasticmq-1 | at org.apache.pekko.http.scaladsl.server.directives.BasicDirectives.$anonfun$mapRouteResult$2(BasicDirectives.scala:80)
elasticmq-1 | at org.apache.pekko.http.scaladsl.server.directives.FutureDirectives.$anonfun$onComplete$3(FutureDirectives.scala:47)
elasticmq-1 | at org.apache.pekko.http.scaladsl.util.FastFuture$.$anonfun$transformWith$1(FastFuture.scala:45)
elasticmq-1 | at org.apache.pekko.http.scaladsl.util.FastFuture$.strictTransform$1(FastFuture.scala:49)
elasticmq-1 | at org.apache.pekko.http.scaladsl.util.FastFuture$.$anonfun$transformWith$3(FastFuture.scala:59)
elasticmq-1 | at scala.concurrent.impl.Promise$Transformation.run(Promise.scala:484)
elasticmq-1 | at org.apache.pekko.dispatch.BatchingExecutor$AbstractBatch.processBatch(BatchingExecutor.scala:73)
elasticmq-1 | at org.apache.pekko.dispatch.BatchingExecutor$BlockableBatch.$anonfun$run$1(BatchingExecutor.scala:110)
elasticmq-1 | at scala.runtime.java8.JFunction0$mcV$sp.apply(JFunction0$mcV$sp.scala:18)
elasticmq-1 | at scala.concurrent.BlockContext$.withBlockContext(BlockContext.scala:94)
elasticmq-1 | at org.apache.pekko.dispatch.BatchingExecutor$BlockableBatch.run(BatchingExecutor.scala:110)
elasticmq-1 | at org.apache.pekko.dispatch.TaskInvocation.run(AbstractDispatcher.scala:59)
elasticmq-1 | at org.apache.pekko.dispatch.ForkJoinExecutorConfigurator$PekkoForkJoinTask.exec(ForkJoinExecutorConfigurator.scala:57)
elasticmq-1 | at java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:290)
elasticmq-1 | at java.util.concurrent.ForkJoinPool$WorkQueue.topLevelExec(ForkJoinPool.java:1020)
elasticmq-1 | at java.util.concurrent.ForkJoinPool.scan(ForkJoinPool.java:1656)
elasticmq-1 | at java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1594)
elasticmq-1 | at java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:183)
elasticmq-1 | at com.oracle.svm.core.thread.PlatformThreads.threadStartRoutine(PlatformThreads.java:704)
elasticmq-1 | at com.oracle.svm.core.posix.thread.PosixPlatformThreads.pthreadStartRoutine(PosixPlatformThreads.java:202)
elasticmq-1 | Caused by: scala.MatchError: [Ljava.lang.String;@5155c82 (of class [Ljava.lang.String;)
elasticmq-1 | at spray.json.ProductFormatsInstances.jsonFormat3(ProductFormatsInstances.scala:68)
elasticmq-1 | at spray.json.ProductFormatsInstances.jsonFormat3$(ProductFormatsInstances.scala:67)
elasticmq-1 | at spray.json.DefaultJsonProtocol$.jsonFormat3(DefaultJsonProtocol.scala:30)
elasticmq-1 | at org.elasticmq.rest.sqs.StartMessageMoveTaskActionRequest$.<clinit>(StartMessageMoveTaskDirectives.scala:74)
elasticmq-1 | ... 33 common frames omitted
elasticmq-1 | 23:53:37.998 [Thread-1] INFO org.elasticmq.server.Main$ - ElasticMQ server stopping ...
elasticmq-1 | 23:53:58.840 [elasticmq-pekko.actor.default-dispatcher-10] INFO o.apache.pekko.actor.ActorSystemImpl - Request timeout encountered for request [POST / Strict(128 bytes)]
elasticmq-1 | 23:53:58.985 [elasticmq-pekko.actor.default-dispatcher-10] WARN o.a.pekko.actor.CoordinatedShutdown - Could not addJvmShutdownHook, due to: Shutdown in progress
elasticmq-1 | 23:53:58.985 [elasticmq-pekko.actor.default-dispatcher-10] INFO o.a.pekko.actor.CoordinatedShutdown - Running CoordinatedShutdown with reason [ActorSystemTerminateReason]
elasticmq-1 | 23:53:59.031 [Thread-1] INFO org.elasticmq.server.Main$ - === ElasticMQ server stopped ===
elasticmq-1 exited with code 255
Metadata
Metadata
Assignees
Labels
No labels
