These are chat archives for akkadotnet/akka.net

18th
Nov 2015
Yin Zhang
@melcloud
Nov 18 2015 00:17
And sqlServer persistence doesn't use it... :worried:
Roger Johansson
@rogeralsing
Nov 18 2015 05:49
@Aaronontheweb wut, we have serialization tests for Wire in akka.net tests?
Bartosz Sypytkowski
@Horusiath
Nov 18 2015 06:29
@melcloud this is actually changed on dev branch, not yet on nuget
Steffen Forkmann
@forki
Nov 18 2015 07:42
@stefansedich let's say it's less likely to happen. For a real fix: is there a way to detect if a file contains text data?
Bartosz Sypytkowski
@Horusiath
Nov 18 2015 07:46
@forki depends on definition, xml file is also build from text data ;)
Steffen Forkmann
@forki
Nov 18 2015 07:47
Yes xml I want to print too
Bartosz Sypytkowski
@Horusiath
Nov 18 2015 07:47
btw. Has anyone of you used Akka.Monitoring.ApplicationInsights? cc @Aaronontheweb
Steffen Forkmann
@forki
Nov 18 2015 07:47
Everything that's not "binary" and starts your speaker
Bartosz Sypytkowski
@Horusiath
Nov 18 2015 07:48
nice :)
Steffen Forkmann
@forki
Nov 18 2015 07:50
little bit of background: if ppackage download fails we print the file contents. Because there are firwalls blocking us and replace the download with some xml with information
unfortunately this is only one of the reasons a download might fail
it can also be just corrupted
so yesterday I changed that and we try 3 times. only the third trial will print the file contents
Yin Zhang
@melcloud
Nov 18 2015 07:50
@Horusiath Ah, I see. I just about to fork and submit a pull request. Thanks, Do you know when it will be release?
Steffen Forkmann
@forki
Nov 18 2015 07:51
if there is no way to detect if a file is text, then I willl have to change the error message to something static like "a firewall might have blocked the download. please look into the file and see if it contains text with further information"
Bartosz Sypytkowski
@Horusiath
Nov 18 2015 07:52
@forki from what I've read, you can only reduce the risk:
  • binary files tends to have unusually lot consecutive number of \0.
  • text files (surprising ;) ) tend to have a lot of \r\n sequences
@melcloud it should have been released about month ago ;) hopefully we'll release it until end of this month
maruns
@maruns
Nov 18 2015 08:15
Hello, I would like to ask if anybody knows is it possible to send messages between akka.net and typesafe akka?
Tom Rathbone
@chillitom
Nov 18 2015 08:24
@Horusiath once I've given this mysql persistence adaptor a thorough testing shall I transfer it to the akkadotnet organization on github?
Steffen Forkmann
@forki
Nov 18 2015 08:25
@Horusiath I guess a generic message is good enough. /cc @ilkerde it's better than let your soundcard go crazy
Bartosz Sypytkowski
@Horusiath
Nov 18 2015 08:26
@chillitom you have my blessing ;) @Aaronontheweb could we create a repository for Akka.Persistence.MySql?
Tom Rathbone
@chillitom
Nov 18 2015 08:28
i think I can just transfer ownership of my existing one
humph, doesn't appear to work as under the covers it still thinks it's the postgres repo and that already exists
let me know when the repo exists and I'll open a PR
Yin Zhang
@melcloud
Nov 18 2015 08:52
@Horusiath great! thanks
Tom Rathbone
@chillitom
Nov 18 2015 11:44
@Horusiath just trying to implement a persistent actor using the existing Akka.FSharp .. I see what you mean now!
Abdulrahman Hawa
@abed-hawa
Nov 18 2015 12:32

Hi guys, I have a weird problem with my actor, it keeps saying started then stopped, but I have no clue whats happening under the hood:

2015-11-18 16:23:57.6168|DEBUG|Akka.Remote.Transport.ProtocolStateActor|Started (Akka.Remote.Transport.ProtocolStateActor)
2015-11-18 16:24:27.6578|DEBUG|Akka.Remote.Transport.ProtocolStateActor|Stopped
2015-11-18 16:24:42.6344|DEBUG|Akka.Remote.Transport.AkkaProtocolManager|now supervising akka://converter/system/transports/akkaprotocolmanager.tcp.0/akkaProtocol-tcp%3a%2f%2fconverter%40192.168.56.1%3a60161-107
2015-11-18 16:24:42.6344|DEBUG|Akka.Remote.Transport.ProtocolStateActor|Started (Akka.Remote.Transport.ProtocolStateActor)
2015-11-18 16:25:12.6871|DEBUG|Akka.Remote.Transport.ProtocolStateActor|Stopped
2015-11-18 16:25:27.6402|DEBUG|Akka.Remote.Transport.AkkaProtocolManager|now supervising akka://converter/system/transports/akkaprotocolmanager.tcp.0/akkaProtocol-tcp%3a%2f%2fconverter%40192.168.56.1%3a60162-108
2015-11-18 16:25:27.6402|DEBUG|Akka.Remote.Transport.ProtocolStateActor|Started (Akka.Remote.Transport.ProtocolStateActor)

It's doing the start/stop on every message sent, but actor doesn't execute, how can I probably check whats happening?
Roger Johansson
@rogeralsing
Nov 18 2015 12:39
@abed-hawa maybe it throws an exception in its constructor?
Abdulrahman Hawa
@abed-hawa
Nov 18 2015 12:57

@rogeralsing I'm initialising my actor like this:
ActorSystem = ActorSystem.Create("converter", config);
actor = ActorSystem.ActorOf<App_Code.ActorName>("ActorName");

its not raising any exceptions

How can I log an exception like that if its happening in realtime?
runtime*
Tom Rathbone
@chillitom
Nov 18 2015 13:33
if I load a persistent actor and immediately send it some messages to process followed by a GracefulStop it appears that the actor stops without processing any messages from the inbox.. is this to be expected?
Tom Rathbone
@chillitom
Nov 18 2015 14:42
is there any way to disable type naming in the JSON serialization? why is this needed?
Dmitriy Tadyshev
@ditadi
Nov 18 2015 15:07
@rogeralsing It seems like Wire serializer fails for FSharpSet, I cloned wire repo and wrote quick test. Is it supposed to work with FSharp sets yet?
I tested a FSharp list and that works just fine, I may just refactor my code to use a list instead of set for now.
Aaron Stannard
@Aaronontheweb
Nov 18 2015 16:57
@abed-hawa check the message
not the actor
Aaron Stannard
@Aaronontheweb
Nov 18 2015 18:22
@Aaronontheweb
hmmm... I've seen the multi-node test runner hang twice on this:Step 1/1: Writing test state to: D:\BuildAgent\work\49b164d63843fb4\TestResults\Akka.Cluster.Tests.MultiNode-635834644789423697.json
including right now
literally just writing to a file
Aaron Stannard
@Aaronontheweb
Nov 18 2015 19:15
logged #1433 for it
just saw it happen again
really weird
@chillitom in order for serialization to be fully transparent, it must be fully qualified
all statically typed, in other words
although I thought the Google Protocol Buffer envelope around the JSON blob had the type name burned into it
so it may not be necessary to do it again inside the JSON
that's a better question to ask @rogeralsing
Roger Johansson
@rogeralsing
Nov 18 2015 19:19
@chillitom we need to support subtype serialization. e.g. if you have a property of type animal but the value is of type cat, then the deserializaed value needs to be materialized back as cat
Aaron Stannard
@Aaronontheweb
Nov 18 2015 19:20
@rogeralsing thanks :+1:
Roger Johansson
@rogeralsing
Nov 18 2015 19:20
also if you have arrays of objects, like we do for constructor arguments for remote deployment, then we need the type for all the args
Tom Rathbone
@chillitom
Nov 18 2015 19:24
okay, makes sense
do you think it could be exposed as an option? we are simply using f# discriminated unions as 'Event types, would be nice if they could be kept short and sweet
in the postgres adaptor theres a comment about restricting the ticks column
Bartosz Sypytkowski
@Horusiath
Nov 18 2015 19:27
@chillitom in general, when you use persisted events, never let other party decide how should they be serialized
use your own serializer instead
Aaron Stannard
@Aaronontheweb
Nov 18 2015 19:28
cc @davidflerlage regarding Postgres plugin
Tom Rathbone
@chillitom
Nov 18 2015 19:28
was wondering if someone could explain "restricting created_at_ticks to the range [0,10) to ensure that there are no precision differences in the opposite direction"
I haven't applied such a constraint in the MySQL adaptor as unsure of the reasons behind it
Tom Rathbone
@chillitom
Nov 18 2015 19:35
@Horusiath thanks for the advice, I'll do that
Aaron Stannard
@Aaronontheweb
Nov 18 2015 22:19
man, I can't get a single build to pass right now with all of these racy spec failures
even a PR for fixing one of them! :p
only happens on the el cheapo Azure boxes
and not my dev machine
Christian Duhard
@cduhard
Nov 18 2015 22:22
Has anyone seen an issue in Akka.Persistence where the state update falls behind writing to the persistence store?
it seems UpdateState is falling behind on hight throughput
Persist claims this shouldn't happen (obv)
Yin Zhang
@melcloud
Nov 18 2015 22:31
Hi guys, I need some help with IIS and actor system. Last night, I receive Information regarding "Remoting shutdowon" from my asp.net application, and then my windows service which connects through akka remote throws AssociationError. The problem is that once the remote shutdown in asp.net application, it doesn't come back until I hit the IIS with a http request. Is there anyway I can make sure that the actor system will be restart in this case?
Aaron Stannard
@Aaronontheweb
Nov 18 2015 22:32
yep, so this is a common issue with IIS
you basically have to configure IIS to never, ever, under any circumstances, recycle your ASP.NET application if it goes idle
Yin Zhang
@melcloud
Nov 18 2015 22:32
@Aaronontheweb I try to set the idle time to zero, but it still happens...
Christian Duhard
@cduhard
Nov 18 2015 22:32
state changes can't happen our of order
*out
Yin Zhang
@melcloud
Nov 18 2015 22:33
@Aaronontheweb Maybe I should write another windows service which request the http end pint X time a day?
Aaron Stannard
@Aaronontheweb
Nov 18 2015 22:34
might be another IIS setting overriding it
which would be weird
protip though: your Windows Service should only push to the web app if people are actually using it
if no one is using it and you do a server-push, nothing happens
so I'd design your service relationship that knowing that
that the two services don't always have to both be up - IIS does weird shit and is yet another example of Microsoft trying way too hard to think for the developer
so rather than hack IIS, design your Windows Service so it's still "up" and not constantly trying to call someone who isn't home
that's just my 0.02
Graeme Bradbury
@GraemeBradbury
Nov 18 2015 22:38
@Aaronontheweb re #1433 is anything written at all? or is the hang on first write?
Aaron Stannard
@Aaronontheweb
Nov 18 2015 22:38
@GraemeBradbury can't tell at the moment
never seen it happen locally
Christian Duhard
@cduhard
Nov 18 2015 22:39
is @Horusiath the persistence guru?
Aaron Stannard
@Aaronontheweb
Nov 18 2015 22:39
yessir, him and @Zetanova and @maxim-s
I'm the Akka.Remote and Cluster worker bee ;)
Christian Duhard
@cduhard
Nov 18 2015 22:40
i'm just an annoying user :smile:
Aaron Stannard
@Aaronontheweb
Nov 18 2015 22:40
haha
no that's what this chatroom is for
Christian Duhard
@cduhard
Nov 18 2015 22:41
annoying users?
Aaron Stannard
@Aaronontheweb
Nov 18 2015 22:41
asking questions :p
Christian Duhard
@cduhard
Nov 18 2015 22:41
heh
Yin Zhang
@melcloud
Nov 18 2015 22:42
@Aaronontheweb My application is actually the other way around. It pushs from asp.net to the windows service. I think something else is not right, the service seems to gate association request.
@Aaronontheweb BTW, find what is wrong with IIS. Need to set idle to zero as well as regular time interval in recycle option...
Christian Duhard
@cduhard
Nov 18 2015 22:45
@Horusiath and @Zetanova are euro's correct?
Aaron Stannard
@Aaronontheweb
Nov 18 2015 22:45
@melcloud ah, that woulddo
do it*
@cduhard correct!
well actually not sure about @Zetanova but I thinkso
Christian Duhard
@cduhard
Nov 18 2015 22:45
so there are unlikely to be here after 5EST :)
*they're
is 1.1 the next release?
Aaron Stannard
@Aaronontheweb
Nov 18 2015 22:46
we'll be doing a 1.0.5 very soon
like tomorrow possibly
Christian Duhard
@cduhard
Nov 18 2015 22:46
ahh, is there an issue way to see what's been fixed since 1.04?
maybe my issue has been addressed
Christian Duhard
@cduhard
Nov 18 2015 22:47
awesome, thanks
Aaron Stannard
@Aaronontheweb
Nov 18 2015 22:48
@stefansedich would you mind reviewing this? akkadotnet/akka.net#1434
Christian Duhard
@cduhard
Nov 18 2015 22:49
any reason Akka.Persistence.EventStore isn't official?
Aaron Stannard
@Aaronontheweb
Nov 18 2015 22:49
we don't want to own every Akka.* contributor package
I actually want to make a bunch of the "official" ones "unofficial"
and kick them out of our organization
Christian Duhard
@cduhard
Nov 18 2015 22:50
sounds heavy
Graeme Bradbury
@GraemeBradbury
Nov 18 2015 22:50
@Aaronontheweb what sort of repro rate are you seeing for the hang?
Christian Duhard
@cduhard
Nov 18 2015 22:50
who are the unlucky ones?
Yin Zhang
@melcloud
Nov 18 2015 22:50
Guys, should I use FSM? Is it more efficient than multiple Becomes?
Aaron Stannard
@Aaronontheweb
Nov 18 2015 22:50
writing build server support for all of them is insane
takes up a lot of my time that I'd rather use working on Akka.NET
no one is "unlucky" as of yet
I'd rather see someone who needs Akka.Persistence.{YOUR DATABASE HERE} run their own project
see the ecosystem can be more organic
@GraemeBradbury it's very consistent now
like 90%
any build that's made it to the MN stage today has hit it
since this morning
and one other one is too
Yin Zhang
@melcloud
Nov 18 2015 22:56
@Aaronontheweb Mmm... Leave some to Community is actually sensible. I quite like using build system such as gitlab CI which I can control build by using a yml file. I don't like to configure teamcity build...
Christian Duhard
@cduhard
Nov 18 2015 22:57
@Aaronontheweb i hear ya
Aaron Stannard
@Aaronontheweb
Nov 18 2015 22:59
going to RDP into this build agent and see what's up
I did change the build images yesterday
running VS2015 now
Yin Zhang
@melcloud
Nov 18 2015 23:00

@Aaronontheweb Ouch... this is my problem... When the asp.net app dies, the windows service send a message to itself for reconnecting every 20 seconds... which result this:
Akka.Remote.InvalidAssociation: Invalid address: akka.tcp://crmapi@dc:14600 ---> Akka.Remote.Transport.InvalidAssociationException: Association failure ---> System.OutOfMemoryException: Exception of type 'System.OutOfMemoryException' was thrown.

Looks like I need to let the IIS app to announce "I am alive" instead...

Aaron Stannard
@Aaronontheweb
Nov 18 2015 23:00
wonder if there's something up with running out of disk space or something
going to check the error log
Graeme Bradbury
@GraemeBradbury
Nov 18 2015 23:00
@Aaronontheweb from what I can tell it looks like one or both message sinks are hanging on the very first write.
Aaron Stannard
@Aaronontheweb
Nov 18 2015 23:01
based on the logs?
Graeme Bradbury
@GraemeBradbury
Nov 18 2015 23:02
yeah from the logs.
Both actors share Path.GetFullPath(... and File.WriteAllText(..
Aaron Stannard
@Aaronontheweb
Nov 18 2015 23:04
so I RDPed in
looks like the Akka.Cluster test results were written just fine
but never saw any for Akka.Remote
lol damn
every one of these builds creates 1GB of stuff
that includes the source repo
and the output from running .\build.cmd all
Graeme Bradbury
@GraemeBradbury
Nov 18 2015 23:28
okay i'm outta ideas, gonna get some sleep.
Aaron Stannard
@Aaronontheweb
Nov 18 2015 23:48
@GraemeBradbury So I just noticed that the files actually do get written to disk successfully (RDP into the build server to verify) but this call never appears to return. It's like the process for the multinode test runner never exits.
it never gets a chance to move onto the Akka.Remote multi-node tests though
in case that information helps