Closed tpdi closed 6 years ago
Hey @tpdi – sorry you're having problems. There were a few LoadService
issues I fixed a little while back. Are you able to check out the latest version (0.0.11) and see if you still experience the same problem?
Absolutely I will do this. I'm on vacation next week, but will try out 0.0.11 as soon as I'm back.
Thanks for your quick response, and for your very useful library.
Sounds good – I'm confident that'll fix things, so I'll close this issue for now. Let me know how you get on!
After upgrading from 0.0.6 to 0.0.7, LoadService fails to load PrometheusStatsReceiver. It's the same in 0.0.8. I'm using finagleVersion = "18.3.0" and and scalaVersion = "2.12.4"
I see the stack trace below at program start.
The work-around is to explicitly instantiate the stats receiver, but when using version 0.0.6, I didn't need to do this:
It does make me a bit nervous to instantiate the PrometheusStatsReceiver and not do anything with it other than assigning to a local val.
[error] Aug 31, 2018 12:00:57 PM com.twitter.app.LoadService$ $anonfun$apply$7 [error] SEVERE: LoadService: failed to instantiate 'com.samstarling.prometheusfinagle.PrometheusStatsReceiver' for the requested service 'com.twitter.finagle.stats.StatsReceiver' [error] java.lang.NullPointerException [error] at com.twitter.util.ProxyTimer.schedulePeriodically(Timer.scala:148) [error] at com.twitter.util.Timer.schedule(Timer.scala:56) [error] at com.twitter.util.Timer.schedule$(Timer.scala:53) [error] at com.twitter.util.ProxyTimer.schedule(Timer.scala:139) [error] at com.twitter.util.Timer.schedule(Timer.scala:66) [error] at com.twitter.util.Timer.schedule$(Timer.scala:65) [error] at com.twitter.util.ProxyTimer.schedule(Timer.scala:139) [error] at com.samstarling.prometheusfinagle.PrometheusStatsReceiver.(PrometheusStatsReceiver.scala:24)
[error] at com.samstarling.prometheusfinagle.PrometheusStatsReceiver.(PrometheusStatsReceiver.scala:13)
[error] at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
[error] at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
[error] at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
[error] at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
[error] at java.lang.Class.newInstance(Class.java:442)
[error] at com.twitter.app.LoadService$.$anonfun$apply$7(LoadService.scala:73)
[error] at scala.collection.TraversableLike.$anonfun$flatMap$1(TraversableLike.scala:241)
[error] at scala.collection.mutable.ResizableArray.foreach(ResizableArray.scala:59)
[error] at scala.collection.mutable.ResizableArray.foreach$(ResizableArray.scala:52)
[error] at scala.collection.mutable.ArrayBuffer.foreach(ArrayBuffer.scala:48)
[error] at scala.collection.TraversableLike.flatMap(TraversableLike.scala:241)
[error] at scala.collection.TraversableLike.flatMap$(TraversableLike.scala:238)
[error] at scala.collection.AbstractTraversable.flatMap(Traversable.scala:104)
[error] at com.twitter.app.LoadService$.apply(LoadService.scala:62)
[error] at com.twitter.finagle.util.LoadService$.apply(LoadService.scala:14)
[error] at com.twitter.finagle.stats.LoadedStatsReceiver$.(LoadedStatsReceiver.scala:18)
[error] at com.twitter.finagle.stats.LoadedStatsReceiver$.(LoadedStatsReceiver.scala)
[error] at com.twitter.finagle.stats.FinagleStatsReceiver$.(LoadedStatsReceiver.scala:44)
[error] at com.twitter.finagle.stats.FinagleStatsReceiver$.(LoadedStatsReceiver.scala)
[error] at com.twitter.finagle.netty4.HashedWheelTimer$.(Netty4HashedWheelTimer.scala:80)
[error] at com.twitter.finagle.netty4.HashedWheelTimer$.(Netty4HashedWheelTimer.scala)
[error] at com.twitter.finagle.netty4.Netty4HashedWheelTimer.(Netty4HashedWheelTimer.scala:108)
[error] at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
[error] at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
[error] at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
[error] at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
[error] at java.lang.Class.newInstance(Class.java:442)
[error] at com.twitter.app.LoadService$.$anonfun$apply$7(LoadService.scala:73)
[error] at scala.collection.TraversableLike.$anonfun$flatMap$1(TraversableLike.scala:241)
[error] at scala.collection.mutable.ResizableArray.foreach(ResizableArray.scala:59)
[error] at scala.collection.mutable.ResizableArray.foreach$(ResizableArray.scala:52)
[error] at scala.collection.mutable.ArrayBuffer.foreach(ArrayBuffer.scala:48)
[error] at scala.collection.TraversableLike.flatMap(TraversableLike.scala:241)
[error] at scala.collection.TraversableLike.flatMap$(TraversableLike.scala:238)
[error] at scala.collection.AbstractTraversable.flatMap(Traversable.scala:104)
[error] at com.twitter.app.LoadService$.apply(LoadService.scala:62)
[error] at com.twitter.finagle.util.LoadService$.apply(LoadService.scala:14)
[error] at com.twitter.finagle.util.DefaultTimer$.(DefaultTimer.scala:68)
[error] at com.twitter.finagle.util.DefaultTimer$.(DefaultTimer.scala)
[error] at com.samstarling.prometheusfinagle.PrometheusStatsReceiver.(PrometheusStatsReceiver.scala:15)
[error] at com.fitbit.device.syncbuffer.SyncBufferApp$.makePrometheusServer(SyncBufferApp.scala:177)
[error] at com.fitbit.device.syncbuffer.SyncBufferApp$.main(SyncBufferApp.scala:67)
[error] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
[error] at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
[error] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
[error] at java.lang.reflect.Method.invoke(Method.java:498)
[error] at com.twitter.app.App.$anonfun$nonExitingMain$3(App.scala:246)
[error] at scala.Option.foreach(Option.scala:257)
[error] at com.twitter.app.App.nonExitingMain(App.scala:245)
[error] at com.twitter.app.App.nonExitingMain$(App.scala:223)