Closed lashchenko closed 7 years ago
@lashchenko - I had a similar issue, but my approach was at including or excluding the libraries. Dependencies in my build.sbt include:
"io.kamon" % "sigar-loader" % "1.6.6", "io.kamon" % "kamon-autoweave_2.11" % "0.6.0", "io.kamon" % "kamon-core_2.11" % "0.6.7", "io.kamon" %% "kamon-riemann" % "0.6.7", "io.kamon" % "kamon-akka_2.11" % "0.6.3", "io.kamon" % "kamon-akka-remote_2.11" % "0.6.3", "io.kamon" % "kamon-system-metrics_2.11" % "0.6.7", "io.kamon" % "kamon-log-reporter_2.11" % "0.6.8", "org.aspectj" % "aspectjweaver" % "1.8.10", "org.aspectj" % "aspectjrt" % "1.8.10", "org.aspectj" % "aspectjtools" % "1.8.10"
When I disable or remove akka-remote above, I can see that messages upstream is trying to send to routees via router (Round-Robin Pool) get through and was able to receive an ack back to the sender from each of those routees. This ack is essential for me and this is broken when akka-remote package is included. I have played with fork in sbt set to false, and passing in javaagent (for aspectj) as a javaOptions setting, it would throw aspectj missing error.
Wanted to share my experience and see if you've got further updates on your attempts to solve this!
By the way, I have tried with local routees setting you have mentioned. It didn't matter whether the setting was on or off.
Best, Kalyan
@ganaakruti thank you for information.
I see that this issue was fixed in the PR https://github.com/kamon-io/kamon-akka/pull/19#issuecomment-317011007 This fix was included to kamon-akka 0.6.8 version.
@ivantopo I updated my example to the latest version (0.6.8) and I don't see this issue more. Should we close this ticket now?
@lashchenko - thanks for providing the feedback. I have re-introduced kamon with version indicated above. Initial tests seem to be running satisfactory, grabbing and pushing metrics to Riemann. Yes this ticket can be closed from my end.
Here's the relevant snipped from my build.sbt:
imports: import com.typesafe.sbt.SbtAspectj._
resolvers portion includes: "Kamon Repository Snapshots" at "http://snapshots.kamon.io", "clojars" at "https://clojars.org/repo"
libraryDependencies ++ = Seq(..., "io.kamon" % "kamon-akka-2.4_2.11" % "0.6.8", "io.kamon" % "kamon-akka-http_2.11" % "0.6.8", "org.aspectj" % "aspectjweaver" % "1.8.10", "io.kamon" % "kamon-riemann_2.11" % "0.6.7", "com.aphyr" % "riemann-java-client" % "0.4.1" ...)
javaOptions in Test ++ = Seq(..., s"-javaagent:${baseDirectory.value}/custom_lib/aspectjweaver-1.8.10.jar")
Finally, lazy val root...
lazy val root = (project in file(".")) .settings(commonSettings:*) .settings(aspectjSettings: *)
test application.conf modules section for kamon includes following:
modules { kamon-log-reporter.auto-start = no kamon-log-reporter.requires-aspectj = no kamon-system-metrics.auto-start = no kamon-system-metrics.requires-aspectj = no kamon-akka.auto-start = yes kamon-akka.requires-aspectj = no }
@lashchenko @ganaakruti thanks for your feedback!!
Akka messages can be successfully sent (and delivered) to router that configured as
allow-local-routees = off
when kamon used in project. Messages that are sent to router with configurationallow-local-routees = on
just disappear. I prepared a small example that makes it easy to reproduce the problem.