These are chat archives for akkadotnet/akka.net

13th
Apr 2017
ErrCode
@ErrCode
Apr 13 2017 00:27
congrats on the latest release! Will switch over.
Ismael Hamed
@ismaelhamed
Apr 13 2017 08:21
Unable to find a version of 'Akka.Streams' that is compatible with 'Akka.Persistence.Query 1.2.0.35-beta constraint: Akka.Streams (>= 1.2.0.35-beta)'.
Alex Valuyskiy
@alexvaluyskiy
Apr 13 2017 08:27
@ismaelhamed it is a bug. Will fix it soon
Arsene T. Gandote
@Tochemey
Apr 13 2017 09:28
Hello I can read that the new 1.2 has this beautiful feature and I quote
Akka.Remote now uses DotNetty for its transport layer
However I would like to know whether the Akka.IO has been rebuilt around the DotNetty lib?
The reason I ask that question is due this :
     * SocketChannel does not exists in the .NET BCL - This class is an adapter to hide the differences in CLR & JVM IO.
     * This implementation uses blocking IO calls, and then catch SocketExceptions if the socket is set to non blocking. 
     * This might introduce performance issues, with lots of thrown exceptions
     * TODO: Implements this class with .NET Async calls
     */
Alex Valuyskiy
@alexvaluyskiy
Apr 13 2017 09:34
No, Akka IO does not use DotNetty
Arsene T. Gandote
@Tochemey
Apr 13 2017 09:34
@alexvaluyskiy Any reasons why?
Arsene T. Gandote
@Tochemey
Apr 13 2017 10:09
Hello I need some quick education here. What is the difference between persisting data to db and Akka Persistence?
mwardm
@mwardm
Apr 13 2017 11:24
@Tochemey Akka.Persistence provides you with some framework support to allow actors to save messages (/ "events") into the database and have those messages automatically fed back to them when they (re)start, so that they can restore their state by replaying their messages. These messages are saved in a single table with actor-type, actor-id, message-order, message-data format (conceptually, anyway).
@Tochemey If you have an actual requirement for saving data into a database in a particular format (e.g. normal relational stuff), then you'd write your own code in your actors (or maybe some separate DB ones) to do that.
At least, that's how I'm thinking of it. (Not sure if anyone's using any ORM / EntityFramework / other style persistence mechanisms to save their own data. I dislike dropping all the way back to ADO.Net. Seems so primitive!)
Arsene T. Gandote
@Tochemey
Apr 13 2017 11:30
@mwardm Thank you
Bartosz Sypytkowski
@Horusiath
Apr 13 2017 17:30
@Tochemey Akka.IO is just an actor wrapper over native sockets and files, it exposes all of the socket events as messages. DotNetty is full-blown framework, that hides a lot of low-level details and brings it's own concurrency control (which akka.io handles through actors)
Chris Ochs
@gamemachine
Apr 13 2017 18:58
what is the suggested way to setup custom supervision strategy for sharded actors?
Bartosz Sypytkowski
@Horusiath
Apr 13 2017 19:01
@gamemachine sharded actors have arbitrary managed lifecycle, I don't see how supervision strategy would apply here
Chris Ochs
@gamemachine
Apr 13 2017 19:01
hmm so it appears sharded actors are meant to be long lived only really.
Bartosz Sypytkowski
@Horusiath
Apr 13 2017 19:03
you can use passivation mechanics to stop them, but passivation is not part of supervision chain and they will be recreated anyway if some message will arrive
Chris Ochs
@gamemachine
Apr 13 2017 19:03
our use case is we want short term actors that have a globally unique id that we can reach from anywhere in a cluster.
we use a database to create and lookup the id's
so probably best to stick with the initial approach I had, which is just remote deploy
or actually probably simpler to have an actor that just creates them on demand, and it supervises them