These are chat archives for akkadotnet/akka.net

15th
Aug 2017
Saepul Ramdani
@blackclavus
Aug 15 2017 05:57 UTC
Hello guys. I got a CommandFailed (queue is full) every time I sent a payload via UDP if my ByteString's payload has buffer with length more than 1. Is this known issue?
Bartosz Sypytkowski
@Horusiath
Aug 15 2017 06:18 UTC
@blackclavus could you set an issue on github (ideally with example)?
Saepul Ramdani
@blackclavus
Aug 15 2017 08:23 UTC
issue added: #2995
Arsene T. Gandote
@Tochemey
Aug 15 2017 09:54 UTC
Hello geeks, please where are the old sample codes that was in the repo? It seems everything has vanished since the era of NET.Core
Alex Valuyskiy
@alexvaluyskiy
Aug 15 2017 11:10 UTC
is there a cluster config option for the quarantine period?
i cannot see one in the default config unless im missing it
jalchr
@jalchr
Aug 15 2017 12:36 UTC
Hi, Thanks for v1.3 ... great work.
I have a question about ACID messages in a cluster. How can we achieve "transaction based messaging" ... if there is such a thing?
With that, I mean guaranteed delivery and rollback support. So for example a number of nodes collaborate to do something, but when an actor "fails", all work is rolledback.
Really guys, message throughput is good, but reliability is better.
I believe "guaranteed delivery" should be the default. Think TCP vs UDP.
Maxim Cherednik
@maxcherednik
Aug 15 2017 12:41 UTC
@jalchr I guess you do this yourself
David Rivera
@mithril52
Aug 15 2017 12:43 UTC
At-Least-Once-Delivery might be what you are looking for: http://getakka.net/articles/persistence/at-least-once-delivery.html
Maxim Cherednik
@maxcherednik
Aug 15 2017 12:44 UTC
it's not exactly this
there is no rollback functionality
David Rivera
@mithril52
Aug 15 2017 12:44 UTC
No, its not transaction, but is a form of "guratneed delivery"
Maxim Cherednik
@maxcherednik
Aug 15 2017 12:46 UTC
I would go for a distributed process manager/saga...
Bartosz Sypytkowski
@Horusiath
Aug 15 2017 13:19 UTC
@jalchr
  1. The standard pattern for that is Saga. It's not supported out of the box, but nothing stands against building one by yourself. I know there are several examples of it written in Scala. It's pretty easy to convert it to C#.
  2. In some cases, you may want to use CRDT data structures. They have state replicated over multiple nodes and are guaranteed to always converge to the same consistent state. Akka.DistributedData is the plugin for them.
dmitrynogin
@dmitrynogin
Aug 15 2017 13:54 UTC
Hi, is there any easy way to get akka.net docs in a PDF format? Any hints on how to generate one?
Sean Gilliam
@sean-gilliam
Aug 15 2017 15:42 UTC
if you're okay with alpha quality and it being unofficial, then Akka.NET manual
I haven't had time to update and submit it though.
dmitrynogin
@dmitrynogin
Aug 15 2017 16:23 UTC
Thank you @sean-gilliam a lot!
Andrew Young
@ayoung
Aug 15 2017 17:05 UTC
@alexvaluyskiy is a project for Serilog in the list of contribs or is that something i can help with?
Andrew Young
@ayoung
Aug 15 2017 17:06 UTC
ok then :)
@aaron i see the list of contribs. how could i get involved? netstandard support for NUnit3 is something we would benefit from too.
i'd be willing to help. just need some guidance to get started
Aaron Stannard
@Aaronontheweb
Aug 15 2017 17:09 UTC
should have an answer for you in a sec
wrapping up something that will help
spent about a day working on that. Wrote a template for the dotnet new command that brings down a version of our build system that can be used to ship .NET Standard components out of the box, with tests, perf tests, DocFx documentation, et al
set that up so it'd be easier to port our plugins over to v1.3 and the new dotnet tooling
so for any of our existing plugins like NUnit3, which we should port over
what I'd recommend doing is re-recreating the solution structure using that dotnet new template
that way you don't have to manually convert the project to MSBuild 15
and then once you have that stuff setup and the build system seems to be working
you should also add the following lines to the inside of the MSBuild file: https://github.com/akkadotnet/Akka.Logger.Serilog/blob/dev/src/Akka.Logger.Serilog/Akka.Logger.Serilog.csproj#L5
<TargetFrameworks>net45;netstandard1.6</TargetFrameworks>
Aaron Stannard
@Aaronontheweb
Aug 15 2017 17:24 UTC
that's all the build system really needs to create two binaries, one for .NET 4.5 and one for .NET Standard inside the unit tests and the nuget package
does that make sense @ayoung ?
Andrew Young
@ayoung
Aug 15 2017 17:28 UTC
yep. so from what i understand, all we need to do is use the new template to upgrade to the new build system and then target the two frameworks?
Aaron Stannard
@Aaronontheweb
Aug 15 2017 17:28 UTC
in theory
Akka.NET is participating in the .NET Foundation's summer hackfest starting next week: https://dotnetfoundation.org/blog/net-summer-hackfest-update-1-session-project-announcements
and most of that is going to be focused on converting all of our plugins in the https://github.com/AkkaNetContrib/ org to .NET Standard
setup that template to institutionalize the knowledge it takes to run a build system like ours
I've tested it on some new projects locally and it works great - FAKE file automatically finds the solution file and just runs itself using some naming conventions
but I'm sure there's some sharp edges in there somehow
(I also setup that template because I have a bunch of internal projects I need to convert to .NET Standard and didn't feel like editing XML all day long)
Andrew Young
@ayoung
Aug 15 2017 17:34 UTC
ok cool. what does this mean WRT the hackfest? are we gearing up the work to be done during those 2 weeks? or can i just get started on it?
Aaron Stannard
@Aaronontheweb
Aug 15 2017 17:34 UTC
you can get started on it now
the Hackfest is mostly just to help get .NET developers who are interested in participating in OSS some structure and guidance
and so it's structured around a particular time of year because myself and some of the other Akka.NET core team members are committed to being available in Gitter et al to help the participants get started
Andrew Young
@ayoung
Aug 15 2017 17:36 UTC
ok. so it is officially unofficial :)
or artificially official?
Aaron Stannard
@Aaronontheweb
Aug 15 2017 17:36 UTC
but since I'm already here and you already have a project you want to work on
you can go for it :p
yeah the Hackfest is fairly unstructured
Andrew Young
@ayoung
Aug 15 2017 17:37 UTC
just curious, why is Serilog not a contrib project?
Aaron Stannard
@Aaronontheweb
Aug 15 2017 17:37 UTC
some of the Akka.Persistence, DI, and Logging modules are used by the core team extensively
we're committed to maintaining those ones
Andrew Young
@ayoung
Aug 15 2017 17:37 UTC
ah ok.
Aaron Stannard
@Aaronontheweb
Aug 15 2017 17:37 UTC
Serilog, Autofac, SqlServer, Cassandra
the rest of the modules in the contrib org are not - so we're looking to bring aboard members who want to be a part of the AkkaNetContrib org and own some of those plugins
most of them require relatively little maintenance
others like Alpakka are a bit more ambitious
Andrew Young
@ayoung
Aug 15 2017 18:07 UTC
@Aaronontheweb once i make those changes, what do i need to know about the build/CI and publishing of the packages?
Aaron Stannard
@Aaronontheweb
Aug 15 2017 18:09 UTC
some of those projects, like the NUnit one
our CI expects those commands to be there already
i.e. build.cmd BuildRelease
build.cmd Nuget
build.cmd RunTests
it'll just work
if you wish to create a new plugin you'll need to follow a similar convention
I added a detailed README that ships with each project whenever you use that template here
that explains how the commands work more or less
Aaron Stannard
@Aaronontheweb
Aug 15 2017 18:19 UTC
@ayoung I just updated the VCS root on our TeamCity for the Akka.TestKit.NUnit
since we moved it out of the Akka.NET org into AkkaNetContrib
everything should work as expected I think
Andrew Young
@ayoung
Aug 15 2017 19:59 UTC
any idea why i would be getting deadletters to akka://mms-fk/system/distributedPubSubMediator?
Andrew Young
@ayoung
Aug 15 2017 20:10 UTC
probably because the mediator is not started on the SeedNode :)
Andrew Young
@ayoung
Aug 15 2017 23:22 UTC
adding akka.extensions = ["akka.cluster.pubsub.DistributedPubSub"] to the config and i get an error
["akka.cluster.pubsub.DistributedPubSub"] is not an 'ExtensionId', skipping...