Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Activity
  • Jan 27 22:16
    dependabot-preview[bot] synchronize #3985
  • Jan 27 22:16

    dependabot-preview[bot] on nuget

    Bump FsCheck.Xunit from 2.9.0 t… (compare)

  • Jan 27 22:16
    dependabot-preview[bot] edited #3985
  • Jan 27 22:15
    dependabot-preview[bot] edited #3985
  • Jan 27 22:15
    dependabot-preview[bot] synchronize #3986
  • Jan 27 22:15

    dependabot-preview[bot] on nuget

    Bump NUnit from 3.6.1 to 3.12.0… (compare)

  • Jan 27 22:15
    dependabot-preview[bot] synchronize #3985
  • Jan 27 22:15

    dependabot-preview[bot] on nuget

    Bump FsCheck.Xunit from 2.9.0 t… (compare)

  • Jan 27 22:15
    dependabot-preview[bot] edited #3986
  • Jan 27 22:15
    dependabot-preview[bot] edited #3985
  • Jan 27 22:15
    dependabot-preview[bot] synchronize #4066
  • Jan 27 22:15

    dependabot-preview[bot] on nuget

    Bump FSharp.Quotations.Evaluato… (compare)

  • Jan 27 22:15
    dependabot-preview[bot] edited #4066
  • Jan 27 22:15
    dependabot-preview[bot] edited #4149
  • Jan 27 22:14
    Aaronontheweb synchronize #4128
  • Jan 27 22:14

    Aaronontheweb on nuget

    (compare)

  • Jan 27 22:14

    Aaronontheweb on dev

    Bump Hyperion from 0.9.11 to 0.… (compare)

  • Jan 27 22:14
    Aaronontheweb closed #4149
  • Jan 27 22:13
    dependabot-preview[bot] edited #3986
  • Jan 27 22:13
    dependabot-preview[bot] edited #3985
PinkyBrain
@PinkyBrain_gitlab
This sounds like an implementation of the roundrobin router :P
AndreSteenbergen
@AndreSteenbergen
I was just typing that... it is the router
PinkyBrain
@PinkyBrain_gitlab
hah, cool! i will give this a go, thanks for the help
AndreSteenbergen
@AndreSteenbergen
you can alse go for the router
;)
the throttler is an adoptation from the aggregator discussed: https://bartoszsypytkowski.com/dont-ask-tell-2/
PinkyBrain
@PinkyBrain_gitlab
I need to create the throttling actor from inside a method on a static class, would I have to pass that method the context in order to create the child?
or is there a way to pass the actor ref and create it from that?
AndreSteenbergen
@AndreSteenbergen
You can pass IActorRefs everywhere, that's the location transparency
You can create the when you have a context, actorsystem, or actor itself
Context.ActorOf, or actorSystem.ActorOf
PinkyBrain
@PinkyBrain_gitlab
the context can only be accessed from within the actor class though
if I'm in a static class method I can't see the Context, right?
and I don't have the system either
I guess I should create that child actor outside the static method and just pass it that actorref
Shukhrat Nekbaev
@snekbaev
https://github.com/petabridge/akkadotnet-code-samples/tree/master/TestKit#how-do-i-change-the-configuration-of-the-testactorsystem
is it possible to use App.config for that or is it not recommended? Tried, but it seems to be ignored by default, however, managed to make it work via:
public SomeActor() : base(ConfigurationFactory.Load())
{
}
AndreSteenbergen
@AndreSteenbergen
Hey guys, are there some benchmarks about persistence? I am trying to find out which persistance layer is best for my need, I am trying to store high numbers of actor journals. I can't keep it all in memory, so I need some disc persistence. But I also need it to be fast.
Jessie Wadman
@JessieWadman

I'm having a bit of trouble after updating to latest Akka 1.3.8 and Hyperion 0.9.8. I'm getting deserialization errors where before I didn't have any with 1.3.2 and 0.9.6.

The exception happens when one cluster node sends a message to another, with a message that consists of a Guid, string and a byte[]

It looks like Hyperion is not picking the correct value serializer for the message content.
Has anyone else seen this?

The exception I'm getting is:

Association with remote system akka.tcp://... has failed; address is now gated for 5000 ms. Reason is: [System.InvalidCastException: Unable to cast object of type 'System.Byte[]' to type 'System.String'.
at lambda_method(Closure , Stream , DeserializerSession )
at lambda_method(Closure , Stream , DeserializerSession )
at Hyperion.Serializer.DeserializeT
at Akka.Serialization.HyperionSerializer.FromBinary(Byte[] bytes, Type type)
at Akka.Serialization.Serialization.Deserialize(Byte[] bytes, Int32 serializerId, String manifest)
at Akka.Remote.Serialization.MessageContainerSerializer.FromBinary(Byte[] bytes, Type type)
at Akka.Serialization.Serialization.Deserialize(Byte[] bytes, Int32 serializerId, String manifest)
at Akka.Remote.DefaultMessageDispatcher.Dispatch(IInternalActorRef recipient, Address recipientAddress, Payload message, IActorRef senderOption)

Shukhrat Nekbaev
@snekbaev
say, actor sends three messages and I'm interested only in testing the third one. Is my understanding correct that to be able to test the third message I can't just "cherry pick it from all response messages", but rather I need to either:
a) add ExpectMsg<MessageOne>, ExpectMsg<MsgTwo> to basically skip over the ones I'm not interested and then do one more ExpectMsg<MessageThree> and assert against the result
b) add IgnoreMessages with a predicate of everything but MessageThree and then add ExpectMsg<MessageThree> and assert the result
Shukhrat Nekbaev
@snekbaev
what is the recommended way to test stashing in the actor?
Andrey Leskov
@andreyleskov
Hey all, seems like DI-ed props still cannot be sent over the wire in cluster environment, is it true ? akkadotnet/Akka.DI.AutoFac#14
Arjen Smits
@Danthar
yes
our focus has been on other stuff.
Sean Killeen
@SeanKilleen

Hey all, I'm seeing some different behavior in an Akka .NET demo app after upgrading packages. Wondering if some behavior changed that I missed. I'm not confident enough to say that it's an actual issue but I've ruled out everything except the package upgrades I think.

After upgrading from Akka 1.0.8 to 1.3.8, it appears that Sender.Path is unexpectedly identified as deadLetters for an actor that's just receiving text and writing it to the console. In the older version, the path is showing as expected.

I've got repo with a branch that you can pull side by side and compare the upgrades and demos. As far I can tell, the packages are the only things that were updated, and I updated each to the latest stable.

Questions:

  • Is it worth filing a bug in the Akka repo?
  • Am I missing something?
Sean Killeen
@SeanKilleen

Update: yes of course I was missing something. :laughing: I was sending messages to actors from within a console app directly instead of another actor. So of course there's no reference to the sender. The difference is that in the old implementation, the Sender was defaulted to akka://all-systems/ which didn't quite alert me to the issue.

So I approve of the current behavior! :thumbsup:

Arjen Smits
@Danthar
:+1:
Arsene
@Tochemey

Hello I am getting this error from withing ReceiveAsync :

There is no active ActorContext, this is most likely due to use of async operations from within this actor.Complete

Please assist

Arjen Smits
@Danthar
how are you using ReceiveAsync ?
im using it alot in some of my projects. but incidentally async await is used in every occasion
AndreSteenbergen
@AndreSteenbergen
Are you awaiting all async calls? It could also be continuation is on another thread. ConfigureAwait goud help you out, ContinueWith is also tricky, continueing won't have the correct context. Without code it is hard to help.
I got that exception creating a multi threaded SourceLogic, calling actor code in more then one thread, also got these exceptions.
Stijn Herreman
@stijnherreman
In FSM.When(...) you can use state.StateData and this.StateData. Is there any reason to prefer one over the other?
PinkyBrain
@PinkyBrain_gitlab
how should I implement Receive<T> if my T is a generic type? trying to call receive for MyType<int> and MyType<string> doesn't compile
must I use an untyped actor?
Alex Hofer
@alexhofer
Hey all, if I wanted to increase the timeout of Akka so when I debug using breakpoints my actor systems don't disassociate after a few seconds which setting do I use, I'm using clustering, and theres a few different timeout choices.
Roel Brook
@Rainmaker52
Hi all. Small question. The docs on getakka.net say that "UntypedActor API is recommended for C# 7 users.". Does that mean I should not be using ReceiveActor anymore? At all?
Bartosz Sypytkowski
@Horusiath
@Rainmaker52 no, it's just an advice - since you can switch/case over types in C# 7.
@alexhofer probably a good idea for contribution would be to provide some switch in configuration that will allow to dissassociate debugging from heartbeat timekeeper
Ilchert
@Ilchert
hello! I would like to use StreamRefs, but it will be available only from 1.4. When are you going to realize 1.4 version?
Lutando Ngqakaza
@Lutando
Anyone know what
Rejected to persist event type [Akka.Cluster.Sharding.PersistentShardCoordinator+ShardRegionRegistered] with sequence number [1] for persistenceId [/system/sharding/MyCoordinatorActor/singleton/coordinator] due to [Self referencing loop detected for property 'Provider' with type 'Akka.Cluster.ClusterActorRefProvider'. Path 'Region.Underlying.Mailbox.Dispatcher.Configurator.Prerequisites.Settings.System.Provider.RemoteDaemon'.]
this happens when i switch my cluster persistence from inmem to a sql plugin
Simon McConnell
@Unthred
I really love how just taking the time to ask a question forces you to explain what you are trying to do and the act of doing so solves your problem for you!
Thanks for being my potential Rubber Duck!
Bartosz Sypytkowski
@Horusiath
@Lutando are you using some custom serializer? My guess is that your persistence serializer is not able to correctly serialize IActorRef
@Ilchert we'll working hard to deliver v1.4. I know that we'll have at least one patch release before them
Roman Golenok
@shersh
Hi guys, where I can find roadmap for Akka-net ?
Bartosz Sypytkowski
@Horusiath

@shersh I don't think there's a written version of actual one. That being said, we have some plans in movement:

For v1.4:

  • A native multi-datacenter cluster support (major blocker right now)
  • StreamRefs
  • Akka streams connectors for IObservables

I know about those, as they are my responsibility. Also somewhere around 1.4-1.5 we want to upgrade to .net core 2.1 / .net standard 2.0. If this will be possible, a native support for DI containers could also happen around then.

Roman Golenok
@shersh
@Horusiath Thanks
Ilchert
@Ilchert
@Horusiath Thanks! so StreamRefs shouldn't have big changes?
Bartosz Sypytkowski
@Horusiath
The protocol itself uses protobuf for serialization (just like any internal akka communication protocols), so this will introduce new dependency in akka.streams package
Lutando Ngqakaza
@Lutando
Thanks @Horusiath you seem to be right, I am using postgresql plugin which uses NewtonSoft I presume