clarencen/lshift — Issue #111: Visualize misconfigurations
Author: clarencen
Created: 2011-11-14 22:41:45+00:00
State: open

It would be could to redirect configuration errors such as the one below to the diagnostics manager so that these can be rendered in the UI. This doesn't have to be the full stack trace, but some visual indication in the UI that that something has been misconfigured would be useful. This avoids having to watch the agent log for this type of issue.

@@@
09:25:38.802 [Thread-7] ERROR PairActorSupervisor:126 - Could not resolve actor for key: diffa/Staging7
09:25:38.803 [Thread-7] ERROR PairActorSupervisor:127 - Found 0 actors: [Lakka.actor.ActorRef;@594b7042
09:25:38.818 [Thread-7] ERROR ChangesHandler:54 - Request failed
net.lshift.diffa.kernel.util.MissingObjectException: Requested diffa/Staging7 does not exist
at net.lshift.diffa.kernel.actors.PairActorSupervisor.findActor(PairActorSupervisor.scala:128) ~[diffa-kernel-0.9-SNAPSHOT.jar:na]
at net.lshift.diffa.kernel.actors.PairActorSupervisor.findActor(PairActorSupervisor.scala:119) ~[diffa-kernel-0.9-SNAPSHOT.jar:na]
at net.lshift.diffa.kernel.actors.PairActorSupervisor.propagateChangeEvent(PairActorSupervisor.scala:98) ~[diffa-kernel-0.9-SNAPSHOT.jar:na]
at net.lshift.diffa.kernel.frontend.Changes$$anonfun$onChange$1.apply(Changes.scala:58) ~[diffa-kernel-0.9-SNAPSHOT.jar:na]
at net.lshift.diffa.kernel.frontend.Changes$$anonfun$onChange$1.apply(Changes.scala:40) ~[diffa-kernel-0.9-SNAPSHOT.jar:na]
at scala.collection.mutable.ResizableArray$class.foreach(ResizableArray.scala:60) ~[scala-library-2.9.0-1.jar:na]
at scala.collection.mutable.ArrayBuffer.foreach(ArrayBuffer.scala:44) ~[scala-library-2.9.0-1.jar:na]
at net.lshift.diffa.kernel.frontend.Changes.onChange(Changes.scala:40) ~[diffa-kernel-0.9-SNAPSHOT.jar:na]
at net.lshift.diffa.messaging.json.ChangesHandler$$anonfun$1$$anonfun$apply$1.apply(ChangesHandler.scala:36) ~[diffa-json-messaging-0.9-SNAPSHOT.jar:na]
at net.lshift.diffa.messaging.json.ChangesHandler$$anonfun$1$$anonfun$apply$1.apply(ChangesHandler.scala:36) ~[diffa-json-messaging-0.9-SNAPSHOT.jar:na]
at scala.collection.Iterator$class.foreach(Iterator.scala:652) ~[scala-library-2.9.0-1.jar:na]
at scala.collection.immutable.VectorIterator.foreach(Vector.scala:621) ~[scala-library-2.9.0-1.jar:na]
at scala.collection.IterableLike$class.foreach(IterableLike.scala:73) ~[scala-library-2.9.0-1.jar:na]
at scala.collection.immutable.Vector.foreach(Vector.scala:36) ~[scala-library-2.9.0-1.jar:na]
at net.lshift.diffa.messaging.json.ChangesHandler$$anonfun$1.apply(ChangesHandler.scala:36) ~[diffa-json-messaging-0.9-SNAPSHOT.jar:na]
at net.lshift.diffa.messaging.json.ChangesHandler$$anonfun$1.apply(ChangesHandler.scala:36) ~[diffa-json-messaging-0.9-SNAPSHOT.jar:na]
at scala.Function1$$anonfun$andThen$1.apply(Function1.scala:49) ~[scala-library-2.9.0-1.jar:na]
at net.lshift.diffa.messaging.json.AbstractJSONHandler$$anonfun$skeleton$2.apply(AbstractJSONHandler.scala:95) ~[diffa-json-messaging-0.9-SNAPSHOT.jar:na]
at net.lshift.diffa.messaging.json.AbstractJSONHandler$$anonfun$skeleton$2.apply(AbstractJSONHandler.scala:95) ~[diffa-json-messaging-0.9-SNAPSHOT.jar:na]
at net.lshift.diffa.messaging.json.AbstractJSONHandler$$anonfun$defineRpc$1.apply(AbstractJSONHandler.scala:83) ~[diffa-json-messaging-0.9-SNAPSHOT.jar:na]
at net.lshift.diffa.messaging.json.AbstractJSONHandler$$anonfun$defineRpc$1.apply(AbstractJSONHandler.scala:81) ~[diffa-json-messaging-0.9-SNAPSHOT.jar:na]
at net.lshift.diffa.messaging.json.AbstractJSONHandler.handleRequest(AbstractJSONHandler.scala:44) ~[diffa-json-messaging-0.9-SNAPSHOT.jar:na]
at net.lshift.diffa.messaging.amqp.AmqpConsumer.handleMessage(AmqpConsumer.scala:98) [diffa-amqp-messaging-0.9-SNAPSHOT.jar:na]
at net.lshift.diffa.messaging.amqp.AmqpConsumer$$anon$2.run(AmqpConsumer.scala:68) [diffa-amqp-messaging-0.9-SNAPSHOT.jar:na]
at java.lang.Thread.run(Thread.java:619) [na:1.6.0_16]
@@@