softwaremill / elasticmq

In-memory message queue with an Amazon SQS-compatible interface. Runs stand-alone or embedded.
https://softwaremill.com/open-source/
Apache License 2.0
2.51k stars 194 forks source link

IO-HTTP ask timed out #19

Closed TomFrost closed 10 years ago

TomFrost commented 10 years ago

I recently upgraded my vagrant box to ubuntu trusty 14.04, and now every time I execute ElasticMQ, I get an ask timeout error:

vagrant@vagrant-ubuntu-trusty-64:~/elasticmq$ java -jar elasticmq-server-0.8.1.jar
13:06:44.161 [main] INFO  org.elasticmq.server.Main$ - Starting ElasticMQ server (0.8.1) ...
13:06:46.470 [main] INFO  o.e.rest.sqs.TheSQSRestServerBuilder - Started SQS rest server, bind address 0.0.0.0:9324, visible server address http://localhost:9324
13:06:47.520 [main] ERROR org.elasticmq.server.Main$ - Uncaught exception in thread: main
akka.pattern.AskTimeoutException: Ask timed out on [Actor[akka://elasticmq/user/IO-HTTP#1257263541]] after [1000 ms]
        at akka.pattern.PromiseActorRef$$anonfun$1.apply$mcV$sp(AskSupport.scala:333) ~[elasticmq-server-0.8.1.jar:0.8.1]
        at akka.actor.Scheduler$$anon$7.run(Scheduler.scala:117) ~[elasticmq-server-0.8.1.jar:0.8.1]
        at scala.concurrent.Future$InternalCallbackExecutor$.unbatchedExecute(Future.scala:599) ~[elasticmq-server-0.8.1.jar:0.8.1]
        at scala.concurrent.BatchingExecutor$class.execute(BatchingExecutor.scala:109) ~[elasticmq-server-0.8.1.jar:0.8.1]
        at scala.concurrent.Future$InternalCallbackExecutor$.execute(Future.scala:597) ~[elasticmq-server-0.8.1.jar:0.8.1]
        at akka.actor.LightArrayRevolverScheduler$TaskHolder.executeTask(Scheduler.scala:467) ~[elasticmq-server-0.8.1.jar:0.8.1]
        at akka.actor.LightArrayRevolverScheduler$$anon$8.executeBucket$1(Scheduler.scala:419) ~[elasticmq-server-0.8.1.jar:0.8.1]
        at akka.actor.LightArrayRevolverScheduler$$anon$8.nextTick(Scheduler.scala:423) ~[elasticmq-server-0.8.1.jar:0.8.1]
        at akka.actor.LightArrayRevolverScheduler$$anon$8.run(Scheduler.scala:375) ~[elasticmq-server-0.8.1.jar:0.8.1]
        at java.lang.Thread.run(Thread.java:744) ~[na:1.7.0_55]
[INFO] [06/09/2014 13:06:47.811] [elasticmq-akka.actor.default-dispatcher-4] [akka://elasticmq/user/IO-HTTP/listener-0] Bound to /0.0.0.0:9324
[INFO] [06/09/2014 13:06:47.823] [elasticmq-akka.actor.default-dispatcher-3] [akka://elasticmq/deadLetters] Message [akka.io.Tcp$Bound] from Actor[akka://elasticmq/user/IO-HTTP/listener-0#-2113371191] to Actor[akka://elasticmq/deadLetters] was not delivered. [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'.

The clincher is that it still binds to the port and is still usable; it's just the inconvenience that my test scripts fail because of that "ERROR" line. Here's the JRE I'm running. The same distribution worked under ubuntu precise:

vagrant@vagrant-ubuntu-trusty-64:~/elasticmq$ java -version
java version "1.7.0_55"
OpenJDK Runtime Environment (IcedTea 2.4.7) (7u55-2.4.7-1ubuntu1)
OpenJDK 64-Bit Server VM (build 24.51-b03, mixed mode)

Not super high priority as it still works, but thought it was worth a report. Let me know if there's any other way I can help, and thanks again for the awesome product!

adamw commented 10 years ago

Can you try 0.8.2? :)

TomFrost commented 10 years ago

Ha, my fault -- didn't even look for a new version before commenting! Thanks for the proactive fix ;-). 0.8.2 works wonderfully.

adamw commented 10 years ago

Yeah, 0.8.2 solves this exact bug :)