These are chat archives for akkadotnet/akka.net

13th
Jun 2017
Bert Lamb
@BertLamb
Jun 13 2017 13:34
looks like akka.net doesn't have a journal that supports event adapters yet, am I correct?
Robin Cox
@RobinJDCox
Jun 13 2017 14:11

We're seeing an error when doing some testing - "Circuit Breaker is open; calls are failing fast". After this point our persistence (currently using Redis) stops deleting snapshots properly and is causing a couple of other issues...

Can we get Akka to log the reason for the circuit breaker opening when this happens?

Vagif Abilov
@object
Jun 13 2017 14:25
@RobinJDCox we are also getting this error (using SQL Server plugin):
Unhandled message from akka://OddjobUpload/system/akka.persistence.snapshot-store.sql-server : SaveSnapshotFailure<meta: SnapshotMetadata<pid: fd:fd:mdb~47d6e22d89f54b9396e22d89f5ab9375~47d6e22d_1394.mp4, seqNr: 0, timestamp: 0001.01.01>, cause: Akka.Pattern.OpenCircuitException: Circuit Breaker is open; calls are failing fast
at Akka.Pattern.Open.Invoke(Func`1 body)
at Akka.Pattern.CircuitBreaker.<WithCircuitBreaker>d__33.MoveNext()>
The error doesn't persist, suddenly there are hundreds of such exceptions raised, then things look OK. Would like to find out more about the reason.
David Rivera
@mithril52
Jun 13 2017 16:31
Is it still not possible to use DI with remote deployment?
Bartosz Sypytkowski
@Horusiath
Jun 13 2017 16:46
@BertLamb afaik most (if not all of them) support event adapters
Bert Lamb
@BertLamb
Jun 13 2017 16:47
@Horusiath is there an example somewhere of event adapting?
Daniel Söderberg
@raskolnikoov
Jun 13 2017 16:48
Is it possible to i
Bartosz Sypytkowski
@Horusiath
Jun 13 2017 16:51
@BertLamb example tagging-adapter and example confg - keep in mind that {{ is used to ommit C# string interpolation, valid HOCON uses single {
@RobinJDCox @object you're right, there should be last exception notification. As this is related to persistence, it's probably some kind of error related to datastore connection (maybe timeout?)
Bert Lamb
@BertLamb
Jun 13 2017 16:55
@Horusiath thanks! trying to ensure the EventStore implementation I have works properly and supports event adapting
Bartosz Sypytkowski
@Horusiath
Jun 13 2017 16:57
@BertLamb basically all journals (every one inheriting from WriteJournalBase journal) implement event adapters automatically.
Daniel Söderberg
@raskolnikoov
Jun 13 2017 16:58
Is it possible to use Consul as Cluster provider for Akka?
Bartosz Sypytkowski
@Horusiath
Jun 13 2017 16:58
Also if your journals supports akka.persistent.query (esspecially EventsByTag read journals), you can check that as part of test kit
Bert Lamb
@BertLamb
Jun 13 2017 16:58
ok cool, I haven't ported the query bit yet
Bartosz Sypytkowski
@Horusiath
Jun 13 2017 17:00
@raskolnikoov not as cluster provider, but it can be used for cluster discovery (providing seed nodes for potential cluster candidates). I've started a repository which provides common mechanics for cluster discovery for various 3rd party libraries, but haven't time to finish it yet: however consul implementation is the closest to be finished
David Rivera
@mithril52
Jun 13 2017 17:46
IS there a complete example of using the cluster client anywhere?
David Rivera
@mithril52
Jun 13 2017 18:01
I am very confused as to how the cluster client works. Has anyone used it?
Bartosz Sypytkowski
@Horusiath
Jun 13 2017 18:42
@mithril52 essential concept works like that: on the cluster side you register some actor as a "service" in cluster receptionist. This actor will be accessible from its relative path. On the client side, you use cluster client to send messages to a target "service". Any of the services/actors may receive that message, as long as the path is right i.e. :
// cluster side
var actor = system.ActorOf(Props.Create<MyService>(), "my-service");  // relative actor path is: /user/my-service
 ClusterClientReceptionist.Get(system).RegisterService(actorRef);

// client side
system.Settings.InjectTopLevelFallback(ClusterClientReceptionist.DefaultConfig());
var settings = ClusterClientSettings.Create(system);
var client = system.ActorOf(ClusterClient.Props(settings));
client.Tell(new ClusterClient.Send("/user/my-service", new MyMessage())); // relative path to service registered previously
there's an example in the docs - if it's confusing to you, please tell what could be done to improve it
Bartosz Sypytkowski
@Horusiath
Jun 13 2017 19:07
@yeswanthnadella sounds like you got an exception while replying actor's state from events persisted in the event journal. Most probable cases are broken data store connection, broken configuration or inability to deserialize events persistent in the past.
David Rivera
@mithril52
Jun 13 2017 20:16
Yeah, whats not so clear is the configuration. It would be good to see some working examples of how it gets configured
David Rivera
@mithril52
Jun 13 2017 21:41
Sorry, that was to @Horusiath
Andrew Young
@ayoung
Jun 13 2017 22:54
if you have a lot of nodes in a cluster that you want to startup when you're quickly iterating your code in development, do any of you run some kind of startup script to start all of them or just manually start each process?
just curious what others have done to solve this