Hello hakkers, does anyone have an idea of how to monitor association with artery? Before migrating to artery it was pretty easy - subscribing to akka.remote.RemotingLifecycleEvent, right now i only receive GracefulShutdownQuarantinedEvent when associated system goes down. Also can not find anything in the doc. Please help
Hi, what is your purpose of consuming those events? It’s not that we publish events for everything that is going on in Akka so this approach in classic remoting was rather ad-hoc and special.
Corresponding events should be logged in Artery.
there are debug and info events logged as I’ve noticed when subscribed to classOf[AnyRef]. Although these depend on loglevel or akka logging settings. Of course it’s possible to f.e. ping the remote actor to find the connection state to either stash or forward incoming messages. However dedicated events were very practical. Could you point on which these are now in artery? Version: 2.5.23
I still don’t fully understand what you would use the information for. You say stash incoming messages? You mean stash outgoing messages if the outgoing TCP connection is broken?
If that is what you are looking for I think that is exactly what Artery TCP will do automatically until a new connection could be established and the queue isn’t full.
Well yes, generally to have different behaviours if a target actor is down/unavailable. Stash incoming messages or fail over sending to another actor. For example I want to tolerate downtime of the target actor for maximum three minutes, but after three minutes drop the messages to this actor. Currently solved it by ping-ponging, but if the information is already present, why not to expose it?
Ok, I have created issue https://github.com/akka/akka/issues/28003 for further consideration.
Is there any way I can help?
There are some decision to be made first, how we should emit such events. We have been busy with the 2.6 release, but this is not far away on our radar.