Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Activity
  • Feb 05 23:00
    dependabot[bot] synchronize #6351
  • Feb 05 23:00

    dependabot[bot] on nuget

    Bump BenchmarkDotNet from 0.13.… (compare)

  • Feb 05 23:00
    dependabot[bot] edited #6351
  • Feb 05 23:00
    dependabot[bot] synchronize #6240
  • Feb 05 23:00
    dependabot[bot] synchronize #6285
  • Feb 05 23:00
    dependabot[bot] synchronize #6241
  • Feb 05 23:00

    dependabot[bot] on nuget

    Bump Microsoft.Extensions.Hosti… (compare)

  • Feb 05 23:00
    dependabot[bot] synchronize #6237
  • Feb 05 23:00

    dependabot[bot] on nuget

    Bump MicrosoftLibVersion from 5… (compare)

  • Feb 05 23:00
    dependabot[bot] synchronize #6385
  • Feb 05 23:00

    dependabot[bot] on nuget

    Bump System.Configuration.Confi… (compare)

  • Feb 05 23:00
    dependabot[bot] edited #6240
  • Feb 05 23:00

    dependabot[bot] on nuget

    Bump Microsoft.Extensions.Hosti… (compare)

  • Feb 05 23:00

    dependabot[bot] on nuget

    Bump LightningDB from 0.14.1 to… (compare)

  • Feb 05 23:00
    dependabot[bot] edited #6285
  • Feb 05 23:00
    dependabot[bot] edited #6241
  • Feb 05 23:00
    dependabot[bot] synchronize #6235
  • Feb 05 23:00
    dependabot[bot] edited #6385
  • Feb 05 23:00
    dependabot[bot] edited #6237
  • Feb 05 23:00
    dependabot[bot] synchronize #6020
NagornovAlex
@NagornovAlex
seems its not completing properly
await CoordinatedShutdown.Get(_actorSystem).Run(CoordinatedShutdown.ClrExitReason.Instance);
Ravi
@ravividap
Hi Guys, I was trying to build Akka.net on my local, facing some issues. https://getakka.net/contributing/build-process.html this page looks broken. Anyone got updated link which can help me build locally?
Aaron Stannard
@Aaronontheweb
@ravividap boy it looks like that link is indeed broken
weird
wonder if that's an old page that we moved
https://getakka.net/community/contributing/build-process.html <-- this is the new home for that page
I'll go add a redirect to fix that link
really sorry for the inconvenience @ravividap
Aaron Stannard
@Aaronontheweb
weird - we do have a redirect for that....
I wonder if our DocFx deployment system is excluding those now
Aaron Stannard
@Aaronontheweb
akkadotnet/akka.net#6075 <-- that should fix it
Ravi
@ravividap
@Aaronontheweb thanks
Shawn de Wet
@shawndewet_twitter
Alpakka on nuget is way behind in versions compared to the Alpakka project on github. Any recommendations as to how to go about referencing latest Alpakka (azure storage queue stream) in my project? Any plans to update Nuget?
2 replies
Shawn de Wet
@shawndewet_twitter
Another question re the Azure storage queue stream...I have it hooked up in my Actor's PreStart override. Should I not be disposing it when the actor is terminated? I'm expecting to have to do something like myQueueStream.Dispose() in my Actor's PostStop override?
1 reply
Shawn de Wet
@shawndewet_twitter
In this sample: https://github.com/petabridge/akkadotnet-code-samples/blob/master/src/clustering/sharding-sqlserver/SqlSharding.Host/Program.cs, what is the value of registering the shard region as .WithShardRegion<ProductMarker>(...)? Why not just register it with the specific actor type (as opposed to ProductMarker), like so: .WithShardRegion<ProductTotalsActor>().... I don't understand the benefit that ProductMarker provides? Would my Actor System be worse-off if I registered it with .WithShardRegion<ProductTotalsActor> instead?
Shawn de Wet
@shawndewet_twitter

I have an actor configured to consume an Azure Storage Queue Stream like so:

protected override void PreStart()
{
            QueueSource.Create(Queue)
                .RunWith(Sink.ActorRef<QueueMessage>(Self, Done.Instance), Context.Materializer());
}

But I'm finding that the same message on the storage queue keeps being returned over and over again. Is there something I should be doing to cause a message to be removed from the Storage Queue?

1 reply
A TCS developer
@tcs-devel
Hi, maybe a newbie question, but anyways - we experience an issue with our cluster setup caused by a partially reachable node. Our sample setup consists of 3 hosts. Seed nodes running on host 1 & 2 among some other nodes. Host 3 is running another cluster node.
SBR is set to keep-majority considering only the seed nodes.
When there is a network issue between host 1 & 3 (causing the nodes on host 1&3 to be partially reachable), the cluster actually "dies" and also nodes on host 1 are downed.
Is there a way to keep nodes on host 1 & 2 up and only downing host 3? What is the best practice for such scenarios?
Arjun Dhawan
@arjun-1
Hey everyone! Today Akka (on the JVM) announced they will be changing their licensing model: https://www.lightbend.com/blog/why-we-are-changing-the-license-for-akka. Since akka.net was a port from Akka on the JVM, does this change have any kind of effect on akka.net?
Ismael Hamed
@ismaelhamed
@arjun-1 That's a good question, you should ask it on Discord. In the short term, it's not going to be a problem because Akka.NET still has some catch-up to do (just porting Akka Typed and newer modules could take quite some time). In the long term, that might be a different story.
ShalokShalom
@ShalokShalom
@arjun-1 No
Arunkumar
@arunak18
Actor Cluster Slowness when Large size messages produced by a ShardRegion proxy.
We implemented Akka clustering with cluster sharding for a use case.
When we doing load testing for that, We created 1000 entity actors in a Node by cluster Sharding.(Cluster Node)
And we sends messages to that entity actors from a Proxy Node (Shard Region Proxy on other Node).
I explained in details on this question https://stackoverflow.com/questions/73795971/actor-cluster-slowness-when-large-size-messages-produced-by-a-shardregion-proxy Your valuable comments will help me so much
untoldbyte
@untoldbyte
Hey all, I qq here. I am designing a desktop app(sort of p2p system). For using a client machine to connect with other client machines we need to have port forwarding done on these machines. Any idea is the remoting module of akka.net does that automatically OR this is a manul setting users need to do manually on their routers
Brah McDude
@brah-mcdude
@Aaronontheweb (Aaron Stannard): I noticed that for the DI examples (e.g. ActorServiceProviderPropsWithScopesSpecs, ServiceProviderSetupSpecs), you used interface Xunit.IClassFixture. However, the IClassFixture's docs claim that this interface is: "Used to... indicate a test which has per-test-class fixture data". In other words, it is for sharing resources across multiple tests of a single test-class. In my case, I don't want to share the DI object across multiple tests. I need to create a fresh DI object for each test. How should I do that? Shouldn't your tests also avoid IClassFixture?
Frank Hommers
@frankhommers
@Aaronontheweb we would like to add more sinks to the lighthouse logging. I am wondering if Serilog would be something you are open to add to the lighthouse container? Or should we fork it and do it ourselves... What do you think? I think it could be benificial to others as well....
Frank Hommers
@frankhommers
Also moving to Discord ;-) CU
Wick
@wickstargazer
hello guys
i have a code for stream like so
var transaction = Elastic.Apm.Agent.Tracer.StartTransaction("AuditNotificationActor.<StartIndexStreamMessage>", ApiConstants.TypeRequest);
                try
                {
                    if (_queue == null)
                    {
                        ActorMaterializer materializer = AuditSystemActors.Materializer;
                        var queueSink = Sink.Queue<IEnumerable<ESDocument>>();
                        var batchSink = Source.Queue<ESDocument>(100000, OverflowStrategy.Backpressure);
                        var flow = Flow.Create<ESDocument>().GroupedWithin(5000, TimeSpan.FromSeconds(120)).Select(s =>
                        {
                            AuditSystemActors.AuditNotificationRouter.Tell(s);
                            return s;
                        });
                        _queue = batchSink.Via(flow).RecoverWithRetries(attempts: 1, partialFunc: exception =>
                        {
                            Elastic.Apm.Agent.Tracer.CurrentTransaction?.CaptureException(exception);
                            return null;
                        }).To(queueSink).Run(materializer);
                        await _queue.WatchCompletionAsync();
                    }
                }
                catch (Exception ex)
                {
                    Elastic.Apm.Agent.Tracer.CurrentTransaction?.CaptureException(ex);
                }
                finally
                {
                    transaction?.End();
                }
this will run for a while, and then suddenly stops and not pull the next set to process.
i have no clue what i am doing wrong :(
Wick
@wickstargazer
I tried moving it into actor and with await it don't get triggered at all
@Aaronontheweb would be awesome if can get some guidance to keep the stream running more than 20 mins :)
Aaron Stannard
@Aaronontheweb
@wickstargazer we're on Discord now https://discord.gg/GSCfPwhbWP
5 replies
I'd look at whether or not you got a completion first
looks like that could be the issue
A TCS developer
@tcs-devel
A quick question regarding sharded / event sourced actors. We have an existing code base where some sharded and event sourced actors create child actors and pass their reference when creating the children. The child then messages the parent using "parent.Tell" instead of encapsulating the message inside an envelope and sending it via the shard region actor.
I am now wondering if this could lead to some side effects (like dead letters, ...) when e.g. actors are passivated as I assume that the messages are not buffered and the actor is not reincarnated in that case?
ShalokShalom
@ShalokShalom
Is it possible to distribute calculations for Akka.NET also onto the GPUs?
Christo Bezuidenhout
@bezchristo
I'm using Hyperion for snapshot serialization. I need to add new properties to my snapshot objects. Just adding them breaks the deserialization. What would be the best way to get new properties added without deserialization giving issues?
ShalokShalom
@ShalokShalom
we're on Discord now https://discord.gg/GSCfPwhbWP
Andres Gutierrez
@andresgutierrez
hello, I'm trying to find an example of ReceiveAsync with f#, can you please point me to one?
Onur Gumus
@OnurGumus
@ShalokShalom I think so, akka.net can call the code that runs on GPU. But you can't run actors in GPU
@bezchristo hyperion should be used for messages on the wires, not for persistence as it isn't as versioning friendly
ShalokShalom
@ShalokShalom
ok, thanks
Brah McDude
@brah-mcdude
what should i do if i don't have a phone number? i cannot use discord!!! i need to keep my anonymity. where can i ask questions? can we use the "discussions" tab in github?
1 reply
Thomas Stegemann
@beachwalker
is there any documentation how to configure Hyperion (or any other) using the new programmatic aproach of Akka.Hosting?
I tried with .WithCustomSerializer("hyperion", new List<Type>() { typeof(System.Object) }, system => new HyperionSerializer(system, HyperionSerializerSettings.Default))
Thomas Stegemann
@beachwalker
Intersting thing is: It looks like if it is set when asking: context.GetLogger().Info(context.System.Serialization.FindSerializerForType(typeof(Object)).ToString()); hyperion is the result, however it is not listed anywhere when printing the configuration during startup.
So it seems to me the connection between new programmatic aproach and printout is broken or programmatic setup does not seem to work (in the way I'm trying it)
I think, I post this as a bug for now.
Maybe others run into this issue as well.