Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Activity
  • 08:33
    vladud commented #5948
  • 06:17
    ismaelhamed commented #5948
  • May 16 18:39
    vladud opened #5948
  • May 16 10:23
    JLSPEC closed #5946
  • May 16 10:23
    JLSPEC commented #5946
  • May 13 08:54
    JLSPEC opened #5946
  • May 12 19:16
    Arkatufus synchronize #5944
  • May 12 19:11
    Arkatufus synchronize #5944
  • May 12 16:13
    Arkatufus synchronize #5944
  • May 12 14:59
    Aaronontheweb commented #5942
  • May 12 13:49
    Arkatufus synchronize #5944
  • May 12 13:47
    Arkatufus synchronize #5944
  • May 12 08:47
    object opened #5945
  • May 11 22:11
    dependabot[bot] labeled #257
  • May 11 22:11
    dependabot[bot] opened #257
  • May 11 22:11

    dependabot[bot] on nuget

    Bump Microsoft.NET.Test.Sdk fro… (compare)

  • May 11 22:08
    Arkatufus synchronize #5944
  • May 11 21:25
    Arkatufus synchronize #5944
  • May 11 19:09
    dependabot[bot] labeled #145
  • May 11 19:09
    dependabot[bot] opened #145
Aaron Stannard
@Aaronontheweb
(which makes sense)
I ran a 200 node cluster with Phobos 2.0.2 this week and pushed 2.1b+ messages through it
I didn't have tracing enabled because it would have affected my bandwidth tests, but with the metrics piece running there wasn't any measurable difference in CPU consumption

I ran a 200 node cluster with Phobos 2.0.2 this week and pushed 2.1b+ messages through it

in the span of about 2 hours

tommaybe
@tommaybe
Thanks, I'll leave a thumbs-up. Good to hear and we'll proceed then!
Aaron Stannard
@Aaronontheweb
so I think that came out to 350k msg/s or so
tommaybe
@tommaybe
Our prod load is ~50k / s so that should be good :-D
Aaron Stannard
@Aaronontheweb
image.png
(that's about half of it)
and here's the issue on the OTel metrics specification repo itself: open-telemetry/opentelemetry-specification#2318
@gerardpeters pushing a new 1.6.1 tag now
apparently AzDo cached our old build pipeline which was using a version of Ubuntu that is out of support
even after I re-ran the job
Aaron Stannard
@Aaronontheweb
so byte rot was the issue there
ok, that's fixed
live now
gerardpeters
@gerardpeters
Awesome! Thx
Aaron Stannard
@Aaronontheweb
RabbitMQ + Akka.Streams backpressure support with reliable delivery to cluster sharded entity actors
TL;DR; how to guarantee your cluster processes things without flooding the system with retries
Aaron Stannard
@Aaronontheweb
ran some large tests with the most recent Akka.NET v1.5 nightly last night, results here: https://twitter.com/Aaronontheweb/status/1517486647088140288
Akka.Cluster.Sharding performs much better with it
Andreas Dirnberger
@Zetanova
hi, does anybody know why there is no keepalive/deadline feature in SourceRef and SinkRef of Akka.Steams ?
Maybe i cannot find it, but its
relatively hard for the consumer of an SourceRef to detect that the remote node is offline
and the pull-messages are going into deathletter
My obvious solution for it, is to add a keepalive message into the stream, but it seams strange that there is nothing inhouse to detect that the stream failed.
Assaf Wodeslavsky
@assafwo_twitter
hi all. is anyone looking for a [somewhat experienced] akka.net developer? also, where is the best place to look for akka.net jobs?
Aaron Stannard
@Aaronontheweb
@assafwo_twitter I'll send you a DM
Aaron Stannard
@Aaronontheweb
ran some more numbers investigating that .NET 6 performance degradation issue: https://github.com/akkadotnet/akka.net/issues/5385#issuecomment-1119566953
Aaron Stannard
@Aaronontheweb
@/all Akka.NET v1.4.38 is now live on nuget! https://twitter.com/AkkaDotNET/status/1522598528945639424 - this PR contains some of the same fixes that are currently in v1.5 but don't involve any breaking changes
Wick
@wickstargazer
Hey guys does anyone know about Atleastoncedelivery? I am using it with Deduplicatedelivery from akka.persistence.extras.
Its working until the ConfirmDelivery in the first class breaks somehow and the message goes into auto deduplicating forever. I suspect somehow the unconfirmed deliveries object inside is broken from memory but no way to prove it
Not using phobos ATM as I am trying to POC the first system. And struggling a bit with actors not being ramped up when more messages coming in. I setup statsd successfully and cluster + lighthouse as well
Would appreciate a ton since I am stuck here for almost a week now and it's the last spot. Am I using it wrong? As the delivery is quiet large in payload and maybe waiting too long?
Let me know anyone can help or need more info
Wick
@wickstargazer
So basically it works fine ATM if I do 200-500 messages. But once it hit 1000+ there will be messages that are not confirmed and keeps auto de duplicating for eternity
Aaron Stannard
@Aaronontheweb
@/all Akka.NET Community Standup tomorrow at 12pm CDT: https://twitter.com/AkkaDotNET/status/1523687906593943553
Aaron Stannard
@Aaronontheweb
@wickstargazer I'll help you out with that
been heads down doing trainings this week
Andreas Dirnberger
@Zetanova
@Aaronontheweb looked now your standup. I want to mention one thing, the ChannelExecutor solve/reduces beside the Idle-CPU problem the heavy-duty/DoS problem too. All other Dispatcher have the intrinsic problem of DoS. When the node gets overwhelmed with messages, like in a Batch-Processing with bad Fad-Out pattern, the Cluster Heartbeat messages get simply delayed and trigger the dissociation
Aaron Stannard
@Aaronontheweb
@Zetanova we don't really have that issue with the DedicatedThreadPool either
but I see your point
Aaron Stannard
@Aaronontheweb
IMHO I'm pretty happy with the ChannelExecutor but we do need to find a way to improve its throughput
I haven't looked too closely at how to do that yet, do you have any ideas @Zetanova ?
Drew
@to11mtm

I need to try channelexecutor again on Akka.Persistence.Linq2Db... I tried it once early on and couldn't get it to work =/
OTOH, Every ADO Provider but SQLite is async AFAIK so it's not a big deal at present.

The main thing that would be nice IMO, and maybe there is a way to do this and it's just not doc'd, It would be nice to do something along the lines of, 'I want a dedicated channel just for this thing'.

Drew
@to11mtm

@Aaronontheweb One thing to maybe look into, https://github.com/Cysharp/ValueTaskSupplement/blob/master/src/ValueTaskSupplement/ValueTaskEx.WhenAny.cs (Or it's non-generic version, you get the idea.)

Specifically, around https://github.com/akkadotnet/akka.net/blob/189380020609d7dec7ae2c90910dde1cd3236f98/src/core/Akka/Dispatch/ChannelSchedulerExtension.cs#L139-L177

You may need to do some refactoring to use it effectively, BUT there's some side benefits too, because Task.WhenAny AFAIK will always allocate a new array anyway, and this uses ValueTaskSource for pooling IIRC

On a related note, Task.WhenAlldoes the same thing, that one (on the coworkers) likely winds up being a bigger alloc, but would be harder to elide I would guess, short of reflection magic (i.e. calling InternalWhenAll to elide the defensive copy.

2 replies
Drew
@to11mtm
Also note it tells you which task finished first, which may have some interesting used case somewhere, IDK
Wick
@wickstargazer
@Aaronontheweb i got to the point where its throwing this error Error while creating actor instance of type FlowAccount.Business.API.Domains.Actors.BusinessDocumentActor with 0 args
this is in cluster router
i am using the var props1 = DependencyResolver.For(BusinessSystemActors.ActorSystem).Props<BusinessDocumentActor>();
BusinessSystemActors.BusinessDocumentRouter = BusinessSystemActors.ActorSystem.ActorOf(props1.WithRouter(FromConfig.Instance), "businessDocument");
and actorselection