Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Activity
  • 16:05
    Zetanova commented #4032
  • Nov 16 16:14
    IgorFedchenko commented #4032
  • Nov 16 13:19
    ismaelhamed synchronize #4042
  • Nov 16 13:17
    ismaelhamed commented #3863
  • Nov 16 11:47
    IgorFedchenko synchronize #4032
  • Nov 16 11:47
    IgorFedchenko commented #4032
  • Nov 16 11:21
    ismaelhamed synchronize #3863
  • Nov 16 11:17
    ismaelhamed edited #3863
  • Nov 16 11:17
    ismaelhamed synchronize #4042
  • Nov 16 09:58
    IgorFedchenko synchronize #4032
  • Nov 16 09:49
    IgorFedchenko synchronize #4032
  • Nov 16 09:45
    IgorFedchenko commented #4032
  • Nov 16 09:17
    ismaelhamed opened #4043
  • Nov 16 09:03
    ismaelhamed opened #4042
  • Nov 16 09:03
    IgorFedchenko commented #4032
  • Nov 16 08:59
    IgorFedchenko synchronize #4032
  • Nov 16 08:57
    IgorFedchenko synchronize #4032
  • Nov 15 22:35
    Aaronontheweb commented #4032
  • Nov 15 20:26
    IgorFedchenko synchronize #4032
  • Nov 15 20:24
    IgorFedchenko commented #4032
Aaron Stannard
@Aaronontheweb
and this is an IIS issue
the reason you're seeing that error is because the transport thread is being aborted
Tamir Dresher
@tamirdresher
Thanks. I'll check
Aaron Stannard
@Aaronontheweb
can only happen if the thread is killed as part of a process restart or the Actor system is shutting down
Tamir Dresher
@tamirdresher
The ActorSystem is running or a dedicated process
Sorry, meant to say: on a dedicated process
to11mtm
@to11mtm
@tamirdresher What about the call itself from the ASP net app to said actorsystem? how is that being done?
I know I've sen that at some point, trying to remember the how/why
Tamir Dresher
@tamirdresher
@to11mtm the ActorSystem is created when the application boots, and then upon the user action, it sends a message by using ActorSystem.ActorSelection(...)
to11mtm
@to11mtm
so typical Static actorsystem instantiated on application_start or similar?
Tamir Dresher
@tamirdresher
all the other messages that are sent are handled without a problem, but somehow, for some reason, this specific message causes the system to fault.
yes
exactly
to11mtm
@to11mtm
and -same- message works fine on on first try, fails on second?
Tamir Dresher
@tamirdresher
yes
and what i did find is that the message is being forwarded to another actor
unlike the others
to11mtm
@to11mtm
Interesting. one other question for a good picture; are you using Json or Wire for serialization?
Tamir Dresher
@tamirdresher
Wire
to11mtm
@to11mtm
I'd suggest MAYBE trying Json.NET, if only because once in a while I've had some issues with the current version of wire still has some edge cases that come up. I've seen errors like that when we send types over that Wire can't handle, but usually there's more stack trace to go with it. Can't say with much confidence given the amount of data I'm looking at, but it's easy to try right? =)
Tamir Dresher
@tamirdresher
right :-) i'll try that and then update. Thanks!
to11mtm
@to11mtm
NP. also curious about the 'forwarded to another actor' part
I'm bored on a sunday, may as well try to help somebody lol
Tamir Dresher
@tamirdresher
@to11mtm After changing to Json, everything works as expected
to11mtm
@to11mtm
YAY I WAS HELPFUL!
Tamir Dresher
@tamirdresher
Absolutely :-)
to11mtm
@to11mtm
You may want to place a ticket describing some of the issue (a test or even sample is immeasurably helpful) at https://github.com/akkadotnet/Hyperion/issues
Hyperion is the fork of Wire that will be used in further Akka releases, so that's the best place to have the issue tracked.
generally speaking however, Make sure anything you serialize is concrete-typed if you can (i.e. don't use Interfaces on messages, don't slam an arbitrary IEnumerable<> into an object field; instead do a ToList() on it first so there's a well known type on both ends)
(Because -that's- how I've seen that error before =D)
to11mtm
@to11mtm
Someone who knows more than me please confirm: There's an option in HOCON to serialize all messages. IFF I understand that correctly, that can help detect some serialization errors before they go across remoting and that can help troubleshoot, they will get published to the eventstream.
Keep in mind that you're going to have a perf penalty when doing that, so it's best used for trobleshooting scenarios.
Tamir Dresher
@tamirdresher
i think you mean this: akka { actor { serialize-messages = on } }
i'll check
to11mtm
@to11mtm
I think that's the one, you can see where it pushes errors to eventstream in the catch of this region: https://github.com/akkadotnet/akka.net/blob/dev/src/core/Akka/Actor/ActorCell.cs#L310
also note that if the serialization 'fails' things will still work local, so the eventstream is still the go to
Arjen Smits
@Danthar
@to11mtm you are correct about the serialize-messages option. That is a good way to detect serialization issues.
to11mtm @to11mtm is just glad he learned something from the groking
Arjen Smits
@Danthar
Nice post and explanation @Horusiath http://bartoszsypytkowski.com/optimizing-event-journals/
Bartosz Sypytkowski
@Horusiath
thx ;)
Arjen Smits
@Danthar
when we release the new implementation, we should put a link to that post in the release notes. It would help in letting people know what changed, why, and how it might impact them
Bartosz Sypytkowski
@Horusiath
When I wrote it, I've seen that it's more something that should be placed in a docs than inside blog post ;)
Arjen Smits
@Danthar
true :)
wauw
like... feels like the nail in the coffin for java
to11mtm
@to11mtm
@Horusiath Hey I was poking at some code thinking about akkadotnet/Hyperion#8 and noticed something that may be useful depending on how elegant MVP versus final solution needs to be...
But it looks like you can set readonly values on a struct if it was created by GetUninitializedObject: Sample here http://share.linqpad.net/499axc.linq
Bartosz Sypytkowski
@Horusiath
@to11mtm thx, but for some reason this doesn't work :)
once I'll find out why it doesn't work, maybe I'll find out how to make it work :)
Bartosz Sypytkowski
@Horusiath
the funny part is that we actually fill readonly fields in a the same way, you're using in you're using. But it throws
to11mtm
@to11mtm
HAHAHA wtf
Bartosz Sypytkowski
@Horusiath
I've fixed that, I understand what I changed, but I don't understand how was that supposed to change anything