Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Activity
  • Sep 20 23:30

    Aaronontheweb on dev

    added ability to support custom… (compare)

  • Sep 20 23:30
    Aaronontheweb closed #3923
  • Sep 20 23:30
    Aaronontheweb closed #3861
  • Sep 20 23:26
    Aaronontheweb opened #3923
  • Sep 20 23:01
    Aaronontheweb commented #3922
  • Sep 20 22:59
    Aaronontheweb closed #3890
  • Sep 20 22:59
    Aaronontheweb commented #3890
  • Sep 20 22:58
    Aaronontheweb synchronize #3922
  • Sep 20 22:58
    Aaronontheweb opened #3922
  • Sep 20 22:21
    Aaronontheweb commented #3905
  • Sep 20 22:21

    Aaronontheweb on dev

    Fixed Akka.Remote.ResendUnfulfi… (compare)

  • Sep 20 22:21
    Aaronontheweb closed #3914
  • Sep 20 22:21
    Aaronontheweb closed #3905
  • Sep 20 21:07
    Aaronontheweb milestoned #3921
  • Sep 20 21:07
    Aaronontheweb labeled #3921
  • Sep 20 21:07
    Aaronontheweb labeled #3921
  • Sep 20 20:53
    spankr opened #3921
  • Sep 20 18:52
    ismaelhamed commented #3811
  • Sep 20 17:42
    Aaronontheweb commented #3879
  • Sep 20 17:39
    Aaronontheweb commented #3887
Bartosz Sypytkowski
@Horusiath
@corneliutusnea @object concerning visualizers - this may be an interesting idea. Even more: @rogeralsing @Aaronontheweb this mechanism could be used to implement self balancing virtual actors in akka - to migrate the most communicating actors on the same machine under the hood.
Vagif Abilov
@object
@Horusiath thanks for the link, looks also very interesting.
@kevinmcfarlane try double-clicking on user actor. Should expand it.
Aaron Stannard
@Aaronontheweb
@boekabart that's correct - if you don't specify a public-hostname then hostname will be used for both
but the idea is to allow an alias
@cgstevens not with Akka.NET, but I've definitely had this issue in ASP.NET MVC
oh snap, just saw the bit @Danthar posted
@Lejdholt no idea on that stuff :\
Corneliu
@corneliutusnea
@kevinmcfarlane Screenshot? Try to double click on the actor system to open it. Sometimes it reacts a bit slowly. Next check the network tab see if there is a request to the server for the child actors.
Corneliu
@corneliutusnea
@Horusiath I love that idea. It was in my plan to build such a visualize for messages but I don't know where exactly to start. I might look at that code. What I'm working now is an FSM monitor where you can declare your FSM for your actor and then you can monitor the state changes from outside if the actor is actually respecting those. It should make debugging of more complex actors easier.
@object yes, surely I'm open for collaboration. I just need a bit of time to publish this on GH
to11mtm
@to11mtm
Is there any intent to deprecate TypedActor?
Bart de Boer
@boekabart
@cgstevens @Danthar in general, I feel that it's always better to use DateTimeOffset instead of DateTime. DateTime has the problem that 'local' is dependent on system, so doesn't work nice on any wire because local may change.
(DateTimeOffset doesn't have a 'kind' enum but just stores the exact offset from Utc. So 5:45Pm EST sent over any wire to europe, is still going to be 5:45 EST. Then you can ask it 'Local' and you'll have your 23:45 CET or so. )
Roger Johansson
@rogeralsing
@Horusiath cool, but wouldnt it be better if we could have some sort of plugins that activate before/after adding messages to the mailbox
?
Arjen Smits
@Danthar
@boekabart when using datetimes in a system. I always work with UTC. And translate to datetimeoffset with the user locale on the front end where needed.
Spares you from all kinds of problems.
Bartosz Sypytkowski
@Horusiath
@rogeralsing afaik we cannot inject custom code before adding a message to a mailbox
Roger Johansson
@rogeralsing
but we could add such support, that would be a lot better than messing with the mailbox imo
Bartosz Sypytkowski
@Horusiath
yep, agree. But I'd like to hear a Lightbend vision on that too. It would be bad if we add our own API for that, which then might be incompatible with their design
actually inability to intercept message before sending is quite irritating sometimes
Roger Johansson
@rogeralsing
agree
Jaben Cargman
@Jaben
I love the "ah-ha" moment when the state machine mechanics of become/stash etc click for handling remote processes. Very much thanks to the wonderful tutorial. Thanks guys.
Andrey Leskov
@andreyleskov
Hi all. Can we pass Props with DI over the wire? For me - no, as it contains non-serializable ContainerResolver parameter (UnityDependencyResolver, for example). So any DI should be done only for local actors.
Roger Johansson
@rogeralsing
@andreyleskov that is one of the reasons why we want to completely redesign the DI support, it does not play well with remote deployment
Andrey Leskov
@andreyleskov
@rogeralsing thank you for fast answer. Theoretically we can create custom serializer for Resolver class, as it requires only external parameters to function - ActorSystem and container. So we should not serialize it, but just recreate on remote system.
Roger Johansson
@rogeralsing
You can probably do that using ISurrogated, and ISurrogate, on your resolver class. that gives you access to the executing system when deserializing
Andrey Leskov
@andreyleskov
ok, thank you for advice ! will share results
Andrey Leskov
@andreyleskov

Created custom serializer as described in http://getakka.net/docs/Serialization, and it works properly, but getting new error from wire:

[ERROR][05.06.2016 18:04:11][Thread 0062][[akka://LocalSystem/system/endpointManager/reliableEndpointWriter-akka.tcp%3a%2f%2fLocalSystem%40127.0.0.1%3a8090-1/endpointWriter]] AssociationError [akka.tcp://LocalSystem@127.0.0.1:42242] -> akka.tcp://LocalSystem@127.0.0.1:8090: Error [Unknown manifest value] [   at Wire.Serializer.GetDeserializerByManifest(Stream stream, DeserializerSession session)
   at Wire.CodeGenerator.<>c__DisplayClass4_0.<GenerateFieldInfoDeserializer>b__1(Stream stream, Object o, DeserializerSession session)
   at Wire.CodeGenerator.<>c__DisplayClass1_0.<MakeReader>b__0(Stream stream, DeserializerSession session)
   at Wire.CodeGenerator.<>c__DisplayClass4_0.<GenerateFieldInfoDeserializer>b__1(Stream stream, Object o, DeserializerSession session)
   at Wire.CodeGenerator.<>c__DisplayClass1_0.<MakeReader>b__0(Stream stream, DeserializerSession session)
   at Wire.CodeGenerator.<>c__DisplayClass4_0.<GenerateFieldInfoDeserializer>b__1(Stream stream, Object o, DeserializerSession session)
   at Wire.CodeGenerator.<>c__DisplayClass1_0.<MakeReader>b__0(Stream stream, DeserializerSession session)
   at Wire.CodeGenerator.<>c__DisplayClass4_0.<GenerateFieldInfoDeserializer>b__1(Stream stream, Object o, DeserializerSession session)
   at Wire.CodeGenerator.<>c__DisplayClass1_0.<MakeReader>b__0(Stream stream, DeserializerSession session)
   at Wire.Serializer.Deserialize[T](Stream stream)
   at Akka.Serialization.WireSerializer.FromBinary(Byte[] bytes, Type type)
   at Akka.Remote.MessageSerializer.Deserialize(ActorSystem system, SerializedMessage messageProtocol)
   at Akka.Remote.DefaultMessageDispatcher.Dispatch(IInternalActorRef recipient, Address recipientAddress, SerializedMessage message, IActorRef senderOption)
   at Akka.Remote.EndpointReader.<DeliverAndAck>b__17_0(Message msg)
   at System.Collections.Generic.List`1.ForEach(Action`1 action)
   at lambda_method(Closure , Object , Action`1 , Action`1 , Action`1 )
   at Akka.Tools.MatchHandler.PartialHandlerArgumentsCapture`4.Handle(T value)
   at Akka.Actor.ReceiveActor.ExecutePartialMessageHandler(Object message, PartialAction`1 partialAction)
   at Akka.Actor.UntypedActor.Receive(Object message)
   at Akka.Actor.ActorBase.AroundReceive(Receive receive, Object message)
   at Akka.Actor.ActorCell.ReceiveMessage(Object message)
   at Akka.Actor.ActorCell.Invoke(Envelope envelope)]
Cause: Unknown

My config:

   actor {
             #serialize-messages = on
             #serialize-creators = on
             serializers {
                         wire = ""Akka.Serialization.WireSerializer, Akka.Serialization.Wire""
                         unity= ""GridDomain.Node.AkkaMessaging.Routing.UnityDependencyResolverSerializer, GridDomain.Node""
             }

             serialization-bindings {
                                   ""System.Object"" = wire
                                   ""Akka.DI.Unity.UnityDependencyResolver, Akka.DI.Unity"" = unity


             }
Never faced such error before from wire - "Unkown manifest value". Please share any links to read if somebody is familiar with it.
Bartosz Sypytkowski
@Horusiath
@andreyleskov could you show the type definition of element, you're trying to deserialize?
Andrey Leskov
@andreyleskov
@Horusiath I'm trying to pass System.DI().Props() by wire
May be I should register my custom deserializer in wire somehow? Because Props gets deserealized by Wire, and UnityDependencyResolver is nested inside
Andrey Leskov
@andreyleskov
@mebymyself it seems I need to define serializer for whole props class, because serializers are message-based
btw: is there any information about Surrogate ? , akkadotnet/akka.net#1941 is actual
Bartosz Sypytkowski
@Horusiath
@andreyleskov I guess you cannot simply serialize DI'ed props (like you can with normal props)
surrogate is basically class used as replacement solely for serialization needs. To use it, your class must implement ISurrogated interface with a method which will return a serializable instance of a class, that implements ISurrogate mechanism
ISurrogate implements method which can return original object
simonpetty
@simonpetty
hi guys. i'm trying to update an EventStore persistence plugin. is there a way for me to output more logging info from the tests themselves (to work out why they're all currently failing!)?
also, i'm wondering if they're timeout related - any way of increasing the timeouts (from 3 secs it seems)?
Marc Piechura
@marcpiechura
@simonpetty you can use the ITestOutputHelper from xunit, you need to add it as constructor parameter to your test class
Bart de Boer
@boekabart
@Danthar UTC of course, but using what Type?
Arjen Smits
@Danthar
I try to use datetimeoffset as much as possible. But that isn't always possible. When exposing public api's i often have to drop down to Datetime for compatibility reasons.
Bart de Boer
@boekabart
with business level validation on kind=utc ?
Arjen Smits
@Danthar
I treat it like input validation
Finn Neuik
@finnneuik_twitter
hi - is there any way to play a series of events into a PersistentFSM actor to restore its state (in a test)?
or should I use the in-memory journal and retrieve the actor from that?
Bartosz Sypytkowski
@Horusiath
@finnneuik_twitter write events directly to in-memory journal
Finn Neuik
@finnneuik_twitter
ok cool