Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Activity
  • 05:55
    Lutando commented #4344
  • Apr 02 17:23
    huzaifak commented #4303
  • Apr 02 17:23
    huzaifak closed #4303
  • Apr 02 02:13
    ShawnYun commented #4366
  • Apr 01 17:18
    huzaifak commented #4303
  • Apr 01 14:30
    Aaronontheweb commented #4366
  • Apr 01 14:29
    Aaronontheweb closed #4360
  • Apr 01 14:29
    Aaronontheweb commented #4360
  • Apr 01 06:43

    dependabot-preview[bot] on nuget

    (compare)

  • Apr 01 06:43
    dependabot-preview[bot] closed #151
  • Apr 01 06:43
    dependabot-preview[bot] commented #151
  • Apr 01 06:43
    dependabot-preview[bot] labeled #152
  • Apr 01 06:43
    dependabot-preview[bot] opened #152
  • Apr 01 06:43

    dependabot-preview[bot] on nuget

    Bump AkkaVersion from 1.4.1 to … (compare)

  • Apr 01 06:43

    dependabot-preview[bot] on nuget

    (compare)

  • Apr 01 06:43
    dependabot-preview[bot] closed #125
  • Apr 01 06:43
    dependabot-preview[bot] commented #125
  • Apr 01 06:43
    dependabot-preview[bot] labeled #127
  • Apr 01 06:43
    dependabot-preview[bot] opened #127
  • Apr 01 06:43

    dependabot-preview[bot] on nuget

    Bump AkkaVersion from 1.4.2 to … (compare)

iosifa
@iosifa
@ben-foster-cko from websocket source
I want to backpressure that
ben-foster-cko
@ben-foster-cko
are you in control of the flow of messages from source or is this coming from a client?
MarcDHall
@MarcDHall
wait can you drop messages?
iosifa
@iosifa
@MarcDHall yes the oldest ones..i want just to keep latest
MarcDHall
@MarcDHall
aaah
right
so it is a custom mailbox?
you just have a mailbox that throws messages away if it already contains 1
iosifa
@iosifa
yes
MarcDHall
@MarcDHall
a custom mailbox can do that rightr?
its debounce?
i think
iosifa
@iosifa
according to the docs yes but i don't seem to make it work
MarcDHall
@MarcDHall
right
iosifa
@iosifa
maybe some1 has a link/doc/w.e else to share
@snekbaev that is one ideea indeed I just wanted to know if there is a more elegant to do it or a out-of-the-box solution already in akka.net
MarcDHall
@MarcDHall
reading the api it sounds like that is exactly what a BoundedMailbox is
Shukhrat Nekbaev
@snekbaev
will boundedmailbox replace existing queued message with the latest one? if not, he won't be processing the latest
MarcDHall
@MarcDHall
yeah good point
Shukhrat Nekbaev
@snekbaev
also another option if you have a shared service, producer just keeps on setting a value to process and consumer on timer will pull from it, you don't need to send any messages except self schedulled "process item"
MarcDHall
@MarcDHall
get the source code for BoundedMailbox and copy it
it sounds like 1 line difference
Mick Hodges
@mickhodges_twitter
Hi,
I'm trying to use Akka.TestKit.NUnit but I'm having dependency problems.
I've added Akka.TestKit.NUnit V1.3.8 and I have Akka V1.3.8.1
When I inherit from TestKit I get the following issue:
The type 'ActorSystem' is defined in an assembly that is not referenced. You must add a reference to assembly 'Akka, Version=1.3.8.0
Bu the NuGet package for the TestKit says it supports Akka >= 1.3.8, is this wrong?
Any thoughts please?
Arjen Smits
@Danthar
yes. its a nuget thing
last released version targets 1.3.8
there hasn't been much / any demand for the nunit integration. Haven't looked at it for over 2 years either.
Needs some CI work. And update PR's are welcome.
chipdice
@chipdice
How can I recover from a persistence recovery failure? Both snapshot or journal.
Anton Sizov
@AntonSizov
Hi, know anybody whether akka supports ios aot or not? I had experienced null ref on start actor system on ios device. Is there sense to try to fix this issue or I need to replace akka.net within some other solution?
akka 1.3.17
[ERROR][3/31/2020 12:27:12 PM][Thread 0009][akka://gsm-system/system/log1-NLogLogger] Attempting to call method 'System.Linq.Expressions.Interpreter.LightLambda::MakeRun6<System.Object,System.Action`1[[Akka.Event.Error, Akka, Version=1.3.17.0, Culture=neutral, PublicKeyToken=null]],System.Action`1[[Akka.Event.Warning, Akka, Version=1.3.17.0, Culture=neutral, PublicKeyToken=null]],System.Action`1[[Akka.Event.Info, Akka, Version=1.3.17.0, Culture=neutral, PublicKeyToken=null]],System.Action`1[[Akka.Event.Debug, Akka, Version=1.3.17.0, Culture=neutral, PublicKeyToken=null]],System.Action`1[[Akka.Event.InitializeLogger, Akka, Version=1.3.17.0, Culture=neutral, PublicKeyToken=null]],System.Boolean>' for which no ahead of time (AOT) code was generated.
Aaron Stannard
@Aaronontheweb
Akka.NET v1.4.4 is now live on NuGet
you can see the full release notes here: https://github.com/akkadotnet/akka.net/releases/tag/1.4.4
huzaifak
@huzaifak
is there a way to trigger a actor system restart from within the actor system. i would like to have a recurring check for the consistence of the system and if those check fails i would like to trigger a restart of the whole actor system
how can this be done, if at all?
Aaron Stannard
@Aaronontheweb
@huzaifak you'd need to have someone await on the ActorSystem.WhenTerminated task
and when that task completes
recreate the ActorSystem again
along with all of the top-level actors
huzaifak
@huzaifak
ok
thanks
huzaifak
@huzaifak
a followup question can i trigger a actor system shutdown from within the system say from a Receive<> handler and not wait for it as it could cause a deadlock if i wait
huzaifak
@huzaifak

upgraded to akka 1.4.4 and started getting the below error with ddata
[System.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation. ---> System.InvalidCastException: Unable to cast object of type 'DeltaGroup[System.String]' to type 'Akka.DistributedData.ORSet1[System.String]'. at Akka.DistributedData.Serialization.ReplicatedDataSerializer.<>c__DisplayClass95_02.<GenericORDictionaryDeltaGroupFromProto>gMapEntryFromProto|0(MapEntry entry)
at System.Linq.Enumerable.<>c
DisplayClass7_03.<CombineSelectors>b__0(TSource x) at System.Linq.Enumerable.WhereSelectEnumerableIterator2.MoveNext()
at System.Collections.Immutable.ImmutableDictionary2.AddRange(IEnumerable1 items, MutationInput origin, KeyCollisionBehavior collisionBehavior)
at System.Collections.Immutable.ImmutableDictionary2.AddRange(IEnumerable1 pairs, Boolean avoidToHashMap)
at System.Collections.Immutable.ImmutableDictionary.ToImmutableDictionaryTSource,TKey,TValue
at Akka.DistributedData.Serialization.ReplicatedDataSerializer.GenericORDictionaryDeltaGroupFromProtoTKey,TValue
--- End of inner exception stack trace ---
at System.RuntimeMethodHandle.InvokeMethod(Object target, Object[] arguments, Signature sig, Boolean constructor)
at System.Reflection.RuntimeMethodInfo.UnsafeInvokeInternal(Object obj, Object[] parameters, Object[] arguments)
at System.Reflection.RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture)
at Akka.DistributedData.Serialization.ReplicatedDataSerializer.ORDictionaryDeltaGroupFromProto(ORMapDeltaGroup deltaGroup)
at Akka.DistributedData.Serialization.ReplicatedDataSerializer.ORMultiDictionaryDeltaFromBinary(Byte[] bytes)
at Akka.Serialization.Serialization.Deserialize(Byte[] bytes, Int32 serializerId, String manifest)
at Akka.DistributedData.Serialization.ReplicatorMessageSerializer.DataEnvelopeFromProto(DataEnvelope proto)
at Akka.DistributedData.Serialization.ReplicatorMessageSerializer.DeltaPropagationFromBinary(Byte[] bytes)
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)
at Akka.Remote.EndpointReader.<Reading>b__11_0(InboundPayload inbound)
at lambda_method(Closure , Object , Action1 , Action1 , Action1 ) at Akka.Tools.MatchHandler.PartialHandlerArgumentsCapture4.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)


[System.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation. ---> System.InvalidCastException: Unable to cast object of type 'AddDeltaOperation[Cornerstone.Ouroboros.ICheckpoint]' to type 'Akka.DistributedData.ORSet1[Cornerstone.Ouroboros.ICheckpoint]'. at Akka.DistributedData.Serialization.ReplicatedDataSerializer.<>c__DisplayClass95_02.<GenericORDictionaryDeltaGroupFromProto>gMapEntryFromProto|0(MapEntry entry)
at System.Linq.Enumerable.<>c
DisplayClass7_03.<CombineSelectors>b__0(TSource x) at System.Linq.Enumerable.WhereSelectEnumerableIterator2.MoveNext()
at System.Collections.Immutable.ImmutableDictionary2.AddRange(IEnumerable1 items, MutationInput origin, KeyCollisionBehavior collisi

@Aaronontheweb could you please take a look is it a bug?
Greatsamps
@Greatsamps
Hey Gang. Is there any way of managing thread concurrency within an actor system on an individual process? We have an application requirement that would see many actors (10000+) on a particular process, all receiving messages on a regular basis. Most of these messages, in turn, have a fair amount of heavy lifting in terms of database IO. We have the application working well on a non-akka implementation, but we limit the number of threads processing these messages to the number of cores to prevent thread contention and poor performance. Our concern of moving this to an actor model is that we will have 10000 tasks all trying to get a bit of the CPU and as a result nothing happens, we would like to be able have at most x messages processed at one time
is any of this possible?
Shukhrat Nekbaev
@snekbaev
@Greatsamps the aforementioned 10k actors - there's probably no need for each of them to go to the db. What you can do is create a dedicated root level actor, let's call it DbFetchOrchestrationActor, inside of which you create, for example, a round robin pool of ActualDbFetcherActor (please also check other pool options and dynamic resize settings). Then 10k actors will each send message to DbFetchOrchestrationActor which in turn will forward/send those to the child pool and supervise it. Once data is fetched it is sent to one of those 10k actors etc. This way you will be in control how much pressure you would like to put on db
John Cullen
@john-cullen
@Greatsamps we used the ThreadPoolDispatcher to schedule a load of actors that each need to do some slow IO so that we didn't starve the other bits of the system of threads
Greatsamps
@Greatsamps
@snekbaev thanks, we have considered this, and we may move to that later down the line, but for now we want to minimise the large scale changes
@john-cullen thanks, i have had a look at this, and i think this could for sure help