These are chat archives for akkadotnet/akka.net

15th
Dec 2016
to11mtm
@to11mtm
Dec 15 2016 04:36
@Aaronontheweb Am I allowed to ask what's up with wi^H^HHyperion?
Aaron Stannard
@Aaronontheweb
Dec 15 2016 06:34
@to11mtm we'll be making an announcement about that soon, but largely it's going to be our fork of Wire that we maintain going forward as the default serializer for Akka.NET. Wire's license was recently changed to GPLv3, which is a total nonstarter / anathema for most commercial applications since it's a hard copy-left license. Hyperion is still licensed under Apache 2.0 and that's what we'll be using instead, so the NuGet package for the default serializer beginning in Akka.NET 1.5 will be that instead
TL;DR; it's a change we're making to protect our users, the overwhelming majority of whom use Akka.NET in commercial applications
in general, anything Akka.NET uses must be licensed under a permissive license due to the nature of our role as infrastructure software
BSD, MIT, Apache 2.0
anything not in that sphere can't be taken as a dependency
so the current version of Wire is still licensed under Apache 2.0, which is fine
but future ones will be GPLv3
Hyperion is a fork of wire from before that license change
and will be actively maintained by our project for use with Akka.NET and any other technology that needs polymorphic serialization
Aaron Stannard
@Aaronontheweb
Dec 15 2016 06:57
@to11mtm in general though, parting thought before I head to bed here
we're an OSS project
nothing about our roadmap, design rationale, or our choice of dependencies
and anything in that arena
is ever off limits for discussion
always feel free to ask
the answer may sometimes be "we don't know yet :p"
but we'll figure it out when that's the case :p
our goal is to make sure that .NET developers have good tools they can use for solving hard problems, and that those tools be understandable and widely accessible
so I'm grateful we have this chatroom as a platform where our users can teach us what we need to do better
(believe me, the core team learns a ton from the questions all of you ask)
Aaron Stannard
@Aaronontheweb
Dec 15 2016 07:03
and I'm also grateful for being able to do the reverse: bounce our ideas and plans off of the people who depend on it
Toshko Andreev
@Ravenheart
Dec 15 2016 07:03
how many people are in the Akka.NET team?
Aaron Stannard
@Aaronontheweb
Dec 15 2016 07:03
fluctuates over time
but in general
between 6-8
many of whom who have been working on the project for 2-3 years now
Maxim Cherednik
@maxcherednik
Dec 15 2016 07:04
@Aaronontheweb I will keep asking then :)
Aaron Stannard
@Aaronontheweb
Dec 15 2016 07:05
@maxcherednik damn right
I've learned from you directly - you were one of the people who got my ass in gear for stabilizing Akka.Cluster in 1.1 :p
Maxim Cherednik
@maxcherednik
Dec 15 2016 07:06
:)
Aaron Stannard
@Aaronontheweb
Dec 15 2016 07:06
so yeah, you have an impact just by being here and asking questions
never doubt that
there's lots of contributors working on different things at different times too
have one hero in particular who's working his ass off on .NET Core support, another on Akka.Streams, another on Akka.Persistence, another on plugin CI stuff
Maxim Cherednik
@maxcherednik
Dec 15 2016 07:07
btw... I've got a question regarding the cluster monitoring... and I don't really know what is the best way to ask it... Here, stackoverflow, somewhere else.... Cause it's not really a question.... more like a discussion... but I am afraid the useful part of the answer will be lost in this chat
Aaron Stannard
@Aaronontheweb
Dec 15 2016 07:08
I'm about to fall asleep here
so I'll get back to you in the AM, I promise!
Maxim Cherednik
@maxcherednik
Dec 15 2016 07:08
ok... next time then... I will start from somewhere :)
Aaron Stannard
@Aaronontheweb
Dec 15 2016 07:08
leave it in chat and tag my name with it
and i'll answer
:+1:
Damian Reeves
@DamianReeves
Dec 15 2016 12:11
Is there any anticipated date for when we can expect Akka.Persistence to be out of pre-release mode
Bartosz Sypytkowski
@Horusiath
Dec 15 2016 12:54
@DamianReeves I need to ma diff in commits between our version and akka on the jvm. But it's close to be ready. Ofc we're talking about akka.persistence itself and not it's backend plugins ;)
Damian Reeves
@DamianReeves
Dec 15 2016 12:58
of course
Bartosz Sypytkowski
@Horusiath
Dec 15 2016 13:16
after a quick look for the changes on akka jvm side, missing things on our side are:
  • LoadSnapshotFailure event (as snapshotting is optional)
  • RecoveryTimeout event (when actor recovery takes too long)
  • snapshot support for persistent FSM
  • PersistentView removal (as it's replaced with persistence queries)
Damian Reeves
@DamianReeves
Dec 15 2016 14:14
Is theFSM intended for external use... I'm implementing a Saga pattern and was wondering if I can use it in cases where I don't want to bring in a ref to Akka.Persistence and use PersistentFSM
Aaron Stannard
@Aaronontheweb
Dec 15 2016 19:36
think I've got a fix for that benchmarking issue with NBench and the false positives
testing it out now
petabridge/NBench#153
to11mtm
@to11mtm
Dec 15 2016 22:03
@Aaronontheweb thanks for the feedback... I'm guessing a certain level of onus is on end-devs in the meantime to make sure we don't 'accidentally' upgrade to a version of Wire out-of-apache till then? Part of the reason I'm asking is the current version of wire on nuget was published 12/6, which is 'after' apache got removed but 'before' it went GPL3. Looks like 0.7.1 gets pulled by default at least.
Aaron Stannard
@Aaronontheweb
Dec 15 2016 22:26
got it
we'll publish a version of Hyperion soon then and switch over to that
Damian Reeves
@DamianReeves
Dec 15 2016 22:54
Hyperion? Is that a new name for Wire?
Aaron Stannard
@Aaronontheweb
Dec 15 2016 22:54
yeah, it's our fork of it - you can see the previous conversation from yesterday explaining the rationale
TL;DR; Wire is GPLv3 now
no bueno for commercial users
(which is almost all of you)
Damian Reeves
@DamianReeves
Dec 15 2016 22:58
why was it changed is probably a long answer
Aaron Stannard
@Aaronontheweb
Dec 15 2016 23:00
probably
important thing is just to not even go there
in terms of using something GPLv3'd in production
so we'll publish a version of Hyperion and switch over from Wire to that for the new beta-channel serializer
I don't see a reason why we can't get that done before Christmas
Chris Ochs
@gamemachine
Dec 15 2016 23:31
So I was planning on using lighthouse to provide stable seed nodes. But that doesn't seem like it's going to work well being that I'm using a cluster singleton on my app nodes. Ideas on best way to handle this?
Ah ok looks like I can use roles here
Aaron Stannard
@Aaronontheweb
Dec 15 2016 23:33
yep
that's the way to do it
Damian Reeves
@DamianReeves
Dec 15 2016 23:43
so when unit testing, whats the best way to test that sending a message results in a particular child actor being created?

I've got:

Command==>SagaActor+==>SagaInstanceActor

Should I use ActorOfAsTestActorRef here? Or is that bad form?
Chris Ochs
@gamemachine
Dec 15 2016 23:58
so lighthouse is in role lighthouse, app nodes are in role 'game'. I put singleton { role = "game"} in both configs. If I stop the game node, lighthouse keeps trying to connect to it and eventually say's leader cannot perform it's role. starting the game node back up it rejoins and all is well
although I haven't tested yet if the singleton is actually running on the game node