I have a very simple REST service (using Finch and Finagle) running on my local machine. I created a ParrotLauncherConfig based on the Iago
. After initially building Iago, I was able to run a short (1 minute) test at a requestRate of 10. That was the only time I've had a successful run-- every attempt since has errored out, even after rebuilding Iago and even deleting my installation and re-cloning the repository and rebuilding. I never received an error message from Iago; the run would just abruptly end before a single request had been issued. After adding "customLogSource = """try { error("exception") } catch { case ex => println(ex.printStackTrace()) }""" (from Julian's example), I was able to get the following output:
sh scripts/local-parrot.sh
stdout: /usr/lib/jvm/java-8-openjdk-amd64/bin/java -server -XX:+UseConcMarkSweepGC -verbosegc -XX:+PrintGCDetails -XX:+PrintGCTimeStamps -XX:+PrintGCDateStamps -XX:+UseParNewGC -Xloggc:gc-server.log -Xmx4000m -Xms4000m -XX:NewSize=512m com.twitter.parrot.server.ServerMain -f config/target/parrot-server.scala
stdout: /usr/lib/jvm/java-8-openjdk-amd64/bin/java -server -XX:+UseConcMarkSweepGC -verbosegc -XX:+PrintGCDetails -XX:+PrintGCTimeStamps -XX:+PrintGCDateStamps -XX:+UseParNewGC -Xloggc:gc-feeder.log -Xmx1744m -Xms1744m -XX:NewSize=512m com.twitter.parrot.feeder.FeederMain -f config/target/parrot-feeder.scala
stdout: ()
stderr: Jan 11, 2016 7:50:20 AM com.twitter.finagle.Init$ apply
stderr: INFO: Finagle version 6.11.1 (rev=83de11a66b498351418433bcad00cbf4b7dc495c) built at 20140122-140449
stderr: java.lang.RuntimeException: exception
stderr: at scala.sys.package$.error(package.scala:27)
stderr: at scala.Predef$.error(Predef.scala:142)
stderr: at Evaluator__parrot$2dfeeder_5744c390a84a50b18eff3bc765a481e85cec76f8$$anon$1.<init>((inline):30)
stderr: at Evaluator__parrot$2dfeeder_5744c390a84a50b18eff3bc765a481e85cec76f8.apply((inline):13)
stderr: at Evaluator__parrot$2dfeeder_5744c390a84a50b18eff3bc765a481e85cec76f8.apply((inline):1)
stderr: at com.twitter.util.Eval.applyProcessed(Eval.scala:197)
stderr: at com.twitter.util.Eval.apply(Eval.scala:167)
stderr: at com.twitter.ostrich.admin.RuntimeEnvironment.loadConfig(RuntimeEnvironment.scala:238)
stderr: at com.twitter.ostrich.admin.RuntimeEnvironment.loadRuntimeConfig(RuntimeEnvironment.scala:264)
stderr: at com.twitter.parrot.feeder.FeederMain$.main(FeederMain.scala:26)
stderr: at com.twitter.parrot.feeder.FeederMain.main(FeederMain.scala)
I know Iago itself requires scala 2.10 (and my service was built using 2.11), but I tried building and running Iago with 2.10.3 and still got a RuntimeException before any requests were issued. Right now I'm completely stumped...I have no idea why I would get 1 successful run but every subsequent attempt errors out (even with the same config that I used originally, which was essentially a copy of the web.scala example). Does anyone have any suggestions? Is Iago actively being used / developed? (It looks like the last change to the project was 10 months ago).